Governance
Governance That Scales: Making AI Analytics Audit-Ready by Default
Sema Team · July 27, 2026 · 3 min read

Most governance programs are built for a world that no longer exists: a handful of trained analysts writing reviewed queries. AI analytics blows that up. The query author is now a model, the requester might be anyone in the company, and the volume is hundreds of novel questions a day. Governance-as-a-review-step can't keep up — so it has to be governance-by-construction.
The principle: enforce at plan time, prove after
Two ideas make AI analytics scale safely:
- Enforce before execution. Access control, column masking, and refusals happen when the query is planned, not after results come back. Nothing restricted ever reaches the model or the user.
- Prove automatically. Every answer records its own evidence as a side effect of answering — no one has to remember to log anything.
This builds on the four layers in our text-to-SQL governance guide; here we focus on making it audit-ready.
Identity-aware, not service-account
The fastest way to fail an audit is a shared read-only service account. Every AI query must run as the requesting user's entitlements. When a regional viewer asks a question that touches another region's rows, the system needs to know it's that viewer asking and shape the result accordingly.
Refuse and mask — and record both
A governed system says no gracefully and writes it down:
- Refuse restricted requests with a reason (
chat.restricted_refusal). - Mask sensitive columns for privileged-but-not-entitled roles.
- Override with an explicit, logged entry (
chat.restricted_override) when someone entitled needs the raw value.
Sensitive columns should be classified automatically at ingest — nobody hand-tags thousands of tables.
Signed evidence: proof you can hand to an auditor
This is the piece most tools miss. Sema bundles each answer's question, SQL, lineage, and access context and signs it with an Ed25519 key. The signature makes tampering mathematically detectable, and the pack can be shared as a read-only, expiring link — an auditor sees the proof without touching your workspace.
| Audit question | Where the answer comes from |
|---|---|
| "How was this number produced?" | The evidence pack's SQL + lineage |
| "Who could access this data?" | Access context recorded on the pack |
| "Has this been altered?" | Re-verify the Ed25519 signature |
| "Who queried PII in June?" | Filter the append-only audit log |
Append-only audit as a first-class citizen
Every question, generated statement, and policy decision lands in an immutable, exportable log. Retrofitting audit is misery; turning it on from day one turns compliance from a project into a filter. It's also your quality loop — reviewing refusals and overrides is how policy improves over time, a core idea in our AI data governance framework.
Governance is the unlock, not the tax
Teams that can prove AI access is safe are the ones allowed to scale it. Done this way, governance stops being friction and becomes the reason you're permitted to put AI in front of the whole company — and, as we cover in the ROI piece, it's where the audit-time savings come from.
Frequently asked questions
Why can't governance just be a review at the end?
Because AI generates hundreds of novel queries a day and the requesters aren't trained analysts. Reviewing after the fact doesn't scale and doesn't prevent exposure. Governance has to be enforced at plan time — before any SQL runs — and recorded automatically.
What makes an answer 'audit-ready'?
It carries its own proof: the question, the exact SQL, the tables and joins it touched, the access decisions applied, and a cryptographic signature over that bundle. Re-verifying the signature detects any tampering. That's an evidence pack, and Sema attaches one to every answer.
How does this map to India's DPDP Act or SOC 2?
Purpose limitation, access control, breach-readiness, and demonstrable records are common threads. An append-only audit log plus signed evidence gives you the 'show me' artefacts those frameworks ask for, generated from live activity rather than assembled by hand.
See a governed semantic layer on your own data
Connect a source or upload a CSV, and ask your first plain-English question in minutes — every answer ships with its SQL.

