● Governance & Security

Trusted, not just fast

Governance is built into every layer — from the data grant, to the kind of query that can run, to a human signing off before a result is trusted, to a complete trail of who did what.

Five lines of defence

🔑

Least-privilege access

The service principal is granted read access only to the specific catalogs it needs — nothing more — managed centrally in Unity Catalog and revocable at any time.

🔒

Read-only by construction

Every query passes a guard that permits a single SELECT only — all data-changing commands are blocked and results are row-capped. Safety is structural, not a matter of trust.

👤

Roles & separation of duties

Access is role-based. Only reviewers (admins) can validate or reject definitions — creators can’t rubber-stamp their own work.

🏛️

No data egress

Only de-identified real-world data, queried in place. We return aggregates and small result sets — never bulk patient extracts.

The review & validation lifecycle

Nothing is “valid” until a qualified reviewer signs off. Editing a validated definition supersedes it and forces re-review — a validated artifact is never silently changed.

⏱ Draft◷ In review✓ Validated | ⚠ Needs changes ✗ Rejected ⊘ Superseded
  • New cohorts & results start as Draft — clearly marked “unreviewed”.
  • A reviewer validates, requests changes, or rejects, with a comment.
  • “Needs changes” opens a conversation — the reviewer’s note flows back to the analyst to diagnose and fix.
  • Editing creates a new version and supersedes the old one — re-review required.
  • Only validated definitions are reused for new questions.

Consistency by design

🧩

Governed definitions

Clinical concepts (e.g. “CDK4/6 inhibitor”) are defined once, validated, and reused — so the same term means the same thing every time.

🧭

De-duplication

Saving a cohort that already exists reuses it instead of creating a near-twin — using a canonical signature plus a similarity check.

🔗

Chain of trust

Evidence inherits its inputs’ status: a report built on an unvalidated cohort is shown as provisional, not trusted.