{
  "version": 1,
  "generatedAt": "2026-08-24T06:12:40.483Z",
  "canonicalSite": "https://getveritio.com/",
  "scope": "English Veritio documentation. HTML pages are canonical; Markdown URLs are alternate representations.",
  "pages": [
    {
      "url": "https://getveritio.com/docs/",
      "markdownUrl": "https://getveritio.com/docs.md",
      "title": "Veritio documentation",
      "description": "Start with the open-source Veritio SDKs, record a portable audit event, verify its hash chain, and choose an optional managed path.",
      "group": "start",
      "audience": [
        "newcomer",
        "developer"
      ],
      "kind": "overview",
      "searchIntent": "Learn what Veritio does and complete the shortest verified open-source audit-event workflow.",
      "questions": [
        "What is Veritio and what can I build with it?",
        "How do I record and verify my first Veritio event?",
        "Which Veritio SDK should I start with?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7",
        "veritio@c4100ee"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/tree/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks"
      ],
      "claimRefs": [
        "cloud-managed-path"
      ]
    },
    {
      "url": "https://getveritio.com/docs/ai/agent-events/",
      "markdownUrl": "https://getveritio.com/docs/ai/agent-events.md",
      "title": "Agent events",
      "description": "Record and verify an agent session and tool call with minimized hashes, stable identities, explicit graph edges, and no raw prompt storage.",
      "group": "ai",
      "audience": [
        "developer",
        "governance"
      ],
      "kind": "tutorial",
      "searchIntent": "Record a minimized, verifiable agent session and tool call with the TypeScript provenance recorder.",
      "questions": [
        "How do I record AI agent activity with Veritio?",
        "Which exact action strings does the provenance recorder emit?",
        "Which agent data should be hashed or omitted?",
        "How are sessions, tool calls, files, reviews, and deployments connected?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7",
        "provenance APIs at veritio@c4100ee"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/provenance.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/templates.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/event.schema.json"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/ai/claude-code/",
      "markdownUrl": "https://getveritio.com/docs/ai/claude-code.md",
      "title": "Claude Code",
      "description": "Install the published Claude Code adapter, configure every supported hook, inspect local evidence, and understand retry and privacy boundaries.",
      "group": "ai",
      "audience": [
        "developer",
        "operator"
      ],
      "kind": "guide",
      "searchIntent": "Configure the published Claude Code adapter for minimized local capture, MCP query, and optional ingest.",
      "questions": [
        "How do I install and configure the Veritio Claude Code adapter?",
        "Which Claude Code hook events are captured?",
        "How does local spooling behave during ingest outages?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/claude-code@0.4.7",
        "@veritio/core@0.4.7",
        "@veritio/storage@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/tree/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/adapters/claude-code",
        "https://www.npmjs.com/package/@veritio/claude-code/v/0.4.7"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/ai/codex/",
      "markdownUrl": "https://getveritio.com/docs/ai/codex.md",
      "title": "Codex",
      "description": "Build the experimental Codex notify adapter from the pinned OSS source and capture hash-only turn evidence without replacing an existing notifier.",
      "group": "ai",
      "audience": [
        "developer",
        "operator"
      ],
      "kind": "guide",
      "searchIntent": "Build and configure the experimental Codex notify adapter for local hash-only evidence capture.",
      "questions": [
        "What Codex activity can the current Veritio adapter capture?",
        "How do I preserve an existing Codex notify command?",
        "Which tool and file evidence is unavailable from the notify payload?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "Codex adapter source at veritio@c4100ee"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/tree/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/adapters/codex"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/ai/gateway/",
      "markdownUrl": "https://getveritio.com/docs/ai/gateway.md",
      "title": "AI gateway",
      "description": "How the unpublished @veritio/gateway fronts Anthropic and OpenAI with virtual keys, enforced allowlists, micro-USD metering, and hash-chained request evidence.",
      "group": "ai",
      "audience": [
        "developer",
        "operator",
        "governance"
      ],
      "kind": "guide",
      "searchIntent": "Understand Veritio gateway virtual keys, allowlist enforcement, micro-USD metering, and hash-chained AI request evidence.",
      "questions": [
        "Can I install the Veritio AI gateway from npm today?",
        "How does the gateway enforce a model allowlist before a request leaves my network?",
        "What does a gateway audit event contain, and what does it never contain?",
        "What does an ai.gateway.evidence.gap marker mean for chain completeness?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/ai-gateway-capture.md",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/gateway/src/index.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/gateway/src/policy.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/gateway/src/keys.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/gateway/src/pricing.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/gateway/src/evidence.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/gateway/src/health.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/gateway/README.md"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/ai/provenance-recorder/",
      "markdownUrl": "https://getveritio.com/docs/ai/provenance-recorder.md",
      "title": "Provenance recorder",
      "description": "Reference the provenance recorder's sink contract, its nine recording calls, the edges each emits, its deterministic ids, and the un-shadowable session stamps.",
      "group": "ai",
      "audience": [
        "developer",
        "governance"
      ],
      "kind": "guide",
      "searchIntent": "Look up every provenance recorder method, the edges it emits, and its deterministic event and edge ids.",
      "questions": [
        "Which evidence edges does each provenance recorder method emit?",
        "Why does recordPrompt emit no edges?",
        "Can a caller overwrite metadata.sessionId on a recorded agent event?",
        "Why do two file changes to the same source tree collide on the idempotency key?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/provenance.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/provenance-identity.md",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/conformance/provenance-ids.json"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/ai/risk-signals/",
      "markdownUrl": "https://getveritio.com/docs/ai/risk-signals.md",
      "title": "Risk signals from agent capture",
      "description": "How the Claude Code capture classifier turns Bash commands and file-change batches into frozen risk-signal enums before an event is hashed.",
      "group": "ai",
      "audience": [
        "developer",
        "governance"
      ],
      "kind": "guide",
      "searchIntent": "Reproduce the Claude Code capture classifier that stamps hash-affecting riskSignals on captured agent steps.",
      "questions": [
        "How does Veritio classify a Bash command into risk signals?",
        "Does the raw agent command text end up in the audit record?",
        "Why must a Python or Go capture adapter copy the classifier exactly?",
        "How does one agent session become a single episode risk score?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/adapters/claude-code/src/map.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/adapters/claude-code/DESIGN.md",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/risk-signals.schema.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/risk-score.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/.claude/rules/02-sdk-parity.md"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/cloud/exports/",
      "markdownUrl": "https://getveritio.com/docs/cloud/exports.md",
      "title": "Cloud exports",
      "description": "Request and download a hosted export, inspect its declared scope, and verify the portable vevb-1 bundle independently before retention.",
      "group": "cloud",
      "audience": [
        "operator",
        "governance"
      ],
      "kind": "tutorial",
      "searchIntent": "Request, download, and independently verify a Veritio Cloud evidence export bundle.",
      "questions": [
        "How do I request and download a Veritio Cloud export?",
        "What does full, windowed, or filtered chain scope prove?",
        "How do I verify a downloaded bundle offline?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "Veritio Cloud public claims · 2026-08-09",
        "@veritio/core@0.4.7",
        "vevb-1"
      ],
      "sourceRefs": [
        "https://getveritio.com/claims.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/export-bundle.ts"
      ],
      "claimRefs": [
        "cloud-export-requests"
      ]
    },
    {
      "url": "https://getveritio.com/docs/cloud/getting-started/",
      "markdownUrl": "https://getveritio.com/docs/cloud/getting-started.md",
      "title": "Cloud getting started",
      "description": "Create a hosted project and scoped ingest key, send one server-side event, verify its evidence view, and test revocation behavior.",
      "group": "cloud",
      "audience": [
        "developer",
        "operator"
      ],
      "kind": "tutorial",
      "searchIntent": "Create a Veritio Cloud project and scoped key, then validate one minimized server-side ingest end to end.",
      "questions": [
        "How do I create a Veritio Cloud project and ingest key?",
        "Where should the ingest key be stored?",
        "How do I prove delivery and key revocation?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "Veritio Cloud public claims · 2026-08-09",
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://getveritio.com/claims.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/index.ts"
      ],
      "claimRefs": [
        "cloud-projects-keys-ingest",
        "cloud-evidence-views"
      ]
    },
    {
      "url": "https://getveritio.com/docs/cloud/overview/",
      "markdownUrl": "https://getveritio.com/docs/cloud/overview.md",
      "title": "Veritio Cloud overview",
      "description": "Compare the optional managed project, key, ingest, evidence-view, and export surfaces with the complete local open-source path.",
      "group": "cloud",
      "audience": [
        "newcomer",
        "developer",
        "operator"
      ],
      "kind": "overview",
      "searchIntent": "Decide whether optional Veritio Cloud or a self-hosted OSS evidence boundary fits your operating model.",
      "questions": [
        "What does Veritio Cloud manage?",
        "Is a Cloud account required to use Veritio?",
        "Which responsibilities remain with my application?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "Veritio Cloud public claims · 2026-08-09",
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://getveritio.com/claims.json",
        "https://github.com/getveritio/veritio/tree/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967"
      ],
      "claimRefs": [
        "cloud-managed-path",
        "cloud-projects-keys-ingest",
        "cloud-evidence-views",
        "cloud-export-requests"
      ]
    },
    {
      "url": "https://getveritio.com/docs/concepts/activity-episodes/",
      "markdownUrl": "https://getveritio.com/docs/concepts/activity-episodes.md",
      "title": "Activity episodes",
      "description": "Understand how activityEpisodeId opens, joins, and scores one Layer-1 activity episode across agent capture, templates, governed changes, and risk rollup.",
      "group": "concepts",
      "audience": [
        "developer",
        "governance"
      ],
      "kind": "concept",
      "searchIntent": "Group agent, change, review, and deploy evidence under one un-shadowable activity episode key.",
      "questions": [
        "What is an activity episode in Veritio?",
        "Why can a caller not overwrite metadata.activityEpisodeId?",
        "How do separate hook processes agree on the same episode id?",
        "What breaks in a risk rollup when the episode key is missing?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/templates.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/provenance.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/governed-change.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/risk-score.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/adapters/claude-code/src/map.ts"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/concepts/audit-events/",
      "markdownUrl": "https://getveritio.com/docs/concepts/audit-events.md",
      "title": "Audit events",
      "description": "Understand the portable event body, the storage-owned record envelope, and why a canonical template and a hand-built event produce the same hash.",
      "group": "concepts",
      "audience": [
        "developer",
        "governance"
      ],
      "kind": "concept",
      "searchIntent": "Understand the difference between a Veritio audit event input and its stored audit-record envelope.",
      "questions": [
        "What fields make up a Veritio audit event?",
        "What is the difference between an AuditEvent and an AuditRecord?",
        "Which fields are assigned by storage?",
        "Should I use an audit template or hand-write the action string?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7",
        "schema 2026-06-10"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/event.schema.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/audit-record.schema.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/index.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/templates.ts"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/concepts/evidence-commits/",
      "markdownUrl": "https://getveritio.com/docs/concepts/evidence-commits.md",
      "title": "Evidence commits",
      "description": "Bind an ordered manifest of already-persisted records into a Merkle-rooted commit, chained per stream, so batch membership becomes independently checkable.",
      "group": "concepts",
      "audience": [
        "developer",
        "operator",
        "governance"
      ],
      "kind": "concept",
      "searchIntent": "Bind persisted Veritio records into a Merkle-rooted evidence commit and verify the per-stream commit ledger.",
      "questions": [
        "What is a Veritio evidence commit?",
        "How is the veritio-merkle-v1 recordsRoot computed?",
        "What does verifyEvidenceCommits prove and what does it not prove?",
        "Which Veritio stores actually emit evidence commits?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/evidence-commit-hashing.md",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/evidence-commit.schema.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/conformance/evidence-commit.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/index.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/file-store.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/export-bundle.ts"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/concepts/evidence-graph/",
      "markdownUrl": "https://getveritio.com/docs/concepts/evidence-graph.md",
      "title": "Evidence graph",
      "description": "Connect events to sessions, files, reviews, deployments, policies, and exports with a closed vocabulary and an independently verifiable edge chain.",
      "group": "concepts",
      "audience": [
        "developer",
        "governance"
      ],
      "kind": "concept",
      "searchIntent": "Model and verify relationships between Veritio events, entities, changes, reviews, and deployments.",
      "questions": [
        "What is the Veritio evidence graph?",
        "How does an evidence edge connect two entities?",
        "How is an evidence-edge chain verified and what breaks it?",
        "What does an evidence relationship prove?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7",
        "edge schema 2026-06-13"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/edge.schema.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/edge-record.schema.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/index.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/conformance/edge-creation.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/conformance/edge-record-hashing.json"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/concepts/governed-changes/",
      "markdownUrl": "https://getveritio.com/docs/concepts/governed-changes.md",
      "title": "Changes, activities, and revisions",
      "description": "How Veritio splits one governed mutation into a Change, an Activity, and a Revision, and what the state commitment actually commits to.",
      "group": "concepts",
      "audience": [
        "developer",
        "governance"
      ],
      "kind": "concept",
      "searchIntent": "Understand Veritio governed changes, activities, revisions, and state commitments before wiring a mutation boundary.",
      "questions": [
        "What is the difference between a Veritio change, an activity, and a revision?",
        "What does a Veritio stateCommitment digest actually commit to?",
        "Why does a rollback to an identical state get a different governedRevisionId?",
        "When is revision.parents populated in a governed change draft?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/governed-change.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/conformance/governed-revision-id.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/docs/review-backlog.md"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/concepts/hash-chain/",
      "markdownUrl": "https://getveritio.com/docs/concepts/hash-chain.md",
      "title": "Hash chain",
      "description": "Learn how canonical JSON, per-tenant sequence numbers, previous hashes, and record hashes make changed or missing evidence detectable.",
      "group": "concepts",
      "audience": [
        "developer",
        "operator",
        "governance"
      ],
      "kind": "concept",
      "searchIntent": "Understand how Veritio canonical JSON and tenant-local record hashes expose tampering and gaps.",
      "questions": [
        "How does the Veritio hash chain work?",
        "Why are canonical JSON bytes part of verification?",
        "What can hash-chain verification prove and not prove?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7",
        "veritio-json-v1"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/conformance/canonical-json.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/audit-record.schema.json"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/concepts/redaction/",
      "markdownUrl": "https://getveritio.com/docs/concepts/redaction.md",
      "title": "Deterministic redaction",
      "description": "Minimize metadata, understand sensitive-key redaction, and keep the same sanitized bytes across retries and language implementations.",
      "group": "concepts",
      "audience": [
        "developer",
        "governance"
      ],
      "kind": "concept",
      "searchIntent": "Apply deterministic Veritio metadata redaction before canonicalization and hashing.",
      "questions": [
        "How does Veritio redact sensitive metadata?",
        "Is redaction deterministic across TypeScript, Python, and Go?",
        "When does redaction happen relative to hashing?",
        "Why did my agent template throw instead of redacting the value?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7",
        "redaction conformance fixtures at veritio@c4100ee"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/conformance/redaction.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/index.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/templates.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/python/src/veritio/event.py",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/go/event.go"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/concepts/retention/",
      "markdownUrl": "https://getveritio.com/docs/concepts/retention.md",
      "title": "Retention labels",
      "description": "Treat retention as explicit evidence metadata while keeping enforcement in the storage or hosted boundary that actually owns deletion.",
      "group": "concepts",
      "audience": [
        "developer",
        "operator",
        "governance"
      ],
      "kind": "concept",
      "searchIntent": "Use Veritio retention labels without confusing policy evidence with physical record deletion.",
      "questions": [
        "What does a Veritio retention label do?",
        "Does setting retention automatically delete evidence?",
        "How does deletion interact with hash-chain verification?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/event.schema.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/index.ts"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/concepts/risk-scoring/",
      "markdownUrl": "https://getveritio.com/docs/concepts/risk-scoring.md",
      "title": "Risk scoring",
      "description": "How Veritio turns six non-PII operation signals into a deterministic, explainable 0..1 risk score that TypeScript, Python, and Go reproduce byte-for-byte.",
      "group": "concepts",
      "audience": [
        "developer",
        "operator",
        "governance"
      ],
      "kind": "concept",
      "searchIntent": "Understand how Veritio derives a deterministic explainable 0..1 risk score from six operation signals.",
      "questions": [
        "How does Veritio calculate a risk score for an operation?",
        "What are RiskSignals and which values are allowed?",
        "Why does normalizeRiskSignals throw instead of scoring zero?",
        "What do the six factors in a RiskAssessment mean?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/risk-score.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/risk-scoring.md",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/risk-signals.schema.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/conformance/risk-scoring-default-policy.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/conformance/risk-signals-normalization.json"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/frameworks/better-auth/",
      "markdownUrl": "https://getveritio.com/docs/frameworks/better-auth.md",
      "title": "Better Auth",
      "description": "Map Better Auth lifecycle hooks into portable Veritio events with stable IDs, minimized metadata, and a host-injected server recorder.",
      "group": "frameworks",
      "audience": [
        "developer"
      ],
      "kind": "guide",
      "searchIntent": "Record Better Auth user, session, organization, and membership events through Veritio.",
      "questions": [
        "How do I connect Better Auth to Veritio?",
        "Which Better Auth events can the adapter record?",
        "What configuration remains owned by the host application?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/better-auth@0.0.4",
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/tree/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/adapters/better-auth"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/frameworks/express/",
      "markdownUrl": "https://getveritio.com/docs/frameworks/express.md",
      "title": "Express",
      "description": "Record verifiable Veritio evidence from Express route handlers using only public core APIs, because no Express adapter package is published yet.",
      "group": "frameworks",
      "audience": [
        "developer"
      ],
      "kind": "guide",
      "searchIntent": "Wire Veritio evidence into Express route handlers when no published Express adapter package exists.",
      "questions": [
        "Is there a published @veritio/express package I can install?",
        "Where should I create the Veritio recorder in an Express app?",
        "How do I stop a request from choosing its own tenantId?",
        "What happens if the evidence append fails after the database write?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/adapters/express/package.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/adapters/express/README.md",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/docs/templates/typescript-api-route.md"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/frameworks/fastapi/",
      "markdownUrl": "https://getveritio.com/docs/frameworks/fastapi.md",
      "title": "FastAPI",
      "description": "Use the Python SDK directly at FastAPI mutation boundaries today, with authorization and tenant resolution owned by the application.",
      "group": "frameworks",
      "audience": [
        "developer"
      ],
      "kind": "guide",
      "searchIntent": "Record governed application evidence from FastAPI mutation routes with the Python SDK.",
      "questions": [
        "How do I integrate Veritio with FastAPI?",
        "How does the governed CRUD example record evidence?",
        "Which authorization and tenant checks remain host-owned?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "Python SDK 0.0.1 at veritio@c4100ee",
        "fastapi-governed-crud at veritio@c4100ee"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/tree/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/examples/fastapi-governed-crud",
        "https://github.com/getveritio/veritio/tree/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/adapters/fastapi"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/frameworks/hono/",
      "markdownUrl": "https://getveritio.com/docs/frameworks/hono.md",
      "title": "Hono",
      "description": "Use @veritio/core from a Hono server boundary today while keeping the source-only adapter status and host-owned context explicit.",
      "group": "frameworks",
      "audience": [
        "developer"
      ],
      "kind": "guide",
      "searchIntent": "Record Veritio evidence at a Hono server boundary using only publicly available APIs.",
      "questions": [
        "How do I use Veritio in a Hono route?",
        "Is the Veritio Hono adapter a published package?",
        "Which request context must the host provide?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7",
        "Hono adapter source at veritio@c4100ee"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/tree/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/adapters/hono"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/frameworks/nextjs/",
      "markdownUrl": "https://getveritio.com/docs/frameworks/nextjs.md",
      "title": "Next.js",
      "description": "Record route-handler and server-action evidence through the thin @veritio/next adapter while keeping auth, tenant scope, and storage host-owned.",
      "group": "frameworks",
      "audience": [
        "developer"
      ],
      "kind": "guide",
      "searchIntent": "Record and verify Veritio evidence from Next.js route handlers and server actions.",
      "questions": [
        "How do I integrate Veritio with Next.js?",
        "Where should a Next.js application record audit evidence?",
        "How do I verify the resulting records?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/next@0.0.4",
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/tree/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/adapters/next",
        "https://github.com/getveritio/veritio/tree/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/examples/nextjs-better-auth"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/frameworks/sveltekit/",
      "markdownUrl": "https://getveritio.com/docs/frameworks/sveltekit.md",
      "title": "SvelteKit",
      "description": "Record SvelteKit form-action and endpoint evidence through the thin @veritio/sveltekit adapter while tenancy, authorization, and storage stay host-owned.",
      "group": "frameworks",
      "audience": [
        "developer"
      ],
      "kind": "guide",
      "searchIntent": "Record SvelteKit form-action and +server.ts evidence through the thin @veritio/sveltekit adapter.",
      "questions": [
        "How do I record Veritio audit evidence from a SvelteKit form action?",
        "Where in a SvelteKit request should evidence be recorded?",
        "Why must evidence never be recorded from a SvelteKit load function?",
        "How do governed create, update, and delete flows differ from a plain audit event?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/sveltekit@0.0.4",
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/adapters/sveltekit/src/index.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/adapters/sveltekit/README.md",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/adapters/svelte/src/index.ts",
        "https://github.com/getveritio/veritio/tree/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/examples/sveltekit-better-auth"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/frameworks/tanstack-start/",
      "markdownUrl": "https://getveritio.com/docs/frameworks/tanstack-start.md",
      "title": "TanStack Start",
      "description": "Wire the thin @veritio/tanstack-start adapter into server functions and server routes while the host keeps auth, tenant scope, storage, and governed-change semantics.",
      "group": "frameworks",
      "audience": [
        "developer"
      ],
      "kind": "guide",
      "searchIntent": "Record TanStack Start server-function and server-route evidence through a host-injected Veritio recorder.",
      "questions": [
        "How do I record Veritio evidence from a TanStack Start server function?",
        "Why should I not record audit evidence inside a TanStack Start loader?",
        "How do I keep storage credentials out of the TanStack Start client bundle?",
        "Where do governed create, update, and delete changes belong in TanStack Start?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/adapters/tanstack-start/src/index.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/adapters/tanstack-start/src/__tests__/index.test.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/adapters/tanstack-start/package.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/examples/tanstack-start-better-auth/src/server/governed-entries.ts"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/guides/audit-templates/",
      "markdownUrl": "https://getveritio.com/docs/guides/audit-templates.md",
      "title": "Audit templates",
      "description": "Use the pre-built audit template builders in @veritio/core to emit canonical action strings and minimized metadata instead of hand-writing them.",
      "group": "guides",
      "audience": [
        "developer",
        "governance"
      ],
      "kind": "guide",
      "searchIntent": "Choose a pre-built Veritio audit template instead of hand-writing canonical action strings and metadata.",
      "questions": [
        "Which audit templates ship with @veritio/core?",
        "Does a Veritio template produce a different hash than a hand-built event?",
        "Why does my agent template throw a TypeError on metadata?",
        "Can I override the action string of an audit template?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/templates.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/README.md",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/examples/cloud-full-governance-poc/src/scenario.ts"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/guides/consent-history/",
      "markdownUrl": "https://getveritio.com/docs/guides/consent-history.md",
      "title": "Consent history",
      "description": "Record consent grants and revocations as tamper-evident audit events, then reconstruct a groupable consent timeline from a verified record chain.",
      "group": "guides",
      "audience": [
        "developer",
        "governance"
      ],
      "kind": "guide",
      "searchIntent": "Record Veritio consent grant and revoke events and rebuild a consent timeline from a verified chain.",
      "questions": [
        "How do I record a consent grant and a revocation in Veritio?",
        "How do I reconstruct a consent history timeline from audit records?",
        "What lawful basis values does the Veritio event schema allow?",
        "Does the consent_7y retention label delete anything?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/templates.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/event.schema.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/index.ts"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/guides/dsar-fulfillment/",
      "markdownUrl": "https://getveritio.com/docs/guides/dsar-fulfillment.md",
      "title": "DSAR fulfillment",
      "description": "Record a data-subject request, extract that subject's records into a filtered vevb-1 bundle, and record the delivery as evidence on the same chain.",
      "group": "guides",
      "audience": [
        "developer",
        "operator",
        "governance"
      ],
      "kind": "guide",
      "searchIntent": "Record a data-subject request, build a subject-scoped filtered export bundle, and record its delivery as evidence.",
      "questions": [
        "How do I build a DSAR export bundle for one data subject?",
        "Why does a filtered export bundle need a filters declaration?",
        "What does a filtered bundle's verification report prove about completeness?",
        "Can a subject-scoped export bundle carry evidence commits?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/export-bundle.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/export-bundle-chain-modes.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/templates.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/export-bundle.md",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/conformance/export-bundle-filtered.json"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/guides/governed-actions/",
      "markdownUrl": "https://getveritio.com/docs/guides/governed-actions.md",
      "title": "Governed actions",
      "description": "Produce change, activity, and revision evidence inside the server-side mutation that changes the row, instead of reconstructing it later from logs.",
      "group": "guides",
      "audience": [
        "developer",
        "operator",
        "governance"
      ],
      "kind": "tutorial",
      "searchIntent": "Emit governed change evidence at a server mutation boundary using defineEntity and createGovernedActionDraft.",
      "questions": [
        "How do I record a governed create or update with Veritio?",
        "What does createGovernedActionDraft actually return?",
        "Why do the change id and activity id share the same suffix?",
        "Which fields of my database row end up in evidence?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/governed-change.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/conformance/governed-action-draft.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/docs/integrations.md",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/docs/templates/typescript-api-route.md"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/guides/risk-policy-tuning/",
      "markdownUrl": "https://getveritio.com/docs/guides/risk-policy-tuning.md",
      "title": "Tuning risk policy",
      "description": "Derive a risk policy with the temperature knob and frequency rules instead of editing DEFAULT_RISK_POLICY, so every published score stays recomputable.",
      "group": "guides",
      "audience": [
        "developer",
        "operator"
      ],
      "kind": "guide",
      "searchIntent": "Tune Veritio risk thresholds and burst rules by deriving a policy instead of editing DEFAULT_RISK_POLICY.",
      "questions": [
        "How do I make Veritio risk scoring stricter without forking the SDK?",
        "What does riskPolicy({ temperature }) change and what does it leave alone?",
        "How do I detect a burst of failed logins in one episode?",
        "Why does overriding a risk policy require an explicit policyVersion?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/risk-policy.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/risk-score.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/risk-scoring.md",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/conformance/risk-episode-frequency.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/conformance/risk-policy-temperature.json"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/guides/security-risk-assertions/",
      "markdownUrl": "https://getveritio.com/docs/guides/security-risk-assertions.md",
      "title": "Security risk assertions",
      "description": "How createSecurityRiskAssertion, hashAssertionRecord, and buildSecurityRiskAssessedEvent turn a computed risk conclusion into an append-only record and a queryable audit event.",
      "group": "guides",
      "audience": [
        "developer",
        "operator",
        "governance"
      ],
      "kind": "guide",
      "searchIntent": "Stamp and hash a security.risk assertion record and derive its security.risk.assessed audit event.",
      "questions": [
        "How do I record a risk conclusion as an append-only Veritio assertion?",
        "Is a security.risk assertion an audit event or a separate record?",
        "How does hashAssertionRecord relate to hashAuditRecord?",
        "Why can I not import createSecurityRiskAssertion from @veritio/core/risk-score?",
        "What happens if a risk score is NaN or above 1?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/risk.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/security-risk-assertion.schema.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/conformance/security-risk-assertion.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/conformance/assertion-hashing.json"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/guides/transactional-outbox/",
      "markdownUrl": "https://getveritio.com/docs/guides/transactional-outbox.md",
      "title": "Transactional outbox",
      "description": "Commit an application mutation and its Veritio evidence in one host transaction, then drain the queued governed-change entry into an idempotent evidence target.",
      "group": "guides",
      "audience": [
        "developer",
        "operator"
      ],
      "kind": "guide",
      "searchIntent": "Commit a Veritio governed-change outbox row inside the host mutation transaction and drain it safely.",
      "questions": [
        "How do I stop an application mutation and its audit evidence from diverging?",
        "What is the Veritio transactional outbox and how does dispatch work?",
        "What does OutboxQueueFullError mean and how do I recover from it?",
        "Is the Veritio outbox available in Python and Go?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/outbox-types.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/outbox-dispatcher.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/outbox-file.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/outbox-shared.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/docs/templates/transactional-outbox.md",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/governed-change.ts"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/reference/event-schema/",
      "markdownUrl": "https://getveritio.com/docs/reference/event-schema.md",
      "title": "Event schema reference",
      "description": "Look up every portable audit-event field, nested actor, target, scope, and metadata rule, plus normalization and storage boundaries.",
      "group": "reference",
      "audience": [
        "developer",
        "governance"
      ],
      "kind": "reference",
      "searchIntent": "Look up every portable Veritio audit-event field, nested shape, requirement, and validation rule.",
      "questions": [
        "Which fields are required in a normalized Veritio audit event?",
        "What shapes do actor, target, scope, and metadata accept?",
        "Which fields exist only on a stored AuditRecord?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "schema 2026-06-10",
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/event.schema.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/audit-record.schema.json"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/reference/evidence-commit-hashing/",
      "markdownUrl": "https://getveritio.com/docs/reference/evidence-commit-hashing.md",
      "title": "Evidence commit hashing",
      "description": "Normative byte-level construction of veritio-merkle-v1 leaf, node, and commit digests so a third-party verifier can reproduce them.",
      "group": "reference",
      "audience": [
        "developer",
        "operator",
        "governance"
      ],
      "kind": "reference",
      "searchIntent": "Reproduce veritio-merkle-v1 leaf, node, and EvidenceCommit digests byte for byte in an independent implementation.",
      "questions": [
        "How is the veritio-merkle-v1 recordsRoot computed?",
        "What happens to the last hash when a Merkle level has an odd number of entries?",
        "Why does a commit member need sha256 prefixed onto an audit record hash?",
        "Which reason does verifyEvidenceCommits return for a mid-stream commit?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/evidence-commit-hashing.md",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/index.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/conformance/evidence-commit.json"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/reference/evidence-vocabulary/",
      "markdownUrl": "https://getveritio.com/docs/reference/evidence-vocabulary.md",
      "title": "Entity and relation vocabulary",
      "description": "The complete closed list of 32 evidence entity types and 37 edge relations, their direction semantics, entity qualifiers, and the known schema drift.",
      "group": "reference",
      "audience": [
        "developer",
        "governance"
      ],
      "kind": "reference",
      "searchIntent": "Look up every closed Veritio evidence entity type and edge relation and its exact direction meaning.",
      "questions": [
        "What are all the Veritio evidence graph entity types?",
        "Can I add my own evidence edge relation?",
        "Which direction does an evidence edge relation point?",
        "Why is activity_episode missing from edge.schema.json?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/index.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/edge.schema.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/edge-record.schema.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/python/src/veritio/event.py",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/go/event.go"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/reference/export-format/",
      "markdownUrl": "https://getveritio.com/docs/reference/export-format.md",
      "title": "Export bundle format",
      "description": "Build and verify the vevb-1 container, understand every manifest and file field, and distinguish full, windowed, and filtered chain claims.",
      "group": "reference",
      "audience": [
        "developer",
        "operator",
        "governance"
      ],
      "kind": "reference",
      "searchIntent": "Build, serialize, parse, and verify the Veritio vevb-1 evidence export bundle format.",
      "questions": [
        "What files and manifest fields are inside a vevb-1 export?",
        "How is the export root hash calculated?",
        "What do full, windowed, and filtered chain scopes prove?",
        "Why must a subject-scoped DSAR bundle declare a filters object?",
        "Why can a scoped bundle not carry evidence commit records?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7",
        "vevb-1 export bundle"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/export-bundle.schema.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/export-bundle.md",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/export-bundle.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/export-bundle-chain-modes.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/conformance/export-bundle-filtered.json"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/reference/glossary/",
      "markdownUrl": "https://getveritio.com/docs/reference/glossary.md",
      "title": "Glossary",
      "description": "Precise one-paragraph definitions for every Veritio protocol, governed-change, episode, commit, risk, storage, export, and Cloud term, each linked to the page that owns it.",
      "group": "reference",
      "audience": [
        "newcomer",
        "developer",
        "operator",
        "governance"
      ],
      "kind": "reference",
      "searchIntent": "Look up the exact meaning of one Veritio term such as governed change, episode, commit, risk band, or chain scope.",
      "questions": [
        "What do AuditEvent, AuditRecord, and authoritative store mean?",
        "What is the difference between a change, an activity, and a revision?",
        "What is an activity episode, a records root, and a chain scope?",
        "Which terms describe evidence support without implying compliance?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7",
        "@veritio/storage@0.4.7",
        "veritio@c4100ee"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/README.md",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/README.md",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/governed-change.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/risk-score.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/risk-policy.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/evidence-commit-hashing.md",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/export-bundle.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/outbox-types.ts"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/reference/governed-change-api/",
      "markdownUrl": "https://getveritio.com/docs/reference/governed-change-api.md",
      "title": "Governed change API",
      "description": "Signatures, capture modes, reserved context keys, derived identifiers, and outbox shape for the Veritio governed-change draft builders in TypeScript, Python, and Go.",
      "group": "reference",
      "audience": [
        "developer",
        "governance"
      ],
      "kind": "reference",
      "searchIntent": "Look up governed-change draft signatures, capture modes, reserved metadata keys, derived ids, and outbox shape.",
      "questions": [
        "What is the signature of createGovernedActionDraft?",
        "Which capture modes does defineEntity actually implement?",
        "Why is metadata.traceId rejected as reserved by Veritio?",
        "What does the governed-change outboxEntry contain?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/governed-change.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/python/src/veritio/governed_change.py",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/go/governed_change.go",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/conformance/governed-action-draft.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/conformance/governed-revision-id.json"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/reference/parity-matrix/",
      "markdownUrl": "https://getveritio.com/docs/reference/parity-matrix.md",
      "title": "Cross-language parity matrix",
      "description": "Which Veritio capabilities exist in TypeScript, Python, and Go, which are pinned by conformance fixtures, and where the three SDKs genuinely diverge.",
      "group": "reference",
      "audience": [
        "developer",
        "governance"
      ],
      "kind": "reference",
      "searchIntent": "Check whether a Veritio capability exists in the Python or Go SDK before porting a TypeScript workflow.",
      "questions": [
        "Which Veritio SDK features are TypeScript-only?",
        "Does Python or Go have verifyAuditRecords?",
        "Which cross-language behaviors are pinned by conformance fixtures?",
        "Why does the Go SDK require an explicit risk policy argument?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/index.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/python/src/veritio/__init__.py",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/go/event.go",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/go/risk.go",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/python/src/veritio/risk.py",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/provenance.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/export-bundle.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/adapters/claude-code/src/map.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/conformance/governed-action-draft.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/.claude/rules/02-sdk-parity.md"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/reference/risk-policy/",
      "markdownUrl": "https://getveritio.com/docs/reference/risk-policy.md",
      "title": "Risk policy reference",
      "description": "Every pinned veritio.reference.v1 risk constant, the nine fields the temperature knob rescales, and the fail-closed rules for overrides.",
      "group": "reference",
      "audience": [
        "developer",
        "operator",
        "governance"
      ],
      "kind": "reference",
      "searchIntent": "Look up every pinned veritio.reference.v1 risk constant and the nine fields temperature rescales.",
      "questions": [
        "What are the DEFAULT_RISK_POLICY constants in Veritio?",
        "What does riskPolicy({ temperature }) actually change?",
        "Why does overriding a Veritio risk policy require policyVersion?",
        "How is the +temp0.70 policyVersion suffix built?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/risk-score.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/risk-policy.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/python/src/veritio/risk_policy.py",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/go/risk_policy.go",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/conformance/risk-policy-temperature.json"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/reference/template-catalogue/",
      "markdownUrl": "https://getveritio.com/docs/reference/template-catalogue.md",
      "title": "Template catalogue",
      "description": "Every audit template builder in @veritio/core mapped to the action string, target type, and default purpose, lawful basis, and retention it emits.",
      "group": "reference",
      "audience": [
        "developer",
        "governance"
      ],
      "kind": "reference",
      "searchIntent": "Map each Veritio audit template builder to the canonical action string and evidence defaults it emits.",
      "questions": [
        "What action string does auditTemplates.code.deploymentCreated emit?",
        "Which audit template defaults to the consent_7y retention class?",
        "Why is activity.episode.started missing from auditTemplateSets?",
        "Do the TypeScript, Python, and Go audit template registries match?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/templates.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/python/src/veritio/templates.py",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/go/templates.go",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/event.schema.json"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/reference/troubleshooting/",
      "markdownUrl": "https://getveritio.com/docs/reference/troubleshooting.md",
      "title": "Troubleshooting and error reference",
      "description": "Every fixed fail-closed message, verifier reason, and bundler trap in the Veritio SDK, with the cause behind each one and the change that clears it.",
      "group": "reference",
      "audience": [
        "developer",
        "operator"
      ],
      "kind": "troubleshooting",
      "searchIntent": "Look up the exact Veritio fail-closed error message or verifier reason you just hit and what fixes it.",
      "questions": [
        "What does \"at least one governed field must change\" mean?",
        "Why does Veritio throw \"idempotency conflict\" on a retry?",
        "Why does importing @veritio/core break my Vite browser build?",
        "What is the difference between hash_mismatch and previous_hash_mismatch?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/index.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/governed-change.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/export-bundle.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/risk-score.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/package.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/go/governed_change.go",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/python/src/veritio/event.py"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/reference/verifier/",
      "markdownUrl": "https://getveritio.com/docs/reference/verifier.md",
      "title": "Verifier reference",
      "description": "Call every Veritio verifier, read each failure reason against the check that produced it, and know what a passing result does not prove.",
      "group": "reference",
      "audience": [
        "developer",
        "operator",
        "governance"
      ],
      "kind": "reference",
      "searchIntent": "Interpret every Veritio chain and export verifier result and identify the exact failed invariant.",
      "questions": [
        "What does each audit-record verifier error mean?",
        "Which commit-ledger tamper produces records_root_mismatch instead of hash_mismatch?",
        "Do the Python and Go SDKs verify record chains?",
        "How do export structure, integrity, chain, and signature checks differ?",
        "What does a successful verification not prove?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7",
        "vevb-1"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/index.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/export-bundle.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/python/src/veritio/event.py",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/go/event.go",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/evidence-commit-hashing.md"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/sdks/cli/",
      "markdownUrl": "https://getveritio.com/docs/sdks/cli.md",
      "title": "Local CLI",
      "description": "Run the source-backed Veritio Workbench and local MCP server with write tools disabled by default and no hosted account requirement.",
      "group": "sdks",
      "audience": [
        "developer",
        "operator"
      ],
      "kind": "guide",
      "searchIntent": "Run the source-backed Veritio local Workbench and MCP tools without depending on Cloud.",
      "questions": [
        "Which Veritio CLI commands are currently implemented?",
        "How do I inspect local evidence from the command line?",
        "Are local MCP write tools enabled by default?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "Veritio CLI 0.1.1 at veritio@c4100ee"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/tree/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/cli"
      ],
      "claimRefs": [
        "cloud-projects-keys-ingest"
      ]
    },
    {
      "url": "https://getveritio.com/docs/sdks/go/",
      "markdownUrl": "https://getveritio.com/docs/sdks/go.md",
      "title": "Go SDK",
      "description": "Use the Go module to create, hash, and score portable Veritio evidence, and avoid the zero-value, pointer, and stale-doc traps Go callers hit first.",
      "group": "sdks",
      "audience": [
        "developer"
      ],
      "kind": "guide",
      "searchIntent": "Work around Go-specific Veritio ergonomics — required policy arguments, pointer options, and unexported helpers.",
      "questions": [
        "What does the Veritio Go SDK support?",
        "Why does ScoreRiskSignals in Go require a policy argument?",
        "Which verification functions does the Go module actually export?",
        "How do I set an optional risk temperature in Go?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "Go module at veritio@c4100ee",
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/go/event.go",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/go/risk.go",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/go/risk_policy.go",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/go/governed_change.go",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/go/go.mod"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/sdks/python/",
      "markdownUrl": "https://getveritio.com/docs/sdks/python.md",
      "title": "Python SDK",
      "description": "Build, hash, and risk-score Veritio evidence in Python 3.11 or newer, and learn exactly which TypeScript capabilities the Python package does not have.",
      "group": "sdks",
      "audience": [
        "developer"
      ],
      "kind": "guide",
      "searchIntent": "Decide whether the Python SDK covers a Veritio workflow before porting it from TypeScript.",
      "questions": [
        "What does the Veritio Python SDK support and what is missing?",
        "Does the Python SDK include verify_audit_records?",
        "How is Python risk scoring proven identical to TypeScript?",
        "Why is the Python activity-episode template named differently?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "veritio 0.0.1 (Python) at veritio@c4100ee",
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/python/src/veritio/__init__.py",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/python/src/veritio/event.py",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/python/src/veritio/risk.py",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/python/src/veritio/governed_change.py",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/python/src/veritio/templates.py",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/python/pyproject.toml"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/sdks/typescript/",
      "markdownUrl": "https://getveritio.com/docs/sdks/typescript.md",
      "title": "TypeScript SDK",
      "description": "The complete @veritio/core surface — events, edges, records, governed changes, risk math, templates, provenance, export bundles — and which parts exist only in TypeScript.",
      "group": "sdks",
      "audience": [
        "developer"
      ],
      "kind": "guide",
      "searchIntent": "Map the whole @veritio/core TypeScript surface and find which capabilities have no Python or Go equivalent.",
      "questions": [
        "What does the Veritio TypeScript SDK support?",
        "Which Veritio capabilities are TypeScript-only?",
        "How do I append and verify records in TypeScript?",
        "How do governed changes and risk scoring fit into @veritio/core?",
        "Which TypeScript APIs are safe to import publicly?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7",
        "@veritio/storage@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/index.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/governed-change.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/risk-score.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/risk.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/templates.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/provenance.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/export-bundle.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/export-bundle-chain-modes.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/package.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/conformance.ts"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/start/choose-your-path/",
      "markdownUrl": "https://getveritio.com/docs/start/choose-your-path.md",
      "title": "Choose your path",
      "description": "Route to the right Veritio docs by task - first event, governed mutations, agent provenance, risk scoring, storage choice, consent and DSAR, cross-language work.",
      "group": "start",
      "audience": [
        "newcomer",
        "developer",
        "operator"
      ],
      "kind": "guide",
      "searchIntent": "Pick the right Veritio documentation path for a first event, governed mutations, agent provenance, risk, storage, or DSAR.",
      "questions": [
        "Which Veritio page should I read for the task I am actually doing?",
        "Should I use Veritio locally, self-host it, or use Cloud?",
        "Where do governed changes, agent provenance, and risk scoring live in the docs?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7",
        "@veritio/storage@0.4.7",
        "Veritio Cloud claims · 2026-08-09"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/index.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/index.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/.claude/rules/02-sdk-parity.md",
        "https://getveritio.com/claims.json"
      ],
      "claimRefs": [
        "cloud-managed-path"
      ]
    },
    {
      "url": "https://getveritio.com/docs/start/installation/",
      "markdownUrl": "https://getveritio.com/docs/start/installation.md",
      "title": "Installation",
      "description": "Install the stable TypeScript package or use the source-backed Python and Go SDKs with explicit runtime requirements and verification steps.",
      "group": "start",
      "audience": [
        "newcomer",
        "developer"
      ],
      "kind": "tutorial",
      "searchIntent": "Install a verified Veritio SDK release for TypeScript, Python, or Go and confirm the installed version.",
      "questions": [
        "How do I install Veritio for TypeScript?",
        "How do I use the verified Python or Go source revision?",
        "Which runtime versions does Veritio require?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7",
        "Python SDK 0.0.1 at veritio@c4100ee",
        "Go module at veritio@c4100ee"
      ],
      "sourceRefs": [
        "https://www.npmjs.com/package/@veritio/core/v/0.4.7",
        "https://github.com/getveritio/veritio/tree/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/python",
        "https://github.com/getveritio/veritio/tree/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/go"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/start/record-first-event/",
      "markdownUrl": "https://getveritio.com/docs/start/record-first-event.md",
      "title": "Record your first audit event",
      "description": "Create, append, read, and verify a tenant-scoped audit event with the stable TypeScript SDK in one small runnable program.",
      "group": "start",
      "audience": [
        "newcomer",
        "developer"
      ],
      "kind": "tutorial",
      "searchIntent": "Record, read, and verify a first tenant-scoped audit event with the TypeScript SDK.",
      "questions": [
        "How do I record my first Veritio audit event?",
        "What does an appended audit record contain?",
        "How do I verify the stored record immediately?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/index.ts"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/start/verify-a-chain/",
      "markdownUrl": "https://getveritio.com/docs/start/verify-a-chain.md",
      "title": "Verify a hash chain",
      "description": "Recompute record hashes, sequence numbers, and previous-hash links, then understand the exact failure returned for a changed or missing record.",
      "group": "start",
      "audience": [
        "developer",
        "operator",
        "governance"
      ],
      "kind": "tutorial",
      "searchIntent": "Verify a Veritio audit-record chain and diagnose changed, missing, or reordered evidence.",
      "questions": [
        "How do I verify a Veritio hash chain?",
        "What error appears when an audit record is modified?",
        "Can Veritio detect a deleted or reordered record?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/sdks/typescript/src/index.ts",
        "https://github.com/getveritio/veritio/tree/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/examples/verify-tamper-detection"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/storage/conformance/",
      "markdownUrl": "https://getveritio.com/docs/storage/conformance.md",
      "title": "Store conformance suite",
      "description": "Run createAuditStoreConformanceTests against a custom AuditStore to prove tenant-scoped ordering, idempotency uniqueness, cloned reads, and fail-closed integrity.",
      "group": "storage",
      "audience": [
        "developer",
        "operator"
      ],
      "kind": "guide",
      "searchIntent": "Prove a custom Veritio AuditStore is authoritative by running the published storage conformance suite.",
      "questions": [
        "How do I test a custom Veritio AuditStore?",
        "What does createAuditStoreConformanceTests actually check?",
        "Why does mutateStoredRecord have to bypass the store API?",
        "Do derived archives or ClickHouse projections need to pass conformance?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7",
        "@veritio/storage@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/conformance.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/package.json",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/__tests__/index.test.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/integration/live-databases.test.ts"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/storage/file-store/",
      "markdownUrl": "https://getveritio.com/docs/storage/file-store.md",
      "title": "File store",
      "description": "Run the published local evidence store, reopen it from disk, verify all chains, and understand its single-directory operating boundary.",
      "group": "storage",
      "audience": [
        "developer",
        "operator"
      ],
      "kind": "tutorial",
      "searchIntent": "Persist, reopen, and verify a local Veritio evidence chain with the published file store.",
      "questions": [
        "How do I persist Veritio records without a database?",
        "What files does the Veritio file store create?",
        "How do I verify file-backed evidence after a restart?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/storage@0.4.7",
        "file-store tests at veritio@c4100ee"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/file-store.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/__tests__/file-store.test.ts"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/storage/mongodb/",
      "markdownUrl": "https://getveritio.com/docs/storage/mongodb.md",
      "title": "MongoDB",
      "description": "Wire the published Mongo AuditStore over a host-owned collection and transaction boundary, and understand why it needs a replica set.",
      "group": "storage",
      "audience": [
        "developer",
        "operator"
      ],
      "kind": "guide",
      "searchIntent": "Configure the MongoDB AuditStore with host-owned sessions, unique indexes, and a replica set.",
      "questions": [
        "How do I use Veritio with MongoDB?",
        "Why does the Mongo AuditStore require a replica set?",
        "Which MongoDB indexes does Veritio require and why are both unique?",
        "Why are canonical record bytes stored as strings instead of BSON?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/storage@0.4.7",
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/index.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/conformance.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/integration/live-databases.test.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/docker-compose.yml",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/examples/storage-mongodb/src/create-mongo-audit-store.ts"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/storage/mysql-mariadb/",
      "markdownUrl": "https://getveritio.com/docs/storage/mysql-mariadb.md",
      "title": "MySQL and MariaDB",
      "description": "Wire createMysqlAuditStore or createMariaDbAuditStore to a host-owned transaction executor, apply the shipped DDL, and prove the result with live conformance.",
      "group": "storage",
      "audience": [
        "developer",
        "operator"
      ],
      "kind": "guide",
      "searchIntent": "Wire a MySQL or MariaDB AuditStore through a host-injected SqlAuditExecutor and prove it with live conformance.",
      "questions": [
        "How do I store Veritio audit records in MySQL or MariaDB?",
        "What table schema does the MySQL AuditStore expect?",
        "Does MariaDB need a separate storage adapter?",
        "Why is there no runnable MySQL example on this page?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/storage@0.4.7",
        "MySQL and MariaDB example at veritio@c4100ee"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/index.ts",
        "https://github.com/getveritio/veritio/tree/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/examples/storage-mysql-mariadb",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/integration/live-databases.test.ts"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/storage/outbox/",
      "markdownUrl": "https://getveritio.com/docs/storage/outbox.md",
      "title": "Outbox adapters",
      "description": "Reference for the Veritio outbox adapters, the dispatch contract, the HTTP ingest target, and the finite delivery-safety policy that bounds every attempt.",
      "group": "storage",
      "audience": [
        "developer",
        "operator"
      ],
      "kind": "reference",
      "searchIntent": "Look up Veritio outbox adapter, dispatcher, ingest target, and delivery-safety signatures with their fail-closed rules.",
      "questions": [
        "What does createFileOutboxAdapter do and what options does it take?",
        "What DDL do the Veritio SQL outbox adapters expect?",
        "In what order does dispatchOutboxEntry deliver records and edges?",
        "What are the default delivery-safety limits and what happens at the queue ceiling?",
        "Does an outbox row ever contain credentials or server error text?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/outbox-file.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/outbox-sql.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/outbox-dispatcher.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/outbox-types.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/outbox-shared.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/ingest-target.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/delivery-safety.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/spec/ingest-delivery-control.md"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/storage/overview/",
      "markdownUrl": "https://getveritio.com/docs/storage/overview.md",
      "title": "Storage overview",
      "description": "Choose an authoritative AuditStore from the drivers @veritio/storage ships, then keep archives, analytics, and caches strictly derived.",
      "group": "storage",
      "audience": [
        "developer",
        "operator"
      ],
      "kind": "overview",
      "searchIntent": "Compare authoritative Veritio stores with derived archives, analytics projections, and caches.",
      "questions": [
        "Which storage drivers does @veritio/storage actually ship?",
        "Which invariants must a production AuditStore prove?",
        "Why are object storage and ClickHouse derived tiers?",
        "What does a green conformance run not prove?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/storage@0.4.7",
        "@veritio/core@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/index.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/conformance.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/object-archive.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/clickhouse-read-model.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/file-store.ts",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/package.json"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/storage/postgres/",
      "markdownUrl": "https://getveritio.com/docs/storage/postgres.md",
      "title": "Postgres and Neon",
      "description": "Wire the published Postgres AuditStore through a host-owned transaction client and run the live authoritative-store conformance suite.",
      "group": "storage",
      "audience": [
        "developer",
        "operator"
      ],
      "kind": "guide",
      "searchIntent": "Configure a transactional Postgres or Neon AuditStore and prove it with live conformance tests.",
      "questions": [
        "How do I connect Veritio to Postgres or Neon?",
        "Which transaction invariants make the store authoritative?",
        "How do I run the live Postgres conformance suite?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "@veritio/storage@0.4.7",
        "Postgres example at veritio@c4100ee"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/tree/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/examples/storage-postgres-neon",
        "https://github.com/getveritio/veritio/blob/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage/src/index.ts"
      ],
      "claimRefs": []
    },
    {
      "url": "https://getveritio.com/docs/storage/self-hosting/",
      "markdownUrl": "https://getveritio.com/docs/storage/self-hosting.md",
      "title": "Self-hosting",
      "description": "Assemble the source-backed Node server, an authoritative store, authentication, backups, and recovery verification without a Cloud dependency.",
      "group": "storage",
      "audience": [
        "operator",
        "developer"
      ],
      "kind": "guide",
      "searchIntent": "Assemble and operate a self-hosted Veritio evidence boundary from implemented public modules.",
      "questions": [
        "Which Veritio server and storage modules are available for self-hosting?",
        "Is the Node server a published production distribution?",
        "How should I test backup restore and tenant isolation?"
      ],
      "lastUpdated": "2026-08-23",
      "verifiedAgainst": [
        "OSS server source at veritio@c4100ee",
        "@veritio/storage@0.4.7"
      ],
      "sourceRefs": [
        "https://github.com/getveritio/veritio/tree/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/server/node",
        "https://github.com/getveritio/veritio/tree/c4100ee7b678d0c6b227c67ae6ea1d8a1f373967/storage"
      ],
      "claimRefs": []
    }
  ]
}
