Home
Home/How it works
Ed25519 signaturesSHA-256 hashes8 SDKs
Status
Sign inStart free
Home
How it works

Hash it, sign it, store it where it cannot be edited.

Every Invoance product follows the same path. This page describes that path and what a verifier checks at the end of it. The product pages below cover what differs.

Read the concepts docOpen the verifier
sha-256 · 3a352297…2592
sha-256 · 9c870aa6…52e6
The resultone signed record
event · policy.approvalSignature valid
event_id
7c1e4b52-9a0f-4d2e-b6f3-2f8a61c0d9e4
event_type
policy.approval
ingested_at
2026-09-22T08:14:07.412Z
payload_hash
a3f2b1c9d4e8f70b6c5a1e92d8f4037bc61a9e5d2f7c8b04e3a6d19f5c2b7e80
signature
ed25519 · 9f1c…e27a (64 bytes)
issuer
acme.com · domain verified
The path of a request
  1. 01 · Your appPOST /v1/eventsAPI key + Idempotency-Key
  2. 02 · CanonicalizeCanonical JSONKeys sorted, stable bytes
  3. 03 · HashSHA-256payload_hash, request_hash
  4. 04 · SignEd25519Your organization's key
  5. 05 · StoreAppend-only ledgerRows cannot be deleted
Step by step
  1. You send a record

    An authenticated POST from your backend, with an Idempotency-Key so retries are safe.

  2. It is canonicalized and hashed

    JSON is normalized so key order and whitespace cannot change the result, then hashed with SHA-256.

  3. It is queued

    The API accepts the record and hands it to a durable queue. Delivery is at-least-once and inserts are idempotent, so a redelivery never creates a second row.

  4. It is signed

    A worker signs the canonical bytes with the Ed25519 key that belongs to your organization.

  5. It is appended

    The row lands in a ledger table where DELETE and TRUNCATE raise an error at the database level.

VerificationVerification tools

Anyone can check a record

The verifier holds a payload or a file. They hash it and compare the result with the signed record. No account is needed, and the SDKs can check signatures with no network call at all.

  1. 01 · AnyoneOpens the proof linkNo account, no dashboard access
  2. 02 · CheckRecompute the hashSubmitted payload against anchored hash
  3. 03 · Resultmatch_result: truePlus issuer domain and signing time
HashSHA-256
SignatureEd25519, one key pair per organization
Key storagePrivate keys are encrypted at rest
Canonical formSorted keys, stable byte output
LedgerAppend-only. Database triggers block delete and truncate
RetentionExpired rows are sealed from reads, still verifiable
Public keysPublished, so signatures can be checked offline
What a proof shows

It shows

  • A specific record existed in a specific form.
  • It was signed by a specific organization at a specific time.
  • What you are looking at still matches what was signed.
  • A sealed trace has had nothing added, removed or reordered.

It does not show

  • That the underlying statement is true.
  • That a decision was fair, legal or correct.
  • That a document's contents are authentic.
  • That you meet a legal or regulatory obligation.
By product

Audit Logs

Mechanism

Event Ledger

Mechanism

AI Attestation

Mechanism

Document Anchoring

Mechanism

Traces

Mechanism

Evidence Rooms

Mechanism

Read the API, then send a record.

The quickstart takes one API key and one request.

Open the docsSecurity

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