File time-stamping
Prove your file existed. Without ever sharing it.
VerifBox dates any file in seconds, for free. Only its fingerprint, computed in your browser, is signed and anchored in Bitcoin: the file itself stays on your device.
- Dual signature, one post-quantum
- Two anchors in Bitcoin
- RFC 3161 time-stamp token
Timestamp a file
Any format, within the limits of your browser. Free.
No account, no cookies, no file stored.
File timestamped
- Date
- UTC time
- File
- Fingerprint
- Identifier
- Bitcoin
- IIC TSA token
It is the original file of this proof. Without it, the proof cannot be verified. Keep it unchanged: sending it through a messaging app may compress it and change its fingerprint.
Keep the proof with the original file, without modifying it: the slightest change, even a single byte, changes its fingerprint.
How to get your PDF certificate
- Now: download the proof and keep it with the original file.
- Usually within the hour, at most a few hours later: open Verify and load the proof, then the original file. The Bitcoin anchors are then completed and checked.
- Once the anchor of the file is confirmed: download the proof folder (.zip): it holds the completed proof, to keep in place of the first one, the PDF certificate, which also shows the status of the anchor of the signed attestation, the image to share and everything needed to check the proof without VerifBox.
The certificate can only be created once the anchor of the file is confirmed, because it shows the Bitcoin block and transaction. It usually takes less than an hour, sometimes a few hours.
How it works
Four steps, none of which requires sending your file.
Fingerprint
Your browser computes the file’s SHA-256 fingerprint: 256 bits, written as 64 hexadecimal characters. The slightest change to the file changes it completely.
Signature
The service adds the date and time, then signs the whole twice, with Ed25519 and ML-DSA-65.
Anchoring and time-stamp token
IIC TSA immediately issues an RFC 3161 token, a time to the second. OpenTimestamps then anchors, separately, the fingerprint of the file and that of the signed attestation in the Bitcoin blockchain, within a few hours.
Verification
Anyone can check the proof with the file, here or with standard tools.
Two Bitcoin anchors, one time-stamp token, one verifiable proof
VerifBox anchors your file and its signed attestation in Bitcoin, separately, through the open OpenTimestamps protocol, and has the file’s fingerprint time-stamped by IIC TSA under the RFC 3161 standard. Each proof can be verified on its own.
- Fileits SHA-256 fingerprint
- OpenTimestamps
- Bitcoin · anchor ①
- Signed attestationEd25519 + ML-DSA-65, then SHA-256
- OpenTimestamps
- Bitcoin · anchor ②
- Fileits SHA-256 fingerprint
- IIC TSA (RFC 3161)
- Time-stamp token · to the second
Why two anchors and a token?
The first anchor establishes that the fingerprint of the file existed before its Bitcoin block.
The second establishes that the signed attestation itself existed before its block: the fingerprint, the proof identifier, the declared time, the signing key and both signatures. If a signing key is ever revoked, this second anchor is what keeps proofs issued before the revocation reliable. Proofs issued before the double anchoring keep their single anchor; they do not gain the second one retroactively.
The time-stamp token covers the fingerprint of the file and gives what Bitcoin cannot: a time to the second, signed by IIC TSA after checking its clock against four independent sources. IIC TSA is operated by the company that publishes VerifBox; its root certificate is published on this site and the token is checked with OpenSSL.
What Bitcoin establishes is a time bound: the anchored item existed no later than its block. It is not a date to the second, and it is distinct from the time declared in the attestation.
VerifBox and OpenTimestamps
VerifBox does not replace Bitcoin or OpenTimestamps: anyone can check the anchors with the official OpenTimestamps tools, without VerifBox. VerifBox adds a structured proof layer on top: an identified issuer, an attestation signed with Ed25519 and ML-DSA-65, published and independently verifiable keys, the second anchor, an open format and independent verifiers.
The complete journey, and its safeguards
From your file to a verifiable proof: what happens at each step, and what keeps it from going wrong.
-
1 · Your device
Fingerprint
Your browser computes the file’s SHA-256 fingerprint.
- The file is never sent
- No account, no cookie
- Changing a single byte changes the whole fingerprint
-
2 · VerifBox server
Date and double signature
The service adds the date and time, then signs the whole twice, with Ed25519 and ML-DSA-65.
- Only the fingerprint is received
- No file kept, IP address never recorded by the application
- Standardised post-quantum signature (FIPS 204)
- Public keys published
-
3 · Proofs
Three separate proofs
Bitcoin · anchor ①File fingerprint: it existed before this block.Bitcoin · anchor ②Signed attestation: keeps proofs reliable if a key is ever revoked.IIC TSA tokenRFC 3161 standard: a time to the second, checked against four sources, including Germany’s official clock (PTB).- Each proof can be checked on its own
- Open OpenTimestamps protocol
-
4 · By anyone
Verification
With the original file and the proof, here or with standard tools.
- Works even without VerifBox
- Open tools: OpenTimestamps, OpenSSL
- Any change to the file is detected
From your file to the certificate, from A to Z
The three times of a proof
Safeguards of the IIC TSA token
The RFC 3161 time-stamp token is added to the double signature and the two Bitcoin anchors, which remain unchanged.
- Time checked before every tokenFour independent time sources are queried; at least three, including Germany’s official clock (PTB), must agree; otherwise no token is issued.
- Protected signing keyIt stays in Google Cloud KMS and never leaves it.
- Log kept for 12 yearsEvery token is recorded; each night its digest is time-stamped by DigiCert and anchored in Bitcoin, which freezes the past.
- External check every nightEach day’s log is time-stamped by a third-party authority and anchored in Bitcoin: any later change to the log would be detectable.
- No personal data keptNo file, no fingerprint, no IP address in the log.
- Open standardRFC 3161 format, verifiable with OpenSSL and compatible software.
Transparency. IIC TSA is operated by HTTPS CARD — Internet Identity Card Limited, the company that publishes VerifBox: it is not an independent third party. It is a non-qualified time-stamping service within the meaning of the eIDAS Regulation. Its root certificate is published on this site (iic-tsa.json) and every token can be checked with OpenSSL.
What it is for
Because nothing is sent, you can timestamp even confidential documents. A few typical uses:
Design and artwork
A logo, an illustration or a photo, before showing it to a client or posting it online. If a copy appears later, you can show that your file existed first.
Contracts and agreements
The version agreed before signature, or a draft sent for review. You can later show exactly which version existed, and when.
Source code
An archive of a project, a release or an algorithm, before publishing it or sharing it with a partner. The code itself stays private.
Writing
A manuscript, a screenplay, a thesis or an article, before sending it to publishers, a competition or a reviewer.
Evidence photos
Damage, the condition of a rented property, a defect on delivery. The proof shows the photo existed at that date; it does not certify what the photo depicts.
Projects and research
A business plan, a pitch deck, research data or a lab notebook, before a meeting, a submission or a disclosure.
In every case, the proof establishes that this exact file existed no later than a given date. It does not establish who created it, nor who owns the rights.
What you get
Three files, each with its own role. You keep them: VerifBox keeps no copy.
- The proof .verifbox.json
- The authoritative document: the file’s fingerprint, the date and time, both signatures and the IIC TSA time-stamp token (RFC 3161). Issued immediately.
- The Bitcoin anchors .ots
- Two OpenTimestamps proofs, included in the proof file: one for the fingerprint of the file, one for the signed attestation. Each can be verified with the OpenTimestamps tools, without VerifBox. Completed within a few hours.
- The certificate PDF
- A readable presentation of everything, with links to the Bitcoin block and transaction, to attach to a file or send to an adviser. Available once the anchor is confirmed.
Your proof folder, file by file
On the Verify page, once the Bitcoin anchor is confirmed, one button downloads a single .zip. Here is exactly what it contains, and what each file is for.
- To open and show
certificate-photo.jpg.pdf*The certificate anyone can read: date, file fingerprint, Bitcoin block, IIC TSA token.share-image.png*An image ready to post, to announce your proof.share-caption.txt*Suggested text to go with the image.README.txt · LISEZ-MOI.txtHow to check everything yourself, in English and in French.- The proofs
proof.verifbox.jsonThe proof itself: classical and post-quantum signatures, anchors and token completed.attestation.jsonWhat VerifBox signed (date, fingerprint, key) and both signatures.file-anchor.otsBitcoin anchor of your file’s fingerprint (OpenTimestamps).attestation-anchor.otsBitcoin anchor of the signed attestation: it dates the signature itself.iic-tsa-token.tsrRFC 3161 time-stamp token from IIC TSA, a service of the same company as VerifBox.- To check everything again, even without VerifBox
verifbox-keys.json · .otsVerifBox public keys, themselves anchored in Bitcoin.iic-tsa-root.pem · .crl · iic-tsa-trust.jsonIIC TSA root certificate, its revocation list and where to check its fingerprint.MANIFEST.sha256The fingerprint of every file in the folder: shows that nothing was changed.summary.json · verification-report.txtA machine-readable summary, and what the verifier found when the folder was made (a record, not a proof).- Optional
original/photo.jpgA copy of your original file, only if you tick the box. Either way, the folder is built in your browser and your file is never sent to VerifBox.
* Only when the original file has been checked on the Verify page.
Nothing in the folder depends on VerifBox staying online: the Bitcoin anchors can be checked with any Bitcoin explorer and the OpenTimestamps tools, and the README explains each step.
What the proof establishes
It establishes
- That an identical file, byte for byte, existed no later than the signed date and time, on the strength of the VerifBox signature; and, once the anchor is confirmed, no later than its Bitcoin block, which depends on no company; the proof also carries an RFC 3161 time-stamp token, to the second, issued by IIC TSA, a non-qualified service operated by the same company.
- Once the anchor is completed, that it existed before the Bitcoin block that recorded it.
- That the proof has not been altered since it was issued.
It does not establish
- Who the author of the file is, or who owns it.
- What the file contains, or whether it is accurate.
- A trade mark or patent filing, or a notarised deed.
This is a simple electronic timestamp, not qualified within the meaning of the European eIDAS Regulation. Under its Article 41, it cannot be refused as evidence solely because it is not qualified; its value is assessed by the court.
Limits and good practice
- Keep the exact bytes. A photo sent back by a messaging app, a re-exported PDF or a video recompressed by a cloud no longer matches the proof. Keep the original file untouched, with its .verifbox.json. VerifBox keeps no copy and cannot replace either.
- Come back for the completed proof. Until the Bitcoin anchor is confirmed and saved, you hold a signature and a time-stamp token, not a public anchor. Use the reminder button, then return to Verify and keep the completed proof and the certificate.
- “Valid” is not “anchored”. A verifier reports each proof separately. The part that survives VerifBox is the completed Bitcoin anchor, re-checked with the OpenTimestamps tools next to the original file. Anchors and the token can be removed from a proof without breaking the signatures: a proof without them is weaker, not forged.
- The time to the second comes from this company. The IIC TSA token is issued by the same company and is not a qualified time stamp; the Bitcoin anchor gives an upper bound, not a second. The signed time and the token time must agree to within a few seconds: look at it.
- Not a proof of authorship. Anyone holding a file can time-stamp it, including someone who copied your draft. The proof shows that these bytes existed, not who created them or who owns the rights. Do not present it as a copyright deposit, a notarised act or a qualified time stamp.
- Publishing a proof publishes the fingerprint. The fingerprint reveals nothing about the content, but anyone who already has the file can link it. For a date that must carry a legal presumption, use a qualified trust service; VerifBox can sit alongside it, not replace it.
Verifiable by anyone, even without us
A proof should not depend on the survival of whoever issued it. VerifBox’s public keys and the IIC TSA root certificate are published, the proof format is open, the Bitcoin anchors can be verified with the free OpenTimestamps tool and the time-stamp token with OpenSSL.
- Key in use
- Loading…
- Public keys
- /.well-known/verifbox-cles.json
verifbox-cles.json.ots (Bitcoin anchor of this key file, OpenTimestamps: each published version is anchored) - Independent publication
- DNS
_verifbox.internetidentitycard.com(DNSSEC)
GitHub - Algorithms
- SHA-256, Ed25519, ML-DSA-65 (FIPS 204)
- Specification
- Proof format version 1 (specification 1.2)
- Independent verifiers
- verifbox-verify-offline.html (offline, in any browser, GitHub)
verifbox_verify.py (Python, MIT): GitHub · verifbox.com - Independent archive
- Software Heritage (Inria, with UNESCO support): permanent copy of the GitHub repository (verifiers, public keys, validation vectors), archived on 15 October 2026. Identifier:
swh:1:snp:e596463a815904944b3c34da9ebda87ae77a2425 - Dated code deposit
- VerifBox and IIC TSA source code and documents deposited by HTTPS CARD with INPI (French IP office) under e‑Soleau envelope no. DSO2026038975, on 13 October 2026 at 02:49:31 UTC, kept until 2041. The content stays confidential; INPI does not examine it, and this deposit is neither a patent nor a trade mark. SHA-256 of the deposited file, also time-stamped on VerifBox (proof 9261a18e…):
f4a86af0887178e151025dde1df589cf4d6f28b28cc3a9480499179268409d8a - Bitcoin anchor
ots verify file.ots- IIC TSA root
- /.well-known/iic-tsa.json (root certificate and revocation list)
openssl ts -verify - Publisher
- HTTPS CARD — Internet Identity Card Limited, England and Wales no. 09168431, London — also operates IIC TSA: internetidentitycard.com/tsa