InvoanceInvoance
Log inStart free
Homepage·Audit Logs

Audit logs that help you close enterprise deals.

Give your customers a trusted audit trail they can hand to security, compliance, and leadership without waiting on your team. Every action is recorded, signed, and independently verifiable, so they can prove who did what, when it happened, and that nothing changed after the fact. Add customer-ready audit logs in days, not months.

Add Audit Logs to your appRead the docs
admin.acme.com/audit
Audit LogsSigned
Filter by actor, action, target, or date
ActorActionDate and time
Every event Ed25519-signed. Verify offline, no account required.
team.admin_added
document.signed
api_key.rotated
login.failed
billing.invoice.paid
role.updated
export.created
settings.changed
team.admin_added
document.signed
api_key.rotated
login.failed
billing.invoice.paid
role.updated
export.created
settings.changed

A verifiable audit log in minutes

Each of your end customers is an org, addressed by your own external id. Create it once, send signed events to it, then let your customer view, verify, and export their own log. Three calls from empty to production.

1
Create an org

Register each end customer once. Events reference it by your external id.

curl -X POST https://api.invoance.com/v1/audit/orgs \
  -H "Authorization: Bearer invoance_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{ "external_id": "acme-prod", "name": "Acme Production" }'
2
Send a signed event

POST an activity event. Invoance signs it with Ed25519 and returns its id.

curl -X POST https://api.invoance.com/v1/audit/events \
  -H "Authorization: Bearer invoance_live_xxx" \
  -H "Idempotency-Key: 7f4c1c9d-5b8a-4d42-9e0b-1f2a3b4c5d6e" \
  -H "Content-Type: application/json" \
  -d '{
    "org": "acme-prod",
    "action": "user.signed_in",
    "actor": { "type": "user", "id": "user_123" }
  }'
3
View, verify, export

List and filter the log, then verify any event offline against your org's key.

curl https://api.invoance.com/v1/audit/events/9549c332/verify \
  -H "Authorization: Bearer invoance_live_xxx"

Signed at the source. Verifiable by anyone.

Most audit logs ask you to trust the vendor that stores them. Invoance signs every event the instant it is received, so the log proves itself. A customer, auditor, or regulator can check a record against your organization's public key with no account and no call back to Invoance.

Ed25519 signed at ingestion

Every event is signed with a key bound to your organization at the moment it lands. The signature proves origin and that nothing has changed since.

Content-hashed with SHA-256

The canonical event bytes are hashed before signing. Alter a single character of any field and the hash, and the signature, no longer match.

Verifiable offline

The SDKs reconstruct the signed bytes and check the signature locally. No network call, no dependency on Invoance being online or honest.

Strongly-typed envelope

Actions follow a dot-segmented grammar, actors and targets are structured, and unknown fields are rejected. Bad shapes fail at the door, not in your log.

Idempotent ingestion

An Idempotency-Key is required on every write, so a retried request never doubles a record. Safe to call from at-least-once pipelines.

Timestamped, ordered, append-only

Each event carries the time it occurred and a per-org sequence. Records are added, never rewritten, and paginate in a stable total order.

One call to record an event

Use the Node or Python SDK, or hit the API directly. The SDKs default the timestamp and generate the required idempotency key for you, so the smallest useful event is an org, an action, and an actor.

curl -X POST https://api.invoance.com/v1/audit/events \
  -H "Authorization: Bearer invoance_live_xxx" \
  -H "Idempotency-Key: 7f4c1c9d-5b8a-4d42-9e0b-1f2a3b4c5d6e" \
  -H "Content-Type: application/json" \
  -d '{
    "org": "acme-prod",
    "action": "user.signed_in",
    "actor": { "type": "user", "id": "user_123", "name": "Lily Ari" },
    "targets": [{ "type": "team", "id": "team_42" }],
    "metadata": { "ip": "203.0.113.7" }
  }'
Attach the actor

Record who did it: a user, a service account, or the system itself. Names are optional, ids are not.

Point at the targets

List the objects an action touched, by type and id, so the log filters cleanly by what changed.

Add custom metadata

Attach typed scalars (strings, ints, bools) to the event, the actor, or any target. Nesting and floats are rejected by design.

Capture the context

Record IP, user agent, and a request id alongside the event so investigations have the full picture.

Give customers their own audit log

Enterprise buyers ask for their audit trail. Instead of building a viewer, mint a private link. It opens a hosted, branded portal scoped to one org, where your customer can search, verify, and export their own events, and wire up their own log streams. Links are single-use and the session length is yours to set.

Search and filter

Filter by actor, action, target, and time window over a fast keyset-paginated view of the org's log.

Verify any event

One click checks the Ed25519 signature for a record and shows the verdict, right inside the portal.

Export on demand

Your customer pulls their own range to CSV, JSON, or PDF without filing a ticket with your team.

Self-serve streams

Customers add their own webhook destinations, see delivery health, and send a test, all without your involvement.

Stream and export, on their terms

Some customers want the log pushed to them in real time. Others want a file for their own warehouse. You get both without building delivery infrastructure.

Webhook streaming

Point a stream at any HTTPS endpoint, including a SIEM or log pipeline. Every delivery is HMAC-signed so the receiver can verify it, destinations are checked against an SSRF guard, and delivery is at-least-once from a durable cursor. Send a test before you go live.

Bulk export

Request a range as CSV or NDJSON and get back a presigned download. The serializer is injection-safe, so a malicious cell value can never turn an export into a spreadsheet formula. One call, one file, ready for an auditor.

Model every event precisely

A useful audit log is structured, not a pile of strings. The envelope gives you the fields auditors expect, and rejects the shapes that would make the log untrustworthy later.

Actor types

Attribute an action to a user, a service account, or the system itself.

Targets

Name the objects an action touched, by type and id, for clean filtering.

Custom metadata

Typed scalars on the event, actor, or target. No nesting, no floats, no surprises.

Action taxonomy

A dot-segmented grammar like billing.invoice.paid keeps actions consistent.

Request context

Capture IP, user agent, and request id to reconstruct what happened.

Time you control

Set occurred_at to when the action really happened, validated to a sane window.

Proof your customers' auditors will accept

Signed at the source

Every event is Ed25519-signed the instant it lands. The signature travels with the record, so authenticity is built in, not bolted on.

Verifiable by anyone

Your customer, their auditor, or a regulator checks a record offline against your public key. No account, and no trust in Invoance required.

Ready for any review

When a SOC 2 auditor or security team asks for the trail, you hand over a signed, exportable record in minutes, not weeks.

Buy the proof layer. Build your product.

You could build audit logging in-house. Signing, key management, a customer portal, webhook delivery with retries and an SSRF guard, exports, dedupe. Or you could ship it this afternoon and spend the quarter on your own product.

Build it yourself
Invoance Audit Logs
Cryptographic signing
Design and rotate keys yourself
Ed25519 at ingestion, managed for you
Independent verification
Not without extra engineering
Offline, per event, via the SDK
Customer-facing portal
Build and host a viewer
Embeddable, one private link
Webhook streaming
Build delivery, retries, SSRF guard
Built in, signed, and guarded
Bulk export
Build CSV and NDJSON pipelines
One call, presigned, injection-safe
Idempotency and dedupe
Roll your own keys and checks
Idempotency-Key enforced at the API
Time to first log
Weeks to quarters
An afternoon

Pricing that starts at zero

Audit Logs are part of the Invoance platform. Build and test for free, then move to a paid plan when you put real customer traffic through it.

Free
$0

Build your integration, send real signed events, and verify them. No credit card to start.

Paid plans
From $149/mo

Production volume, longer retention, the embeddable portal, webhook streaming, and exports.

Enterprise
Custom

Custom volume, SSO and SAML, a BAA, custom retention, and priority rate limits.

Every plan includes Ed25519 signing, offline verification, and API access. Annual billing saves 20%. See full pricing

Start building

Quick start

Go from an empty org to a verified event with copy-paste calls.

Open
SDK reference

The client.audit namespace for Node and Python, including offline verify.

Open
Error reference

Every audit error code, what triggers it, and how to fix it.

Open

Give your customers an audit log they can trust

Signed at the source, verifiable by anyone, streamable, exportable, and ready to embed. Add audit logs to your app with one API and spend your time on the product only you can build.

Add Audit Logs to your appRead the docsWhy Invoance

Audit Logs, Signed and Independently Verifiable

Invoance Audit Logs give your application a customer-facing activity log that anyone can verify. Every event is signed with Ed25519 the moment it is received and hashed with SHA-256, so a record can be checked offline without trusting Invoance, your servers, or anyone else. Send events with one API call, group them by end-customer organization, stream them to any HTTPS endpoint by signed webhook, export them to CSV or NDJSON, and hand your customers a private, embeddable portal to view, verify, and export their own logs. Built for B2B SaaS teams that need SOC 2, ISO 27001, and enterprise audit-trail requirements without building the infrastructure themselves.

Invoance

Neutral digital proof infrastructure for business. Tamper-evident, independently verifiable records.

Subscribe to our newsletter

Products
Platform
How It Works
Developers
Verify
Resources
Help & Legal
Products
  • Event Ledger
  • Document Anchoring
  • AI Attestation
  • Traces
Platform
  • Why Invoance
  • For Compliance Teams
  • For Finance Teams
  • Pricing
How It Works
  • Overview
  • Event Ledger
  • Document Anchoring
  • AI Attestation
Developers
  • Overview
  • Endpoints
  • Authentication
  • Concepts
Verify
  • Verify Document
  • Verify AI Attestation
  • Verify Event
  • Verify Trace
Resources
  • All Resources
  • SOC 2 Guide
  • HIPAA Guide
  • ISO 27001 Guide
Help & Legal
  • Support
  • Status
  • Verification Help
  • FAQ

Invoance provides technical verification and proof infrastructure for digital records. Invoance does not issue legal, financial, or regulatory advice.

Records anchored through Invoance are cryptographically signed and tamper-evident by design. Invoance does not verify the accuracy, legality, or authenticity of document contents, only that a record existed in a specific form at a specific time. Verification links are publicly resolvable and do not require authentication. Invoance does not act as a custodian of funds, a legal authority, or a regulated financial entity. Use of Invoance does not constitute legal compliance. Consult qualified counsel for your specific obligations.

© 2025 – 2026 Invoance, Inc. All rights reserved.••