Ship the enterprise-ready audit trail every SaaS grows into
Your pipeline has an enterprise deal. That deal has a security questionnaire. That questionnaire has a 'audit trail' row. Tick it in an afternoon with Recalled instead of a quarter with your own schema.
// Your checkout webhook handler
await recalled.events.create({
action: "invoice.paid",
actor: { id: customer.id, email: customer.email },
organization: customer.orgId,
targets: [{ type: "invoice", id: invoice.id }],
metadata: { amount, currency, plan },
});Every SaaS that grows past its first few paying teams hits the same wall: an enterprise prospect sends a security questionnaire, and three of its rows are about audit logs. You have nothing, you panic, you estimate three weeks, you ship a half-baked table, you lose the deal anyway. Recalled is the audit trail you wish you had started with.
Why SaaS makers ship with Recalled
- Tick the audit-log box
SOC 2, ISO 27001 and GDPR all ask for an audit trail. Recalled is hash-chained, signed, EU-hosted, with retention rules and DPA at signup.
- Embed it inside your product
Mint an embed token and drop `<RecalledFeed />` into your customers' own admin UI. Enterprise customers get self-serve audit review.
- Forever-free tier
Free plan with 3,000 events per month. Wire the audit log in before the first paying customer, not after the first lost deal.
- Grow with retention rules
On Scale you can set a retention rule per action prefix. Keep billing forever, expire noisy events after 30 days.
The audit-log question that kills pipelines
'Do you keep an audit log of sensitive actions, with tamper-proof integrity and exportable evidence?' Most early-stage SaaS answer 'kinda'. With Recalled you answer 'yes, hash-chained, EU-hosted, exportable to CSV, GDPR-ready'. The deal moves forward.
Start with these three
The use cases most SaaS ship in week one.
Log every sensitive action taken by a staff member from your back-office: suspensions, refunds, impersonations, role changes. Answer 'who did this and when' before anyone has to ask.
Log paid invoices, failed charges, refunds, subscription upgrades and cancellations in one tamper-proof trail, separate from your production DB and your Stripe dashboard.
Mint a short-lived embed token server-side, drop the `<RecalledFeed />` React component into your support tool, and give your agents the last 25 actions of the customer without switching tabs.
Priority actions to wire
Your next audit log is 2 minutes away
Stop hacking on your own logs table. Drop in Recalled, send your first event, move on.