Home
Home/Audit Logs
Ed25519 signaturesSHA-256 hashes8 SDKs
Status
Sign inStart free
Home
Product · Audit Logs

Audit logs your customers can verify.

Send who did what, in which customer organization. Invoance numbers each event, signs it, and gives that customer a read-only view. Enterprise buyers ask for this in security reviews. This is the version they can check.

Start freeRead the docs
sha-256 · 3a352297…2592
sha-256 · c25511ad…d64c
A customer's activity log, livePOST /v1/audit/events
org_acme · activityLive
5 events · signatures valid · no gaps
What you sendAPI reference
organization_idWhich of your customers the event belongs to
actionWhat happened, for example member.role.updated
actorWho did it: type, id, optional name
targetsWhat it was done to
contextOptional location and user agent
occurred_atWhen it happened in your system
seqAssigned by Invoance. Gap-free per organization
import { InvoanceClient, verifyAuditEvent } from "invoance";

const client = new InvoanceClient();

const ev = await client.audit.events.ingest({
  organizationId: "org_01J8F3KQ2R7VWX9YB4ND6MCZAH",
  action: "member.role.updated",
  actor: { type: "user", id: "user_123" },
});

// later, anywhere, with no network call
const event = await client.audit.events.get(ev.event_id);
console.log(verifyAuditEvent(event).valid); // true
What you get
  • A gap-free sequence number per customer organization. A missing number is evidence that something was removed.
  • An Ed25519 signature on every event, verifiable offline with the SDK.
  • A read-only portal and an embeddable viewer for your customers.
  • CSV and NDJSON exports, and webhook streams to your customer's own systems.
  • Auth0 and Clerk integrations that forward identity events for you.
Where teams use it

Enterprise security reviews

Answer the audit log line in the questionnaire with a working portal.

Customer admin consoles

Embed the viewer so admins see their own organization's activity.

Incident timelines

Show a signed sequence of events instead of rebuilding it from application logs.

How it worksFull mechanism
  1. Create an organization

    One audit organization per customer. Each has its own sequence and retention period.

  2. Send events

    Call the API from the code path where the action happens. An idempotency key makes retries safe.

  3. Invoance numbers and signs

    The writer assigns the next seq inside a transaction, then signs the canonical bytes.

  4. Your customer reads and verifies

    Through the portal, the embedded viewer, an export, or the offline verifier in the SDK.

Questions
How is this different from logging to our own database?
Your database can be edited by anyone with write access, including you. Here each event is signed with a key, numbered without gaps, and stored in a table where deletes are blocked, so your customer does not have to take your word for it.
Can customers verify without calling Invoance?
Yes. Each event carries its signature and public key. The SDK verifier runs offline.
What happens when retention ends?
Events past the organization's retention period are sealed from read endpoints. Retention is set per organization and capped by your plan.

Send your first record.

Free on the Developer plan.

Start freeOpen the verifier
Other productsView all

Event Ledger

Open

AI Attestation

Open

Document Anchoring

Open

Traces

Open

Proof infrastructure. Records are hashed, signed with your organization's Ed25519 key, and stored append-only, so anyone can check them later.

Products

  • 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

  • Why Invoance
  • Pricing
  • Security
  • Compliance teams
  • Finance teams
  • Partners
  • Resources
  • Help center
  • Contact
© 2026 Invoance
PrivacyLegal noticeLegal FAQGitHubLinkedInX