Prove what you can't share.
Prove the integrity of your models, datasets, documents, and records, and let an auditor or regulator verify it independently, without your data ever leaving your perimeter. No log shipping, no model wrapping, no copying sensitive records to a third party.
Verifies from the public record alone.
- Cryptographic fingerprint (SHA-256 hash)
- Digital signature authenticating the commitment
- Anchored timestamp from permanent storage
- Source files, datasets, or documents
- Models, weights, or checkpoints
- Customer, proprietary, or personal data
- Media originals
- Anything else inside your perimeter
Proof without access, and what it isn't.
A verification model where an auditor or service provider can confirm that a model, a dataset, a document, or a record has not been altered, without ever holding a copy of that data. The owner generates cryptographic fingerprints locally, commits them to a tamper-evident record, and later re-derives the fingerprint from the original artefact to prove the match. The verifier sees only the fingerprint and the anchored timestamp, never the underlying bytes.
- Integrity proof: the artefact has not been altered since it was committed.
- Existence-at-time proof: the artefact existed at the anchored timestamp.
- Self-authenticating: an auditor, regulator, or partner verifies the chain independently, without trusting ar.io.
- Built on standard cryptography: SHA-256 hashing, digital signatures, anchored records.
- Zero-knowledge cryptography (those prove statements about hidden data; this proves integrity).
- Proof that the data was correct, lawful, or unbiased.
- Proof that a model's output is right; only that it matches what was committed.
- A replacement for governance, evaluation, or risk-management programs.
Four steps. Five primitives any security engineer can verify.
Proof without access combines content-addressed hashing, digital signatures, and tamper-evident anchoring. The flow is roughly the same whether you're committing a model, a dataset, a document, or a record.
- 01
Fingerprint
Generate a cryptographic hash of the artefact (a model, dataset, document, or record) inside your environment. The hash is deterministic and one-way: same input always produces the same fingerprint, and you cannot reverse the fingerprint into the data.
- 02
Sign
Sign the fingerprint with your private key. This proves the commitment came from you and not from an attacker who intercepted the hash. Same cryptography that secures TLS, SSH, and code signing.
- 03
Anchor
Write the signed fingerprint to Arweave through ar.io's gateway network. Every entry is cryptographically linked to those before it and stored across a global network of independent nodes. Altering the record would require rewriting the chained history.
- 04
Verify
Months or years later, the verifier re-hashes the artefact and compares the result against the anchored fingerprint. A match proves integrity. A mismatch is visible. The verifier learns only that the fingerprint existed at the timestamp and that the current artefact matches.
Each primitive is public and well-studied.
- Cryptographic hash
Converts any input into a fixed-length, irreversible fingerprint. ar.io uses SHA-256.
A wax seal: unique to one document, useless for reading the document.
- Merkle tree
Organises many fingerprints so a single record can be proved against the whole.
A book's table of contents: proves chapter 7 belongs without showing chapters 1 to 6.
- Digital signature
Proves the fingerprint came from a specific party. ECDSA or EdDSA.
A notarised signature.
- Content addressing
Identifies data by its hash rather than its location.
Looking something up by DNA, not by street address.
- Tamper-evident anchor
A record that cannot be altered without leaving evidence. ar.io anchors to Arweave.
A registered letter with a postmark you can't forge.
Drop it into your ML pipeline.
ML teams get a drop-in MLflow plugin: ArioMlflowClient auto-anchors model registration and promotion, and VerifiedModel checks integrity before a model loads. For anything that isn't an ML run, the same fingerprint, sign, anchor, and verify flow runs over the REST API.
import mlflow, ario_mlflow
with mlflow.start_run():
model = train(...)
mlflow.sklearn.log_model(model, name="model")
# anchor a signed proof of this run to permanent storage
result = ario_mlflow.anchor()
print(result["tags"]["ario.training_tx"])from ario_mlflow import VerifiedModel
# integrity is checked before the model loads; a tampered model raises IntegrityError
model = VerifiedModel("models:/credit-scorer/1")
result = model.predict([78000, 0.18, 0.22, 72, 745])
print(result.decision_id, result.proof_status)# Later, anyone can verify independently. Only the public record is needed.
# Re-derives the fingerprint, checks the anchored proof, verifies the signature.
ar-io-mlflow verify model credit-scorer/1
ar-io-mlflow audit credit-scorer/1 --format=jsonOne mechanism, many kinds of proof.
AI auditing is the most common starting point, but proof without access works on any artefact you need to prove and cannot share. Anywhere integrity and provenance matter, the same approach applies.
AI audit & compliance
Prove the integrity of training data, models, event logs, and outputs, and let a regulator or auditor verify it without access to any of them.
Content authenticity
Anchor C2PA Content Credentials so the origin of media and AI-generated content stays verifiable wherever the file travels.
Data & dataset provenance
Prove where a dataset came from and that it has not changed since, without exposing the data itself to whoever needs the assurance.
Document & record integrity
Give an auditor, court, or partner tamper-evident proof that a record is unaltered, without handing over the document.
Proof without access, vs. the cryptographic neighbours.
Several adjacent ideas overlap with proof without access without being the same thing. Here's what each one shows the verifier and when it's the right fit.
Proof without access
This page- Verifier sees
- Fingerprint, signature, and anchored timestamp.
- Proves
- Existence and integrity of an artefact at a point in time.
- When to use
- Audit trails, data and content provenance, record integrity. Most enterprise compliance evidence.
Zero-knowledge proofs
- Verifier sees
- A proof that a statement about hidden data is true.
- Proves
- A specific predicate (for example, 'this output was produced by a model with these parameters') without revealing the data or the parameters.
- When to use
- Cases where you need to prove a computation, not just integrity. Computationally heavy and requires specialised circuits.
Confidential computing / TEEs
- Verifier sees
- Output of a trusted enclave running the workload.
- Proves
- That code ran inside an attested hardware environment.
- When to use
- Real-time inference where the verifier needs to trust the runtime, not just the artefact.
Mutable database audit logs
- Verifier sees
- Whatever the database admin allows.
- Proves
- That the vendor's database currently shows these entries.
- When to use
- When you trust the audit vendor and their database. Falls short for self-authenticating evidence.
Frequently asked questions.
01Does ar.io see my training data, model weights, or customer prompts?
02What if my data changes? Can I still prove old versions existed?
03Is this zero-knowledge cryptography?
04What stops someone from faking a fingerprint?
05How is this different from putting hashes in a database?
06Does this work for closed-source or third-party models?
07How does the EU AI Act treat this kind of evidence?
Verifiable by anyone. Visible to no one.
Fingerprint your models, datasets, documents, and records inside your environment. Only the hash and timestamp leave your perimeter. Auditors, regulators, and partners verify independently.