Tamper-Evident Cryptographic Memory
Append-only event logs. Ed25519 signed. SHA-256 hash-chained. Readable on a 50-year horizon.
Append-only event logs. Ed25519 signed. SHA-256 hash-chained. Readable on a 50-year horizon.
Most systems ask you to trust the operator. Provara makes trust unnecessary — every event carries its own proof.
Every event gets an Ed25519 signature at creation. The private key never leaves your machine.
Each event's hash includes the previous event's hash. Break one link, invalidate the chain.
Anyone with the public key can verify any event. No server required. No trust required.
One command. One key pair. An empty chain ready to receive evidence.
Structured NDJSON. Each entry signed, hashed, and chained to its predecessor.
Offline-first integrity checks. Verify a single event or replay the entire chain.
Same input, same vault. Every event is replayable from genesis.
Python. CLI. npm. Pick your interface. Every operation is cryptographically verifiable.
View Docs →from provara import Vault vault = Vault.init("./my-vault") vault.append({"action": "user.login", "actor": "alice"}) # Ed25519 signed + SHA-256 chained automatically
# Initialize a new vault provara init ./my-vault # Append an event (signed + chained automatically) provara append ./my-vault '{"action": "user.login"}' # Verify the entire chain provara verify ./my-vault # Exit 0 = chain intact
import { Vault } from '@provara/sdk'; const vault = await Vault.init('./my-vault'); await vault.append({ action: 'user.login', actor: 'alice' }); // Every event is signed and chained
Everything you need to know about Provara Protocol, tamper-evident event logs, and getting started.