Documentation
WeTrust helps you prove the existence and integrity of content (image, video, audio, document) at a given moment, thanks to a local signature and blockchain anchoring.
What we prove ✅ / What we don’t ❌
- We prove the integrity of the file (any modified byte changes the hash).
- We prove existence at a given date (timestamp + immutable anchoring).
- We prove that the proof was issued by a private key (JWS signature).
- We do not prove the human identity of the author (except future opt-in identity).
- We do not prove that the depicted scene is ‘true’ (e.g., a photo of an AI screen).
- We do not prove the absence of manipulation before capture.
Proof diagram (simplified)
File → Hash (SHA-256) → JWS (local Ed25519 signature)
↓
(batch Merkle Tree)
↓
Anchoring (root) on blockchain (Solana)
↓
Verification: file hash + proof = AUTHENTIC/NOT_FOUNDKnown limitations
- Depends on trust in the device/software at the capture point.
- A photo of an AI screen can be authenticated as a real photo (context matters).
- Anchoring latency: a few seconds (batch + network).
- Blockchain costs are low but not zero on mainnet (a few cents per batch).
Security
- Private key generated locally, never sent (client-side signature).
- Anti-replay nonce included in the JWS.
- Merkle batch: confidentiality (only the public root is exposed).
- Universal verification: any third party can verify without trusting WeTrust.
FAQ
What if I modify the image after registration?
The hash changes → verification returns NOT_FOUND.
What if I lose the file but keep the receipt?
The receipt alone proves nothing without the original file.
How much does it cost?
Cents per batch.