> FULL_SURFACE
Everything we cover, and how far each piece has got.
SSX360 sells independent signed assessments across logistics, defense, finance and climate. Matrix Scroll is the open protocol underneath, and it signs build steps, infrastructure changes, database migrations, API calls and contract deployments as well as Git commits. This page lists both surfaces with a maturity label on every line, because an audit firm that overstates its own tooling has nothing left to sell.
The protocol covers five action types beyond Git, verified offline with no account and no key, and the assessment practice covers four sectors. Naming a scheme anywhere on this page is an evidence mapping, not a certification claim.
6
signed action types
Git commit plus CI step, infrastructure, migration, API call and contract deploy
14
MCP verbs
Six read-only, five writing local artifacts, three that can reach ssx360.com
4
sectors assessed
Logistics, defense, finance and climate
4
engagements
Assessment, report, pilot and retainer
Which side of the line each column sits on
Selling software to an organisation you assess destroys the independence that makes the assessment worth reading. The two columns below never merge, and no engagement includes a licence, a subscription or a seat.
Matrix Scroll
The open protocol. Free permanently.
- Apache-2.0 on PyPI and on GitHub at SSX360/matrixscroll, installable by anyone with no account.
- Every verification path in the package runs offline. Signing, range checks and export need no key from us.
- Three MCP verbs can reach ssx360.com when SSX360_API_KEY is set. Two of those three have an offline source you can use instead.
- It is never monetised, never gated behind an engagement, and never sold to a client we assess.
SSX360
The assessment practice. This is the revenue.
- Four engagements: Stability Assessment, Vulnerability & Audit Report, Embedded Intelligence Pilot, Advisory Retainer.
- The deliverable is a signed document and an evidence package, both verifiable without calling us.
- Fees are quoted on the introductory call once the sectors and systems in scope are visible.
- We hold no keys for a client's systems and operate no root of trust on their behalf.
Risk prevention and security for you and your company's peace of mind.
Prove who authorized a change to your codebase
A commit envelope binds the actor type (human, agent or ci), the producing tool and an optional path scope to one commit SHA, then signs the canonical bytes with Ed25519 per RFC 8032. Verification re-runs the same byte contract with no network call.
Signed commit envelope
ShippingRecords actor type, tool, optional agent scope and the commit tree against a commit SHA, then signs the canonical bytes with Ed25519.
Protocolmatrixscroll/git.py, schemas/commit-envelope.v1.json
Offline verification of one commit
ShippingRe-checks the signature, the schema and the declared commit SHA from a local file with no account, no API key and no network.
Protocolmatrixscroll/gate.py, matrixscroll verify
Scroll Gate over a pull request range
ShippingWalks every commit between two Git refs and fails the range when an envelope is missing, unsigned, or outside the trusted-key and actor policy.
Toolingmatrixscroll/gate.py verify_envelope_range
Git notes as the CI transport
ShippingWrites each signed envelope into refs/notes/matrixscroll so a runner can read provenance from the clone. Pushing that ref to the remote stays a separate command you run.
Protocolmatrixscroll/gate.py publish_envelopes_to_notes
Pull request verification as a GitHub Action
ShippingA composite action that installs matrixscroll 0.6.2, fetches the notes ref and runs the range check inside your workflow with no API key.
ToolingSSX360/matrixscroll .github/actions/verify/action.yml
SLSA Source Track mapping
ShippingMaps commit envelopes and the protected-branch gate to Source Track L1 and L2 evidence, and records in writing that L3 and certification are outside what the protocol reaches.
Protocoldocs/SLSA_SOURCE_TRACK_MAPPING.md
Prove what your pipeline, infrastructure, database and contracts did
One verb, sign_action, produces a matrixscroll.action_envelope.v1 for five action types that have nothing to do with Git. Each type declares required payload fields and the signer rejects a payload that omits them, so a signed action is a checkable record rather than a free-text note.
Build and CI step provenance
ShippingSigns a ci_step envelope carrying the pipeline, the step name and the run id, so a release can be traced to the run that produced it.
Protocolmatrixscroll/provenance/actions.py, tests/test_provenance.py
Infrastructure change provenance
ShippingSigns an iac_change envelope carrying the tool (Terraform, Pulumi or another), the resource type and the resource id that changed.
Protocolmatrixscroll/provenance/actions.py _REQUIRED_FIELDS
Database migration provenance
ShippingSigns a db_migration envelope carrying the migration id, the database and the direction, so an up or a rollback both leave a record.
Protocolmatrixscroll/provenance/actions.py _REQUIRED_FIELDS
API call provenance
ShippingSigns an api_call envelope carrying the method, the endpoint and the status code returned, for calls an agent made on your behalf.
Protocolmatrixscroll/provenance/actions.py _REQUIRED_FIELDS
Contract deployment provenance
ShippingSigns a contract_deploy envelope carrying the chain, the contract address and the transaction hash of the deployment.
Protocolmatrixscroll/provenance/actions.py _REQUIRED_FIELDS
Parent action links
ShippingCarries a parent_actions list on an envelope so a deployment can point back at the CI step and the commit it came from.
Protocolschemas/action-envelope.v1.json
Hand an assessor something they can check without calling us
Export writes files an assessor opens on their own machine. The bundle is plain JSON envelopes plus an index. The GUAC serialization is in-toto statements as JSONL, and the evidence pack adds a framework tag on top of that bundle. Nothing in the offline path phones home.
Envelope bundle export
ShippingCopies every envelope for a commit range into one directory with an index.json that also lists the commits holding no envelope.
Toolingmatrixscroll/gate.py export_envelope_bundle
GUAC ingest export
ShippingSerializes verified envelopes as in-toto statements in JSONL so a supply-chain graph can ingest them alongside build attestations.
Toolingmatrixscroll/guac_export.py
Evidence pack export
In developmentWrites a JSON wrapper around an exported envelope bundle and tags it with one framework mapping. Checked against the 0.6.2 sdist, that wrapper carries no signature block and declares a schema the package emits nowhere else, so it sits a step below the envelope bundle export it wraps.
Toolingmatrixscroll/ssx360_cli.py:231-244 in the 0.6.2 sdist
Trusted key and actor policy
ShippingFilters a verification run by signing mode, a trusted public-key list, allowed schemas, actor allow and deny lists, delegation requirements and agent scope.
Protocolmatrixscroll/policy.py VerifyPolicy
Machine-checked gate specification
ShippingModel-checks the gate, the canonical byte encoding and the dual-signature overlay as TLA+ specifications on every run of the formal-verify workflow.
Protocolformal/tla/ScrollGate.tla, .github/workflows/formal-verify.yml
Transparency log publishing
In developmentWrites a Rekor-shaped record locally today and shells out to rekor-cli when it is installed. The module still describes itself as a stub and no proof verification runs on our side.
Toolingmatrixscroll/rekor_publish.py
Know when an agent's tools change under you
An MCP server can add a tool or rewrite an input schema after you approved it. Scanning fingerprints the surface at install time, signing pins that fingerprint, and a later scan diffs against the baseline. The same signing path covers a browser-agent run log.
MCP tool surface fingerprint
ShippingHashes each tool name, its description and a canonical hash of its input schema, then combines them into one surface hash for the server.
Toolingmatrixscroll/mcp_trust.py scan_mcp_server
Signed MCP manifest
ShippingEd25519-signs the fingerprint as an ssx360.mcp-manifest.v1 document you can commit and verify later offline.
Toolingschemas/ssx360.mcp-manifest.v1.json
Tool surface drift detection
ShippingDiffs a fresh scan against the signed baseline and reports added tools, removed tools and changed descriptions or input schemas.
Toolingmatrixscroll/mcp_trust.py diff_mcp_manifests
Browser agent run trace signing
ShippingHashes the bytes of a JSONL run log, records the run id and step count, and emits a matrixscroll.agent_trace.v1 envelope that flags drift when the log is edited afterwards.
Toolingmatrixscroll/agent_trace.py
Matrix Scroll MCP server, fourteen verbs
ShippingExposes the protocol to an assistant over stdio: six read-only verbs, five that write local artifacts, and three that can reach ssx360.com when SSX360_API_KEY is set.
Toolingmatrixscroll/mcp.py
Decide where the signing key lives
The default signer is software: an Ed25519 key in ~/.matrixscroll that never leaves the machine. Everything past that is a prototype or a preview, and the labels below say which.
Software signer, emulated mode
ShippingGenerates and stores an Ed25519 key locally and signs canonical manifest bytes through the cryptography package. This is the default and the supported evaluation path.
Protocolmatrixscroll/providers/emulated.py, matrixscroll/crypto_backend.py
Post-quantum overlay
ShippingAttaches an ML-DSA or SLH-DSA signature alongside the Ed25519 one through liboqs, covering ML-DSA-44, 65 and 87 and SLH-DSA-SHA2-128s and 128f. Read the scope limit below before relying on it.
Protocolmatrixscroll/pqc.py, matrixscroll[pqc] extra
SE050 secure element signing
Bench prototypeAn NXP SE050 signs the same canonical bytes over a USB serial bridge with the private key held inside the element. Accepted on contractor firmware, on a bench, with the live path on the display bring-up image fail-closed.
Hardwaredocs/hardware-provider.md, matrixscroll/providers/hardware.py
Pico 2 W and GMT130 display bring-up
Bench prototypeA Raspberry Pi Pico 2 W with a GMT130 ST7789 display, locked on 2026-07-21 as a bench instrument for showing signing state. There is no purchase path and no device to order.
Hardwaredocs/operations/HARDWARE-M1-SE050-ACCEPTANCE.md
YubiKey PIV signer
In developmentSits behind an explicit experimental environment flag and signs with ECDSA over PIV, which does not match the Ed25519 byte contract the verifier enforces.
Hardwarematrixscroll/providers/yubikey.py
TPM signer
In developmentProbes for a TPM, then signs with a file-backed Ed25519 key regardless. Nothing is sealed to the TPM yet.
Hardwarematrixscroll/providers/tpm.py
Buy an independent read on your exposure
Four engagements, four sectors, one deliverable shape: a signed document with findings ranked by what blocks a decision and an evidence package that verifies offline. Durations are public. Fees are quoted on the call once scope is visible.
Stability Assessment
ShippingA sector-mapped assessment of exposure across logistics, defense, finance and climate, delivered over two to three weeks as one signed document. This is the flagship.
Servicelib/services.ts ENGAGEMENTS
Vulnerability & Audit Report
ShippingA focused five to seven day audit of one system, site or counterparty, with the gaps we can prove ranked by decision urgency.
Servicelib/services.ts ENGAGEMENTS
Embedded Intelligence Pilot
ShippingSix weeks embedded alongside your operation with signed weekly findings. Three slots a quarter, chosen for depth of exposure.
Servicelib/services.ts ENGAGEMENTS
Advisory Retainer
ShippingMonthly monitoring across your nominated sectors with quarterly re-assessment. Available once an assessment has completed.
Servicelib/services.ts ENGAGEMENTS
Four-sector signal coverage
ShippingLogistics corridors, defense open-source reporting, financial counterparties and climate stress indicators are the four sectors every engagement draws on.
Servicelib/claims.ts SECTORS
Read the research before you buy anything
The Intelligence Log is free and stays free. Two standing data products are named on /research and both are still being built, so the honest count today is one published report.
Intelligence Log
ShippingBiweekly field notes across the four sectors on a permanent archive URL. One report is published as of August 2026, so weigh the archive at that size.
Researchlib/research-reports.ts, /research
Sector risk index
In developmentA recurring independent score of logistics, defense, finance and climate exposure signals, with headline scores intended to stay public. No issue has been published.
Researchlib/claims.ts RESEARCH_PIPELINE
Incident registry
In developmentA cross-sector count of disruption incidents tagged by root cause. Scoped and named, with no entries published yet.
Researchlib/claims.ts RESEARCH_PIPELINE
Install the protocol
pip install "matrixscroll==0.6.2"Pin the version. 0.6.2 is the release on PyPI and the newest tag in SSX360/matrixscroll, and the verify action defaults to the same number.
What this surface does not cover
A capability page with no edges reads as a brochure. Each line below is a standing decision recorded in docs/DOCTRINE.md, and none of them sits in a backlog waiting for demand.
Identity, access control and secrets
Matrix Scroll records a declared actor type. It does not authenticate the human behind it, issue credentials, or manage keys for your systems.
Agent runtimes, sandboxing and prompt filtering
The protocol signs what an agent already did. It does not run the agent, contain it, or inspect its prompts.
Version control and forge hosting
We ride on Git, GitHub, GitLab, Forgejo and Gitea. Building any of them is on the kill list in docs/DOCTRINE.md.
Certification under any scheme
We produce evidence that a scheme's own accredited assessors can read. Certification is theirs to grant.
A monitoring platform, a subscription or seats
The one monthly software subscription this company ever sold was killed in 2026 for conflicting with the assessment practice, and nothing replaced it.
A hardware product
The SE050 and Pico 2 W work is a bench instrument. There is no device to buy and no shipping date to quote.
Honest limits on the list above
Where we name a scheme such as PCI DSS, SOC 2 or the EU AI Act, we are describing evidence mapping, not a certification claim. Certification under any scheme named here comes from that scheme's own accredited assessors.
The full scope of what an SSX360 assessment covers is set out in our legal terms. Durations, audiences and deliverables for the four engagements sit on the engagements page.
Request a call- 01
The append-only evidence record described elsewhere on this site is a signed envelope per action plus a Scroll Gate range check that names the commits holding no envelope. There is no Merkle tree, no inclusion proof and no consistency proof in the package, and this page will not describe one until the code exists.
- 02
Post-quantum signing implements the ML-DSA and SLH-DSA algorithms specified in FIPS 204 and FIPS 205, through liboqs. That is an algorithm implementation, not a CMVP-validated cryptographic module, and we will not describe it as FIPS validated. liboqs itself states that it should not be relied on in production or to protect sensitive data, which is a limit we repeat rather than bury.
- 03
SE050 signing and the Pico 2 W display bring-up are bench prototypes and remain a preview. Live SE050 signing on the display bring-up image is fail-closed pending an NXP Plug and Trust restore, so treat any hardware line above as an evaluation instrument.
- 04
The evidence pack sample this site published was withdrawn on 2026-08-05, and no rebuild is planned. It signed its body in key-insertion order while SPEC.md section 4 requires sorted keys and ASCII escaping. Its verify instructions named a script that had already been deleted, and its payload carried the plan and entitlement fields of the killed subscription. Nothing in matrixscroll 0.6.2 emits that document shape, and a sample written by hand proves nothing.
- 05
The evidence pack wrapper that the ledger export command writes is unsigned. Checked against the 0.6.2 sdist, the file carries ok, schema, source, bundle, exported_at, framework, framework_mapping and disclaimer, and a signature block is not among them. It declares the schema id ssx360.evidence-pack.v1, while the schema file in that same sdist defines matrixscroll.evidence_pack.v1. Commit envelopes inside the bundle carry Ed25519 signatures over canonical bytes. The wrapper that lists them adds no signature of its own. The hosted path attaches three framework keys to the server response after it arrives, which changes the canonical bytes behind any signature that response carried.
- 06
Hosted Scroll Gate, org-wide envelope listing and hosted audit export call ssx360.com and need SSX360_API_KEY. The offline equivalents cover range verification and export; hosted listing has no offline equivalent.
- 07
The Intelligence Log has one published report and the sector risk index and incident registry have none. Anyone weighing the research should weigh it at that size.