For regulators · verify, don't trust

AI in regulated products,
cryptographically auditable.

Every AI decision a Promethean-built product makes is signed into a hash-chained log anchored to Bitcoin. You verify any production deployment in 30 seconds with zero Promethean software running on your side.

12
Independent commitment chains
L1 → L12 · all under one Ed25519 anchor · Bitcoin-attested
50 KB
Plain-JS verifier
Node 18+ stdlib only · zero dependencies · auditable in one sitting
0
Promethean code required your side
The verifier verifies the producer · not the other way around
3
Live reference deployments
PSD3+DORA · HIPAA+MDR+AI Act · eIDAS+GDPR Art. 22

The EU AI Act requires verifiability. Most AI tooling is a black box: the deployer claims a model card, an evaluation report, an audit log — and you're expected to trust the attestation chain back to a vendor's compliance team. Trust, not verify.

The substrate inverts that. Every AI decision becomes one entry in an append-only, hash-chained, Ed25519-signed log anchored to Bitcoin via OpenTimestamps. The chain is public. The signing key is published. The verifier is ~500 lines of plain JavaScript with no dependencies. You don't take our word for it. You run the verifier and observe.

We are not a certification body. We do not substitute for regulator judgment. We produce verifiable artifacts; you retain the authority to cite, reject, or sanction. What you can verify →

The verification surface

Eight independent checks. All falsifiable. All offline-runnable.

01

Hash chain integrity

Entries are append-only. Any retroactive edit, deletion, or insertion breaks the SHA-256 chain. Detectable in one pass.

node verify.mjs <chain.jsonl>
02

Per-entry Ed25519 signature

Every entry signed under the substrate's published trust anchor. Forgery requires the operator's private key. Today: operator-controlled env-var key custody. Roadmap: Shamir 3-of-5 backup + HSM residence.

(included in verify.mjs · RFC 8032)
03

Closed-enum schema enforcement

LLM output bounded to a declared schema at request time. No open generation in regulated decisions.

inspect entry.specHash · cross-ref published specs
04

PII-safe inputs

Raw inputs never recorded. Each entry carries inputHash (SHA-256) for replay-against-redacted-source verification.

entry.inputHash · zero PII in the chain
05

Bitcoin time attestation

L12 HEAD anchored to Bitcoin via OpenTimestamps every 5 minutes. Backdating past the anchor block becomes provably impossible.

ots verify <chain>.anchors/<headHash>.ots
06

Cross-language byte parity

JS-emitted and Python-emitted entries canonicalize byte-identically. Same SHA-256, same signature. The Python port is the independent re-implementation.

pytest runtime-ai-py/tests/
07

Continuous reproducibility

Three live reference deployments verify under the same Ed25519 key across every Phase R release. Backward compatibility is empirically demonstrated.

curl /paysafe-runtime-ai-receipts.jsonl | node verify.mjs
08

Mutation-tested test suite

The substrate's own tests catch real code regressions, not trivial ones. Stryker break threshold 75% — below that, CI fails.

npm run mutation-test · reports/mutation/index.html

Live · runs in your browser

Verify any chain. From any browser.

Below is the same web verifier a regulator would use. Drag-drop a JSONL chain or one-click load a reference. Verification runs locally; nothing is sent to Promethean.

Promethean · console
● chain ok32 entries verifiable now

● PASS (exit 0)

23 ms

Verifying chain (32 entries) ...
  hash chain:           OK
  signature shape:      32/32 match trust anchor
  trust anchor:         y6F3rt10CEcSakCrnJIYkGymA66x3VXm…
  head hash:            d1ec79ea79623e8c48405f0fd9ae78b4498d3e1a…
  malformed lines:      0
  ids contiguous:       yes
  timestamps monotonic: yes

PASS (exit 0)

Drag-drop any L12 chain — runs offline · zero Promethean code

For auditors and regulators

Run the verifier against a real chain in 30 seconds.

Three pre-signed reference chains (paysafe · cliniclens · civicgate) are downloadable as JSONL with copy-pasteable curl commands. Every quantitative claim on this site is backed by a JSON endpoint under /api/facts — trust anchor, verifier line count, OTS calendar reachability, tier allowances, regulatory coverage — so an auditor can cite us against attested data, not marketing copy.

Mandate mapping

One substrate output. Many regulatory questions.

Substrate outputMaps toAnswers the question
L12 receipt chainEU AI Act Art. 12 (record-keeping) · Art. 13 (transparency)Was each high-risk AI output produced under a declared, bounded schema?
Per-entry Ed25519 signatureGDPR Art. 5(1)(f) (integrity) · Art. 32 (security)Has any record of automated processing been tampered with?
reviewerVerdict fieldGDPR Art. 22 (automated decisions) · AI Act Art. 14 (human oversight)Did a human review the decision when the spec required it?
fallbackTriggered fieldAI Act Art. 15 (accuracy + robustness)When the model failed, did the system fall back to a declared safe state?
inputHash (PII-safe)GDPR Art. 25 (data minimisation)Is the audit trail itself a privacy liability? No — raw inputs never recorded.
OpenTimestamps anchorDORA Art. 6/8 (digital operational resilience) · NIS 2 Art. 21Can the operator backdate the audit trail? No — Bitcoin attestation prevents it.
modelIdentity per entryAI Act Art. 13 (model provenance) · PSD3 (vendor diligence)Which exact model version made this decision? Provider + model + version, every call.
schemaValid + Zod canonical formAI Act Art. 15 (technical robustness)Did the model output stay within the declared output surface?

Framework templates · 7 regulators

Article-by-article packets. Generated from the workspace state, not a brochure.

Every operator workspace ships with a regulator-facing handoff packet for each of seven frameworks. Each packet maps the framework's articles to the cryptographic evidence the substrate has actually emitted for the workspace — 37 articles across the seven frameworks, every article carrying a citation URL, an obligation in plain English, and a deliberately honest "operator must also" gap section.

GDPR

7 articles

General Data Protection Regulation

Regulation (EU) 2016/679

EU's lawful-basis + data-subject-rights framework, with explicit obligations for solely-automated decisioning.

Evidence kinds mapped

PII-safe input hashing (raw input never stored) · RuntimeAISpec (closed-enum contract) · Signed L12 receipt chain · Operator-supplied control (substrate does not directly address) · +7 more

Reference deployment · civicgate

AI Act

9 articles

EU Artificial Intelligence Act

Regulation (EU) 2024/1689

EU's risk-tiered AI regulation; Annex III lists high-risk systems with strict obligations on logging, transparency, human oversight, and accuracy.

Evidence kinds mapped

RuntimeAISpec (closed-enum contract) · Deterministic fallback log · Runnable audit bundle · Operator-supplied control (substrate does not directly address) · +6 more

Reference deployment · cliniclens

PSD3

4 articles

Payment Services Directive 3 (proposed)

COM(2023) 366 final · PSD3 + PSR proposed June 2023

Successor to PSD2; strengthens strong customer authentication (SCA), fraud-prevention, and AI-driven decisioning reproducibility in payments.

Evidence kinds mapped

RuntimeAISpec (closed-enum contract) · Reviewer gate firing log · Signed L12 receipt chain · Deterministic fallback log · +3 more

Reference deployment · paysafe

DORA

5 articles

Digital Operational Resilience Act

Regulation (EU) 2022/2554

ICT risk management for financial entities; explicit requirements on ICT-related incident classification, reporting, and third-party concentration.

Evidence kinds mapped

RuntimeAISpec (closed-enum contract) · Runnable audit bundle · Operator-managed signing key (HSM-backed) · Signed L12 receipt chain · +2 more

Reference deployment · paysafe

NIS 2

3 articles

Network and Information Security Directive 2

Directive (EU) 2022/2555

EU's cybersecurity baseline for essential and important entities; explicit risk-management, incident-reporting, and supply-chain obligations.

Evidence kinds mapped

Per-entry Ed25519 attestation · Bitcoin anchor (OpenTimestamps) · Operator-managed signing key (HSM-backed) · Runnable audit bundle · +3 more

MDR

4 articles

Medical Device Regulation

Regulation (EU) 2017/745

Medical-device regulation; Annex VIII rule 11 classifies most clinical-decision-support software as Class IIa or higher, demanding clinical evaluation and post-market surveillance.

Evidence kinds mapped

RuntimeAISpec (closed-enum contract) · Runnable audit bundle · Schema-validation flag per decision · Deterministic fallback log · +2 more

Reference deployment · cliniclens

HIPAA

5 articles

Health Insurance Portability and Accountability Act

45 CFR Parts 160, 162, 164 · US

US health-data privacy + security framework; Security Rule §164.308 onwards mandates administrative, physical, and technical safeguards for electronic protected health information (ePHI).

Evidence kinds mapped

Runnable audit bundle · Operator-supplied control (substrate does not directly address) · Operator-managed signing key (HSM-backed) · Signed L12 receipt chain · +3 more

Reference deployment · cliniclens

A packet enumerates evidence. It does not claim compliance. The operator's counsel decides whether the enumerated evidence satisfies the obligation in their deployment context — and the packet calls out, article by article, what the operator must evidence outside the substrate.

By industry · sector-specific evidence mapping

Same substrate. Twelve sectors, twelve regulatory pressures.

The verification primitives above are sector-neutral — the same L12 chain, the same Ed25519 anchors, the same verify.mjs. What changes per sector is which articles the evidence is mapped to, which obligations the operator must additionally evidence outside the substrate, and which deployment patterns the operator's counsel is likely to recognise.

Worked example · one verification

A real chain. One command. Thirty seconds.

Terminal · regulator-side

$ curl -O https://promethean.software/paysafe-runtime-ai-receipts.jsonl
$ curl -O https://promethean.software/verify.mjs
$ node verify.mjs paysafe-runtime-ai-receipts.jsonl

Verifying paysafe-runtime-ai-receipts.jsonl ...
  entries:           142
  hash chain:        OK
  signatures:        142/142 verified
  trust anchor:      y6F3rt10CEcSakCrnJIYkGymA66x3VXm0zCWbPjRxP8=
  head hash:         f8a91c2b3d4e5f6a…
  earliest entry:    2026-04-12T08:14:33.000Z
  latest entry:     2026-05-13T09:31:07.000Z
  OTS anchor age:    3m 24s (Bitcoin block 893,221)
  malformed lines:   0
  ids contiguous:    yes
  timestamps:        monotonic

PASS (exit 0)

The verifier walks every L12 entry, recomputes the hash chain, verifies each Ed25519 signature against the substrate's published trust anchor, cross-checks the OpenTimestamps proof against a Bitcoin block height, and reports any malformed lines, ID gaps, or timestamp non-monotonicity.

Exit code 0 means every entry on the chain was produced under the declared spec, signed at recording time, and exists in Bitcoin's record by the anchored block height. Exit code 2 means something failed — and the report tells you exactly which entry, which check, and why.

No Promethean network access required for verification. The verifier is the producer's contract with the regulator — and it runs on your machine, against your copy of the chain, with your choice of Bitcoin node.

What we offer · what we ask

The terms of cooperation, stated plainly.

What we offer

  • Read access to every L12 chain we operate or our operators run
  • Notification when a chain anchored under our trust key has been corrupted, tampered, or rotated
  • Reproducibility briefings — the substrate's full architecture under NDA, 50 ADRs, falsifiable predictions, every test
  • Reference deployments to inspect (paysafe / cliniclens / civicgate) before any operator pilot
  • Cooperation on RFC processes for canonical-form or schema-version bumps
  • In-room presence when an operator using our substrate has a regulator conversation

What we ask

  • Cite the substrate as a reference architecture in guidance documents when it fits
  • Participate in canonical-form RFC reviews so the chain format reflects regulator priorities
  • Use Promethean-emitted deployments as reference cases in training programmes (with operator consent)
  • Tell us early when a substrate output does NOT satisfy a regulatory concern — so we can extend the verifier
  • Be honest about which questions the substrate can answer and which require human judgment
  • No special treatment — what we ship is equally available to every operator

Boundaries, plainly

What this is not. And what we don't promise.

Not

Not a certification body

We don't issue compliance attestations. We produce verifiable artifacts; you retain the authority to cite, reject, or sanction.

Not

Not a substitute for regulator judgment

The L12 chain proves what happened. Whether what happened satisfies your mandate is your call, not ours.

Not

Not a closed standard

The canonical form is public. The Python port is public. The verifier is public. Anyone can re-implement, fork, or extend.

Not

Not infallible

If the operator's key is compromised, the chain can be forged forward from that moment. Bitcoin anchoring caps the damage; key custody is operator responsibility.

Not

Not Promethean-trust dependent

The verifier needs no network access to anything we run. Run it air-gapped against any Bitcoin full node.

Not

Not exclusive

No regulator gets early access, special features, or backdoors. Equal verifier, equal chain, equal trust anchor for everyone.

Public trust anchors

Two Ed25519 public keys. Refuse anything not signed under one of them.

These are the only Promethean-side keys you should trust. The first signs runtime-AI receipt chains for the three live reference deployments. The second signs anchor observations (head-snapshot timestamps) produced by the hosted anchor cron. Operator workspaces additionally sign their own chains under per-workspace keys — those are surfaced inside each workspace's audit bundle.

Reference deployments · runtime-AI receipt-log key

Signs every L12 entry in paysafe / cliniclens / civicgate. Pass this to verify.mjs --trusted-key when auditing any reference chain.

y6F3rt10CEcSakCrnJIYkGymA66x3VXm0zCWbPjRxP8=

Anchor cron · Promethean attestation key

Signs every chain-head anchor record produced by the hosted anchor cron (per workspace, per spec, per tier cadence). An anchor record is third-party evidence that "Promethean saw head H at time T" — distinct from the operator's chain signatures. Anchor records are included in the audit bundle's anchor-history.jsonl. Reject any anchor record whose embedded attestationPublicKey does not match this value.

S/n4yLMGhSsFt/g8X6P/Lnmw4zYNU6o6QtULzk9cE2A=

Three doors

“Verify, don't trust. The chain is the evidence. The verifier is your only dependency.”