Skip to content

> 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

    Shipping

    Records 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

    Shipping

    Re-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

    Shipping

    Walks 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

    Shipping

    Writes 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

    Shipping

    A 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

    Shipping

    Maps 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

    Shipping

    Signs 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

    Shipping

    Signs 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

    Shipping

    Signs 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

    Shipping

    Signs 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

    Shipping

    Signs 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

    Shipping

    Carries 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

    Shipping

    Copies 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

    Shipping

    Serializes 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 development

    Writes 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

    Shipping

    Filters 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

    Shipping

    Model-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 development

    Writes 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

    Shipping

    Hashes 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

    Shipping

    Ed25519-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

    Shipping

    Diffs 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

    Shipping

    Hashes 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

    Shipping

    Exposes 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

    Shipping

    Generates 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

    Shipping

    Attaches 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 prototype

    An 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 prototype

    A 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 development

    Sits 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 development

    Probes 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

    Shipping

    A 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

    Shipping

    A 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

    Shipping

    Six weeks embedded alongside your operation with signed weekly findings. Three slots a quarter, chosen for depth of exposure.

    Servicelib/services.ts ENGAGEMENTS

  • Advisory Retainer

    Shipping

    Monthly monitoring across your nominated sectors with quarterly re-assessment. Available once an assessment has completed.

    Servicelib/services.ts ENGAGEMENTS

  • Four-sector signal coverage

    Shipping

    Logistics 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

    Shipping

    Biweekly 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 development

    A 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 development

    A 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
  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.