Prove exactly what your AI said when customers, auditors, or regulators ask.
Every conversation goes straight to your own AWS bucket instead of ours,
so your data never becomes our data.
Right now, your AI is having conversations with no independent way to prove what was said later. If a customer or regulator challenges an AI decision, standard database logs alone won't be enough.
Standard AI logging tools are built to help engineers fix broken prompts. They are not built to survive a regulatory audit or a costly customer dispute.
Scrubbed content goes to your bucket. The hash and metadata go to our ledger.
You keep the conversation. Anyone can verify the proof.
{
"request_id": "6464e3bb-2007-4015-b020-367f7d8c2ae0",
"sha256_hash": "b0addc31bc23508e8d5d1c80c91dcb21bb7c04f5c18ac89d57589fbba855a724",
"archive_status": "uploaded"
}Healthcare. Banking. Insurance. Wherever proof matters.
Verification doesn't rely on trusting us. The cryptographic hash is recomputed locally in the auditor's own browser. Nobody has to take anyone's word for it.
We never become another place your conversations live. The scrubbed files go directly into your own AWS S3 bucket, we only store the hash.
Compatible with any AI system that can fire a JSON payload, OpenAI, Claude, Gemini, local Llama instances, anything.
Whether it's a customer dispute or a sudden regulatory audit, the answer is already there. Drop the file into vanzim.com/verify and see whether the hash matches.
We don't just take your word for it. Vanzim verifies your AWS S3 Object Lock configuration directly with AWS, confirming it's genuinely set up, not just assumed.
Every request carries a unique ID so retries never create duplicate logs. Backed by Cloudflare's edge network, built to keep pace with your application, not slow it down.
Your stack stays exactly as it is today.
Replace your existing database write with a single JSON payload. You don't need to install heavy SDKs, change your database schema, or reconfigure your VPC. If your app can make an HTTP request, it can use Vanzim.
Vanzim acknowledges your webhook right away and handles the PII scrubbing, hashing, and S3 upload via background edge queues. Your backend never hangs waiting for a compliance process to finish.
If Vanzim is ever unreachable, your code saves the log locally and retries. Your users are never impacted.
// Your existing AI logic const chatLog = await llm.generateResponse(prompt); // Send to Vanzim for scrubbing and sealing try { await fetch('https://vanzim-worker.vanzim.workers.dev/v1/ingest', { method: 'POST', headers: { 'Authorization': `Bearer ${process.env.VANZIM_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ request_id: crypto.randomUUID(), raw_text: chatLog.text, event_type: 'chat_completed', metadata: { model: 'gpt-4o', duration_ms: 1250, }, }), }); } catch (err) { // FAIL-OPEN: never let a Vanzim outage break your AI. Save the // event locally and retry later, implement saveLocallyForRetry() // to match your own storage (a queue, a local file, a database row) saveLocallyForRetry(chatLog, err); }
Start free. Upgrade when you need more.
Perfect for local testing, running your first webhook, and proving the architecture to your team.
For teams moving to production who need unlimited volume, strict scrubbing, and additional Pro features.
Everything in Starter, plus:
Covers what you're wondering about.
If you hesitated on any of those,
each one becomes a yes with Vanzim.