Home
Home/Document Anchoring
Ed25519 signaturesSHA-256 hashes8 SDKs
Status
Sign inStart free
Home
Product · Document Anchoring

Prove which version of a file existed, and when.

A customer, auditor or counterparty produces a different version of a file you sent, and the argument becomes which copy is real. Anchor the SHA-256 hash when the file goes out. Later, anyone can hash the copy they hold and compare. A match proves it is byte for byte the same file.

Start freeRead the docs
sha-256 · 3a352297…2592
sha-256 · d2edd2eb…98dd
Document anchors, livePOST /v1/document/anchor
acme.com · document anchorsLive
5 anchors · the files stay with you
When a file is disputed

One check settles which copy is real.

You anchored invoice_1042.pdf on 2 March, the day it went out. In June the customer sends back a copy with a different total and says it is the one they received. Each file is hashed and compared with the anchor. Yours matches. Theirs does not. The anchor was signed in March, so it cannot have been made after the dispute began.

Anchored · 2026-03-02invoice_1042.pdf9b74c98e…5d21af06
Presented todayinvoice_1042.pdf9b74c98e…5d21af06Hashes match
Edited copyinvoice_1042.pdf41e07fa2…c8836b1dNo match · one byte changed
What you sendAPI reference
document_hashSHA-256 of the file, computed on your side
document_refYour label, for example Invoice #1042
event_typeOptional category, for example invoice
metadataOptional JSON, for example amount and currency
original bytesOptional. Stored encrypted so it can be retrieved
trace_idOptional. Attach to a trace
import { InvoanceClient } from "invoance";

const client = new InvoanceClient();

const result = await client.documents.anchorFile({
  file: "./invoice.pdf",
  documentRef: "Invoice #1042",
  eventType: "invoice",
  metadata: { amount: 5230, currency: "USD" },
  skipOriginal: true, // anchor the hash only
});
console.log(result.event_id);
What you get
  • Hash-only mode. The file never leaves your system.
  • Optional encrypted storage of the original for later retrieval.
  • A signed anchor record with the time it was created.
  • A public proof page where anyone can drop the file and check it.
Who sees whatOpen the verifier
The other side
WhoAnyone with the file and the proof link. No account.
SeesYour organization, whether its domain is verified, the time of the anchor, and match or no match.
Never seesThe file. It is hashed in their browser and only the hash is compared.
Invoance
ReceivesThe 64-character hash, your label and any metadata you add.
Never receivesThe file, unless you choose to store the original. Then it is stored encrypted.
KeepsThe signed anchor record, append-only.
Where teams use it

Invoices and statements

Show the version that was sent, not a later edit.

Contracts and board packs

Fix the signed version at a point in time.

Reports to lenders and regulators

Prove what was submitted on the filing date.

How it worksFull mechanism
  1. Hash the file

    The SDK reads the file and computes SHA-256 locally.

  2. Anchor the hash

    Send the hash, a reference and optional metadata. Include the bytes only if you want them stored.

  3. Sign and store

    The anchor is signed with your Ed25519 key and appended to the ledger.

  4. Re-hash to verify

    Anyone with the file can hash it and compare against the anchor.

Questions
Does this prove the document is genuine?
No. It proves this exact file existed at the anchored time and has not changed. Whether its contents are true is a separate question.
Do you need the file?
No. Hash-only mode sends 64 hex characters and nothing else.
What if a PDF is re-saved with no visible change?
The bytes change, so the hash changes. Anchor the file you actually send.
Is this an e-signature?
No. An e-signature records who agreed to a document. An anchor records which exact bytes existed at a given time. Teams use both: sign with the tool they already have, then anchor the signed file.

Send your first record.

Free on the Developer plan.

Start freeOpen the verifier
Other productsView all

Audit Logs

Open

Event Ledger

Open

AI Attestation

Open

Traces

Open

Verified documents and records. Invoance records the exact version of every invoice, report and notice your company sends, so the people who receive them can confirm they have the version you sent, without taking your word for it.

Products

  • Evidence Rooms
  • Audit Logs
  • Event Ledger
  • AI Attestation
  • Document Anchoring
  • Traces

Developers

  • Documentation
  • API reference
  • SDKs
  • How it works
  • How traces seal
  • System status

Verify

  • Audit Log
  • Event
  • AI Attestation
  • Document
  • Trace

Company

  • Company overview
  • What is Invoance
  • Pricing
  • Security
  • Compliance teams
  • Finance teams
  • Partners
  • Brand assets
  • Resources
  • Help center
  • Contact
© 2025 – 2026 Invoance, Inc. All rights reserved.© 2026 Invoance, Inc. All rights reserved.
PrivacyLegal noticeLegal FAQ