PoE keeps you anonymous. Google/OIDC binds receipts to your Google account.
Cryptographic timestamping for documents and data
Create strong, verifiable proof that a document existed at a specific time — without revealing its contents.
No file uploads
Only commitment_hex, raw_file_hash_hex, and the consent log reach the server
Spec-first
PDF/JSON receipts follow specs/receipt/*.yaml
HTML receipt preview
The /receipt page displays the same fields as the PDF.
receipt_id
0x6ad9…3bc1
Status
Anchored on Base
TxID
0x97ab…4def
How Fideseal works
Three steps from uploading a file to an auditable receipt anchored in L2.
Pick a document
Hashing and canonicalization happen locally in the browser. The file never leaves your device.
Build the Merkle batch
We assemble a Merkle batch on the backend and prepare batch_id for anchoring.
Anchor to L2
The root is sent to the smart contract. You receive PDF+JSON receipts.
Why you can trust it
Cryptography, specs, and open verification
On-chain trust
Anchoring on a public network that anyone can verify.
Privacy-first
We only store the hashes and the client's consent log.
Spec compatibility
Canon/pdf/receipt specs live in the repo and are covered by tests.
Legal trail
The HTML receipt mirrors the PDF and JSON for artifact parity.
REST API for integrations
Send commitment_hex/raw_file_hash_hex and receive receipt_id. Use the same pdf.v1.basic and evidence.v1 specs as the UI.
curl POST /v1/poe/anchor
curl -X POST https://fideseal.com/v1/poe/anchor \
-H "Content-Type: application/json" \
-d '{
"commitment_hex": "0xabc…",
"raw_file_hash_hex": "0xdef…",
"canon_profile": "pdf.v1.basic",
"client_version": "web-demo/0.2.0"
}'