The Compliance Evidence
Layer for AI Agents.
VITNA (VIT-nah) by COSTRINITY. Vitna, from Old Norse: to bear witness. Previously VIGIL.
Pre-flight compliance checks your agents call before they act, each producing a signed, tamper-evident record of the decision, mapped to the regulations you answer to. One API call, any framework. EU AI Act Article 12 logging lands December 2, 2027. The date moved, the obligation did not. VITNA covers it today.
Do not take our word for it.
VITNA produces Ed25519-signed evidence records that anyone can verify offline with a published public key and an open-source verifier, with no need to trust VITNA's servers. It is a cooperative guardrail with heuristic detection, and those limits are documented publicly. Its purpose is not prevention. It is independently verifiable proof that an AI agent's actions were checked and allowed.
Put plainly: evidence packages are verifiable compliance receipts for agent actions. One minute, no account. Download the verifier and a real signed sample bundle, then check the signature offline with Node 18+:
curl -sO https://raw.githubusercontent.com/COSTRINITY/vitna-compliance-mcp/main/verify-evidence.mjs
curl -sO https://vitna.costrinity.xyz/sample-evidence.json
node verify-evidence.mjs sample-evidence.jsonThe verifier checks the Ed25519 signature over the package, then recomputes each individual decision record's sha256 against the hash committed inside the signed package, printing PASS or FAIL per record. So third parties verify every record, not just the package. Cross-check the embedded key against /api/evidence/pubkey (key_id 01833acd46d06ab4). A VALID result proves the bundle was issued by VITNA, unaltered since export, and that every record matches its committed hash. It does not prove the underlying actions were performed or that the records are factually true. Change any byte in any record and that record reports FAIL. See exactly what VITNA sends and stores.
The date moved. The obligations didn't.
Article 12 still requires high-risk AI systems to allow automatic recording of events over their lifetime, with logging retained for at least six months (Articles 19 and 26). Article 26 still puts operating duties on deployers, including keeping those logs. On May 7, 2026 the EU agreed (Digital Omnibus) to delay the start dates, not the duties: stand-alone Annex III high-risk systems now apply December 2, 2027, and regulated-product systems August 2, 2028. Most Article 50 transparency duties, including chatbot disclosure and deepfake and synthetic-content labelling, apply from August 2, 2026. Only the Article 50(2) machine-readable watermarking duty was postponed to December 2, 2026. Penalties are unchanged at up to 15 million euro or 3 percent of global turnover.
VITNA answers this today. The EU AI Act classifier sorts your use case into prohibited, high-risk, limited, or minimal. The Ed25519-signed evidence packages are the automatic event record, independently verifiable offline with our published public key, and the webhook delivery log is tamper-evident proof of any notifications sent. The MCP server lets your agent check its obligations before it acts. The delay is not a reprieve. It exists because compliance takes real engineering work, and 18 months is exactly enough time to do it right or to waste. We map the evidence to the obligation, and we do not claim attestations we do not hold.
Fixed-fee readiness assessment available →
Updated June 12, 2026, the same week as the EU's omnibus agreement. Tracking regulatory change is the product.
Six things VITNA does today.
SIEM-grade event logging
Every agent action captured + normalized (CRITICAL / HIGH / MEDIUM / LOW / INFO), severity-scored CEF/LEEF-compatible, exported to Splunk, Datadog, QRadar.
Real-time event feed
Live activity timeline. Decisions, tool calls, errors, anomalies stream to your dashboard the moment they happen. Like a SOC console, built for AI agents.
Compliance auto-mapping
Events tagged to SOC 2, PCI DSS, ISO 27001, NIST CSF, GDPR Article 30. India DPDP-Sec-8 added in the compliance fabric. One-click audit exports.
Threat detection
Six categories built in: SQL destructive, shell dangerous, secret leak, prompt injection, exfiltration, suspicious network. Aadhaar with Verhoeff checksum validation.
Any agent, any framework
REST API and MCP proxy today, with a typed SDK and an ElizaOS plugin planned. OpenAI, Anthropic, LangChain, custom. VITNA ingests events regardless of how the agent runs.
Local + cloud, your choice
Cloud dashboard or VITNA Desktop with a local SQLite store. Same UI, same threat detection, your data never leaves the machine if you don't want it to.
More to explore.
Why VITNA?
Side-by-side vs Datadog (observability only) and Drata (compliance only). One tool, one database. AI agents now produce regulated data flows, and your existing stack doesn't cover that.
read the pitch →[ docs ]Integration paths
REST API and the published MCP server (@costrinity/vitna-compliance-mcp). Wire VITNA into your agent in under five minutes regardless of framework. OpenAPI 3.0 spec lives at /api/.well-known/openapi.
open the docs →[ coverage ]Where VITNA works
Jurisdiction and regime coverage: 13 jurisdictions, 28 regimes, with the law, regulator, and capabilities listed per jurisdiction. Machine-readable mirror at /api/status. This page shows coverage, not uptime.
see coverage →One API call. Any framework.
Send VITNA the event from any framework. We threat-scan it, tag compliance, persist with severity. The right side of the panel below is exactly what you'd see as the operator on call: the captured event with threat classification, the severity it landed at, the compliance tag attached, and the alert routed to your channel. Time-to-instrument under 5 minutes.
See what your agent
has actually been doing.
Every event lands in a force-directed graph that reads the same way Obsidian's graph view does. Nodes are action types or individual events; edges follow the causal chain through parent_id, trace_id, and run_id, with a temporal fallback when no explicit parent exists. Hover a cluster to see its time range, status mix, and sample payloads.
- ·Status-aware coloring: success, error, warning, info.
- ·Toggle baseline noise (heartbeat, ping, idle) per agent. Pref stored locally.
- ·Click a node for sample payloads, time range, and status breakdown.
- ·Custom Verlet integrator. No D3, no external graph lib, zero added bundle weight.
Operator-first. Not ML-engineer-first.
Observability and evals tools answer "what did the agent do and how good was it." VITNA answers "can you prove, to someone who does not trust you, that the action was checked and allowed." Both are useful, and most serious deployments run both. This compares the two jobs, not named products: we do not assert what any specific vendor ships, because we cannot source that and it changes constantly.
| Capability | VITNA | Observability / evals tools | Our documented limits |
|---|---|---|---|
| Independently verifiable signed evidence | ✓ | · | Ed25519 package + per-record hashes, verifiable offline. Our differentiator. |
| Decision checked BEFORE the action runs | ✓ | · | Cooperative: VITNA evaluates and records, your system enforces. |
| Compliance auto-mapping | ✓ | · | 28 regimes across 13 jurisdictions. |
| Threat detection at ingest | ✓ | · | Heuristic pattern matching, not a sandbox. Novel payloads can pass. |
| SIEM-standard severity levels | ✓ | · | |
| CEF / LEEF export (Splunk etc) | ✓ | · | |
| Local desktop mode (zero cloud storage) | ✓ | · | Tradeoff: we cannot sign evidence we never receive. |
| Real-time event feed | ✓ | ✓ | |
| Persistent audit trail | ✓ | ✓ | |
| Deep prompt and response tracing | · | ✓ | Not our job. Use an evals tool for this. |
| Model quality evals and scoring | · | ✓ | Not our job. Use an evals tool for this. |
The right column is a statement about what the observability and evals category is built for, not an audit of any particular product. Check any vendor's current docs before deciding. The two bottom rows are things VITNA deliberately does not do.
Local mode. Same dashboard. Your data, your machine.
VITNA Desktop runs the same threat detection + event ingest against a local SQLite store. Nothing leaves the box unless you want it to. Free.
Simple. USD. No hidden seats.
Solo builders testing the waters.
- 1 agent
- 10k events / month
- 7-day history
- REST API + MCP server
- Signed evidence export
Serious agent deployments.
- Unlimited agents
- 1M events / month
- 90-day history
- Smart alerts
- Email + webhook notifications
- Priority support
Mission-critical deployments.
- Everything in Pro
- Unlimited events
- Custom retention
- SLA guarantee
- On-prem deploy
- Dedicated support