VITNAcompliance evidence layerSign in
Compliance evidence, before and after every agent action

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.

[ verify it yourself ]

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.json

The 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.

[ Annex III high-risk: December 2, 2027 ]

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.

[ capabilities ]

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.

[ dive deeper ]

More to explore.

[ how it works ]

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.

POST /api/ingest
// REQUEST
// Any framework. One ingest endpoint. Audit-grade events.
await fetch('https://vitna.costrinity.xyz/api/ingest', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer vigil_your_key',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    agent_id: 'support-bot-prod',
    event_type: 'tool_call',
    // SYNTHETIC, MASKED example. Never paste a real identifier into a demo.
    message: 'Customer Aadhaar is XXXX-XXXX-0019',
    status: 'success',
    jurisdiction_id: 'DPDP-IN',
  }),
});
// WHAT THE OPERATOR SEES

This is your view in the dashboard the moment the agent sends the request on the left. Click the simulator buttons to flip between a critical threat and a clean event.

event captured+0.4s
agent: support-bot-prod
status: accepted
severity: medium
threat: Aadhaar number (Verhoeff ✓)
field: message
compliance: indic_pii · DPDP-Sec-8
[ alert routed ]Slack · #ops-on-call
OpenAIAnthropicElizaOSLangChainMCPCustom
Open dashboard
[ activity graph ]

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.
/dashboard/agt_x9k2 · graphlive
tool_callprompt_injectionopenai_chataadhaar_detectdb_query
nodes: 14edges: 11window: 24h● 3 critical
[ different job, not a scorecard ]

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.

CapabilityVITNAObservability / evals toolsOur 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.

[ desktop ]

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.

[ pricing ]

Simple. USD. No hidden seats.

FREE
$0/ forever

Solo builders testing the waters.

  • 1 agent
  • 10k events / month
  • 7-day history
  • REST API + MCP server
  • Signed evidence export
Start free, no card
POPULAR
PRO
$29/ per month

Serious agent deployments.

  • Unlimited agents
  • 1M events / month
  • 90-day history
  • Smart alerts
  • Email + webhook notifications
  • Priority support
Go Pro
ENTERPRISE
Custom

Mission-critical deployments.

  • Everything in Pro
  • Unlimited events
  • Custom retention
  • SLA guarantee
  • On-prem deploy
  • Dedicated support
Contact
[ stay in the loop ]

We ship changes weekly. Hear about them when they land.