AIState · feature reference

Every screen, for evaluators

This is the reference list of every screen in AIState, for evaluators who want the detail behind the overview. AIState is where a risk, compliance or investigation team works: entities and their relationships on a graph, the case file with its evidence and audit trail, live feeds streaming into monitoring graphs, and a Context-Aware Dialog that can run any action in the system for you. Every screenshot below was taken from the running system (most on 2026-09-21, the governance and security screens on 2026-09-24) — nothing is a mock-up; where a feature moves, there is a short clip.

Every screenshot on this page is the running system on synthetic and public data — the demonstration workspace, its investigations and its case names are invented. Blocks marked public safety pack are law-enforcement features, shipped off by default on risk-domain deployments (what is in the pack).

The narrated films are on See it work.

Ask, and it does it
One chat drives the whole platform — creates cases, links subjects, runs agencies, opens screens, answers with cards, tables and maps. On a graph it reads, writes and highlights the canvas.
591 permission-gated API operations
Graph investigation at scale
A WebGL canvas with communities, centrality, paths, timelines and maps; imports of CDRs, bank records and chat exports become entities and edges. AI writes follow the autonomy you set: applied within policy, or proposed for review.
the whole graph on one canvas
Live event capture
Streams, webhooks, MCP pushes and file imports flow through visual pipelines into monitoring graphs that keep moving as data arrives — filters, alerts and dedupe run server-side.
live events, inside your boundary
Case files that hold up
Hash-chained audit, sealed and encrypted evidence with custody, two-person approvals, BPMN workflows, deadlines, evidence packs and printable reports.
53 NIST 800-53 controls assessed live
Agencies, checks and connectors
A library of agencies for enrichment, risk, financial and comms analysis; autonomous system agencies that review, validate and monitor; one-click background checks; external tools over MCP.
105 agencies · 17 chains · 217 built-in tools
Your infrastructure, your boundary
Bring your own model per feature — local, your government cloud, or a commercial API when policy allows, your storage, databases and keys; a data boundary that keeps commercial models away from what must stay on-prem.
local · government cloud · commercial API · one boundary switch

01The Context-Aware Dialog — one conversation that runs the work

The home page is a conversation. The model reads the platform's own API as an action catalogue, so every screen, every button and every new endpoint is something you can ask for — and it answers with small live widgets rather than paragraphs.

The dialog at home, answering with widgets
Widgets, not prose. "Show CASE-2026-0034 as a case card, subject cards for its top 4 subjects and a stats widget" — mini cards stacked one per line under the answer, quiet chrome (icon, title, subtitle; actions on hover), each with Show here (swap the card for the live screen in place) and an open-page link; the execution trace of the turn sits underneath.
Embedded screen widget
Screens inside the chat. A case file, subject profile, live graph, workspace, the connectors page, a Knowledge Fabric section or the Schema Builder embed as a widget — the real component, not a picture of it.
The dialog docked on a case
The dock. The same thread follows you bottom-left on every screen; on an investigation it gets the graph tools and can highlight, select and zoom the canvas by entity name. Drag its header to put the conversation anywhere and any edge to resize it, and the place is remembered; minimised it becomes a pill that drags too, so it can be parked out of the way of whatever you are reading.
  • Action catalogue from OpenAPI — nothing hand-listed; a new router endpoint is a new action the same minute
  • In-process execution with your token — auth, permissions, case access, audit and rate limits apply exactly as a click would
  • Destructive actions need explicit confirmation and a yes-word in your own message
  • Widget vocabulary — case · subject · stats · list · kv · chart · gauge · table · timeline · steps · map · diagram · network · flow · heatmap · compare · orgchart · correlation · screen; the same kinds agencies use
  • Streamed replies — the model streams: words appear as they are written and each widget lands the moment its call is complete; read-only tool calls in a plan run in parallel and the action catalogue is pre-searched for the message, so a typical turn is 5–7 s on the server with the first widget at ~3 s
  • Follow-ups suggested under every answer; every thread has a URL; the trace shows each hop on the server clock

It is not a general chatbot. It answers about the platform and the work in it — your estate, workspaces, investigations, live graphs, cases and their records, subjects, agencies, connectors and settings. Asked to write software for another system or to translate something, it says so in one line and points at the nearest thing it can actually do. Code is on the table only when it is code for AIState: a policy or filter expression, a read-only check, a pipeline mapping, a snippet that posts to an ingress endpoint.

1eWorkflows — built by talking, tested, traced, and started by events

Describe a job in plain English and the Dialog builds the workflow from what the platform already has: its own actions (screening, alerts, assignment, escalation, approvals), 217 built-in tools and connectors plus the MCP servers your organization registers, and 105 agencies. Every step keeps its permissions, its audit trail and its review queue. Test it without changing anything, read any run as a trace, and let it run by hand, on a schedule, or the moment something happens. The film below was recorded on the live system on 2026-10-12 — the KYC review was built, tested and run, and the event workflow ran by itself when a high alert arrived, all on camera.

Workflows on AIState (7:26, narrated). A compliance lead describes a periodic KYC review and the Dialog builds it in under a minute; a test run changes nothing; the real run carries an unchanged decision forward; the trace shows every step on one clock; one line puts it on a weekly schedule. Then a starter — assign new high alerts as they arrive — is published as an event workflow, and when the transaction monitoring system raises a high alert it runs by itself within seconds. Wait steps, the twelve events and the perpetual-KYC starter close it.
A test run's result: every step, what ran for real and what was only described
A test run changes nothing. It reads the live data for real; Detect client changes and Apply discount policy run as their own preview; every step that would raise an alert, assign work, write or ask a person says what it would have done instead. Approvals take the approved path and waits the "it happened" path at once.
The run trace: every step of a run on one clock
Every run on one clock. Click a run for its trace: a waterfall of every step nested under the condition, approval, wait or error path that led to it — running, waiting for a person or an event, failed-carried-on, failed — with timings on hover, each step's input and output, a whole-run strip, Show the failed step and Run again.
The events a workflow can start on
Twelve events. An alert raised, escalated or closed; a case opened or changing status; a subject added; evidence filed; an RFI answered; a client's KYC details changing; computed risk rising; or an outside system calling the workflow's own address with its token. Filters per event, a wait that folds bursts into one run, and no workflow starting itself in a loop.
A run started by an alert, and what it did
Started by an event. A high alert raised by the transaction monitoring system starts "Assign new high alerts as they arrive" within seconds: the alert goes to the analyst with the fewest open items and they are told. The run says which event started it and which alert it was about.
A KYC workflow run paused for an analyst's approval
Financial crime: KYC and screening. Screening against sanctions, PEP and watch lists on the customer's own record; an unchanged decision carried forward; a sanctions hit or a score of 90+ raises a critical alert and waits for a supervisor; 75+ goes to the least-loaded analyst; any material match goes to the KYC profile reviewer agency and then an analyst's sign-off. Here the run has taken the review path and is paused for the analyst — Approve / Reject on the screen, the work queue and the notification.
An hourly cyber workflow, every step succeeded
Cyber: credential stuffing. Hourly: an IP reputation check and network lookup from the threat-intelligence connectors, the ATT&CK technique, the ATT&CK mapping agency working on the case itself, then a decision — a known-bad source raises a high-severity alert for the least-loaded analyst, anything else becomes a note on the case. Every step's input and output is kept with the run.
  • Built from the platform's own blocks — platform actions, built-in tools, the MCP servers your organization connects, and agencies; the Dialog uses only the connectors the workflow's workspace actually has
  • On the real records — subjects and cases named in the request are looked up in the workspace, so each step works on the actual customer or case, not a name
  • Checked before it is saved — every graph is validated the way the designer validates it; anything that cannot run is sent back and repaired, so a broken workflow is never handed over
  • People where it matters — approval steps by role, department or named people, with a timeout that counts as a rejection; agencies propose into the review queue unless told to apply
  • Errors handled — any step can retry, carry on, or follow its own error path (for example, raise an alert)
  • Triggers — manual (Run now), a schedule (hourly, daily, weekly, monthly or any cron expression, in the time zone you choose), or an event — twelve of them, each with its filters, including a webhook address with its own token for outside systems; published workflows run on their own and every run is kept step by step
  • Test runs — run the current version against the live data without changing anything; every step that would act reports what it would have done
  • Run traces — every step of every run on one clock, nested under what led to it, with its input and output
  • Wait steps — for a time, or until a case task is done, an alert or case is closed, new evidence is filed, an RFI is answered or a client's record is updated, with a deadline path
  • Starters — ten complete workflows to adapt: perpetual KYC with adverse news, client changes reviewed in minutes, document chasing, new high alerts assigned, new customers screened, confirmed match → SAR decision, risk rose → EDD, closed case → sealed snapshot, RFI answered, adverse news sweep
  • Changed by asking — on an open workflow the Dialog edits, runs, publishes or pauses it; the designer redraws, and everything can still be adjusted by hand from the library

1fDashboards — business intelligence on the bank's own knowledge, built by asking

Dashboards over what the organization itself knows: its cases, its work queue, the subjects in its investigations and their money — live, and governed like every other record. Describe the dashboard you want and the Dialog builds it; change it by asking again or by hand; give every team its own view from the same tools. The film below was recorded on the live system on 2026-10-08 — the dashboard was asked for, built and refined on camera.

Dashboards, built by asking (5:20, narrated). A fraud lead asks for four headline numbers across the top, a map of the subjects, a risk funnel, cases by status and the money over time. About twenty seconds later it is built and every chart has been run and checked; a follow-up adds a table of the largest counterparties. Then supervisors, financial crime analysts, team leads and leadership each get their own view.
The Dialog builds a fraud operations dashboard and shows it in the conversation
Asked for in plain words. "Four headline numbers across the top, a half-width map, a risk funnel, the money over time, four columns across." The dashboard assistant looks only at the data the person may read, drafts every chart, runs each one as them, lays them out — and says so: all 8 charts validated and returned data. The dashboard opens right in the conversation.
The fraud operations dashboard: four headline numbers, a map, a risk funnel and transaction value over time
Four columns across. Open and high-priority cases, open work items and total transaction value, each with its trend; the map plots every subject with a known location straight from the graph; the funnel runs from low risk down to the few that are critical. Click any bubble or bar and the whole dashboard filters to it.
The dashboard after a follow-up: a table of the ten largest counterparties
Changed by asking again. "Add a table of the ten largest counterparties by total transaction amount" — the same conversation changes only what was asked and re-runs the charts. Edit mode does the same by hand: drag, resize, headings and notes, save or discard.
Supervisors — case operations dashboard
Supervisors: case operations. Open and critical cases, cases opened per week, cases by status, priority and type, the load on each investigator and the oldest open cases.
Financial crime — the money dashboard
Financial crime analysts: the money. Total moved, the number of transactions and senders, amount per month, the top senders and receivers and the shape of the transfers.
Team leads — the work queue dashboard
Team leads: the work queue. What is open and overdue, how fast it closes, what was raised each day by severity, where it comes from, and the load on each person.
  • Built by asking — in the Dialog, or from the dashboard itself; the assistant drafts the whole dashboard, runs every chart as the person asking and reports any that came back empty, so nothing is handed over broken
  • Twenty chart types — headline numbers, tables, pivots, bar, line, area, pie, scatter, heat maps, treemaps, funnels, gauges, histograms, sunbursts, sankeys, graphs, radar, timelines, calendars and maps; any chart can also be built by hand
  • A 12-column grid — four across, three across or full width; drag and resize in edit mode; headings, notes and dividers; auto-refresh on a timer
  • Filters and cross-filtering — by time, value or range across every chart at once, or click a point on any chart to filter the rest
  • Governed data — cases, tasks, evidence, legal process, RFIs, the work queue, findings, tips, subjects, transactions, call records, indicators, risk assessments and agency runs, each limited to the records the viewer may see; with the right permission, SQL datasets read in place over the organization's own databases, read-only; the source stays authoritative
  • Every team its own view — templates for case operations, the work queue, financial flows, threat intelligence, risk and AI usage give each team a starting point; sharing is per person, department, workspace or everyone
  • Sharing gives the dashboard, never the data — every chart runs as the person viewing it, so a restricted case stays restricted on a shared dashboard

1aBook of cases & the workspace graph

Two ways to see a whole workspace at once: every case as a constellation with the connections between them, and every object in the workspace on one canvas.

Book of cases
Book of cases. Each case sits on the ring with a dial of its own chapters; a chord is drawn for every connection between two cases — a shared subject, a shared identifier, a direct link between their subjects, or a pending match (dashed, because it is inferred). Width is strength; click a chord to see exactly what they share, click a case to focus it.
Workspace graph
The workspace as a graph. Investigations, live graphs, cases, subjects, evidence, legal process, indicators, imports, identifiers, findings, watch hits, proposals, agencies and background checks — with the relationships between them. Open in graph viewer puts the same picture on the investigation canvas.

1bRecords: imports & analytics

Call detail records, bank returns, device extractions, chat exports and cyber logs become entities and relationships, and the source records are held as case evidence under your key — hashed, analysable, and not a copy of the system they came from. Profiles: generic · CDR · bank · UFED contacts · messages · netlog · access log · mail log · forensic.

Comms / toll analysis
Comms / toll analysis. Hour of day with night hours in amber, day of week, activity per day, the most active numbers and the busiest pairs — from the call detail records as imported.
Transaction ledger
Transaction ledger. Per account in, out and net, counterparties and a monthly series, with structuring, round-amount and pass-through flags raised on the rows themselves.
Cell sites and movement
Cell sites & movement. Handset tracks, dwell, co-location and who-was-there, computed on demand from the cell ids already in the records — no separate upload.
  • Preview first — the profile and the column mapping are detected and 200 rows are dry-run before anything is written
  • Merged, not duplicated — entities merge on type and normalised name (phones to E.164, IBANs upper-cased); edges aggregate count, first and last seen, talk time, amounts
  • Every row kept — as a call record, transaction, message or event linked to both ends, never as an entity, so canvases stay clean
  • One click undoes an import — everything carries the import id
  • Comms / toll analysis — top numbers and pairs, hour-of-day and weekday patterns, per-number contacts with in/out, talk time, night-hour activity, common contacts between two handsets
  • Transaction ledger — per account in/out/net, counterparties, monthly series, and flags: structuring (9,000–9,999), round amounts, pass-through within three days, repeated-pair patterns
  • Cell sites & movement — tracks, dwell, co-location, who-was-there, from the cell ids already in the records

1cIndicators, watches & sightings

The register is only useful if something keeps looking. Everything the platform reads is checked against it, a sighting is recorded, and the watches you configure decide the response.

Indicator register on a case
The register. Typed and normalised values (defanged input is understood), confidence, TLP, status, kill-chain phase and ATT&CK techniques, sightings, the entity each one represents, and a deconfliction badge when the same value appears in another case. Import or extract from evidence text; export STIX 2.1, CSV or an ATT&CK Navigator layer.
Indicator watches
Watches are data, not code. The sources a watch reacts to (imports, evidence text, live events, other registers, your API, an analyst, an agency), a scope over the indicators, a condition over the observation, a quiet period and a minimum confidence — then the actions: notify, raise a task, write a timeline entry, tag, change status, or run an agency. Re-check replays what was observed before against the register as it is now.

1dAI usage

Every model call and every tool call is written to a usage ledger off the request path — so what the AI is doing is measured rather than estimated.

Agencies and MCP usage
Agencies & MCP usage. Runs and outcomes per agency, p50/p95 duration, which tools and which connectors were called, tokens, and who ran what — per workspace or across the deployment.

02Workspaces, overview & insights

A workspace holds investigations, live graphs and cases. Its overview is one dashboard fed by a single graph query; its settings show who can see it, who actually uses it and what it costs.

Workspaces home
Workspaces home. Cards with counts, access level and visibility; restricted workspaces are invisible to non-members. Archived ones hide by default.
Workspace overview
Overview dashboard. Tiles, a "needs attention" list (pending AI proposals, new tips, watch hits, approvals, overdue RFIs, retention due, legal holds, open subject changes), deadlines and recent cases — all from one Cypher statement of CALL {} subqueries.
Cases tab
Cases tab. Every case with number, status, priority and classification; the same shell holds Investigations, Live, Tips, Watchlists, Screening, Collections, Resolution, Sources, Automation and Retention.
Members and roles
Members & roles. Owner > manager > member > viewer, combined with the global role into one effective level; open vs restricted visibility.
Access matrix
Access matrix. Everyone who can see the workspace × every permission — the answer to "who can do what here" as a grid.
Access insights
Access insights. Active users 1/7/30 days, views and clicks per day, top screens, most-opened items, per-member last seen, hour × weekday heat map. Product analytics, kept apart from the audit trail.
Storage and usage
Storage & usage. Measured by a separate worker (never on the request path): evidence bytes, graph/live/case/agency metrics, composition, growth sparklines per metric and a per-item breakdown. New workspaces get 90 days back-filled from creation timestamps, marked as reconstructed.

03The investigation graph

Entities and relationships on a WebGL engine — the same one that renders millions of live nodes. It streams while it loads, persists positions, runs analysis on the canvas and switches to 3D.

Canvas in motion. Zoom and pan, community detection with hulls, betweenness, radial and force layouts, 3D orbit, ⌘K search that frames an entity and opens its panel.
Investigation canvas
Operation Darknet. Icons, labels, confidence halos, entity types and top relationships in the side panels, AI proposals in review.
Communities
Communities. Label propagation in the layout worker; hulls and colour carry the result.
Betweenness
Betweenness centrality. Degree, betweenness, PageRank and closeness size and colour the nodes; rankings panel lists the top entities.
3D view
3D. Perspective camera, depth and fog; drag to orbit, wheel to dolly. Every screen-space feature projects through one function.
Global search
⌘K over your records. Entities and their identifiers, cases, records, documents, live nodes and findings — fuzzy and prefix, with identifier-like input searched compacted too.
⌘K finding a settings screen and a guide topic
…and over the app itself. Every screen, settings control, case tab and guide topic is searchable, which is what you actually want when hunting for a setting — they need no server and appear as you type. Tab narrows to Screens & settings; ⌘↵ copies a link to whatever is selected, so it can be pasted into a ticket or a case note. A link is a shortcut, never a grant: whoever follows it still needs the access.
Entity panel
Entity panel. Properties, relationships, cases, identifiers, policies and changes; Enrich, Run agency, Lookups and Background check are one click away.
Map view
Map view. Located entities on a vector basemap (MapLibre + OpenFreeMap), switching from the canvas without losing the investigation.
  • Streaming load — NDJSON rows appended in batches; slim rows on large graphs, details hydrated on inspect
  • Persisted positions — moved nodes saved every 30 s; reloads open settled
  • Layout locks when settled — the layout worker decides when the whole graph is done (mean movement below a threshold, or nothing new for 45 s) and freezes every node; nothing drifts on its own again until data, a drag or a re-layout wakes it. A pill shows Settling · Lock now then Layout locked · Re-layout
  • Layouts — force, layered (Dagre-style), radial, circular, grid
  • Overlays — focus edges with labels and flowing dashes, community and analysis hulls, combos, fisheye lens, minimap, edge bundling on smaller graphs
  • Selection — screen-space pick grid, edge picking, brush, lasso, multi-select
  • Timeline & export — time slider, image export, undo

05Live event capture

Every input — HTTP ingress, webhooks, MCP, real SSE/WebSocket feeds, polled APIs, simulators, file imports — funnels into one engine that fans events out to every browser and persists them to the graph. The browser renders millions with a custom WebGL2 engine and a physics worker that only moves what changed.

Live, as it happens. The "Internet feeds" graph (Bluesky posts, Binance trades, USGS earthquakes) opening on its most recent window, sources and pipeline on the left, the analysis bar below, then 3D.
A live monitoring graph
Live, as it happens. The HUD shows what has arrived and the window you are looking at; new events animate only their neighbourhood.
Live graph zoomed
Zoomed in. Labels, kinds and hubs resolve as you approach; the pipeline overlay draws each source as a stage with a spark per event.
Live 3D
Live 3D. Same stream, perspective camera with depth and fog.
Window control
Window & retention. Reload the latest 25k…1M nodes or the last 15 min…7 days; set per-graph retention so the server prunes old data every 5 minutes.
Communities live
Communities form in real time. Label propagation colours clusters as they appear; a static graph stops completely.
Add source
Add a source. Ingress, webhook, MCP server, live feed (presets: Wikimedia, Bluesky Jetstream, Binance, certstream, GitHub events, USGS), demo simulator, or import a file.
Only what changed moves. Per-node heat: new data is hot, cools and freezes, so live data animates its neighbourhood and nothing else.
  • Pipelines on the server — source → transform → filter · route · map · alert · sample · rate-limit · dedupe → graph, before fan-out and before storage; per-block counters
  • Schema sampler — field paths, types and samples per source and stage feed the field pickers and the Transform panel
  • Import — CSV / JSON / NDJSON with mapping suggestions, instant or replayed at N rows/s with progress
  • Layout persistence — a reload opens settled; only fresh data moves
  • Native tools — ⌘K search, node panel, kind filters, isolate neighbourhood, lasso, export JSON/CSV, 2D/3D, static layouts
  • One runner per source — exactly one per stream or simulator source, however many servers run; restarted on config change

06Entities & agencies

Every subject has one page; every agency is configuration. Effects (risk properties, flags, tasks, activities) apply at the autonomy level you set for the process. Changes you reserve wait in the review queue.

Subject profile
Subject profile. Identity block with identifiers (feeding entity resolution), risk, cases and roles, evidence, activity, subject policies and the change banner for material changes awaiting acknowledgement.
Running an agency, live. "Role in the network" on Viktor Volkov: the execution trace shows context → model → tools → graph with every hop timed on the server clock, then the result and effects kept on the record.
Agency menu
Run agency. 84 agencies in 12 disciplines — enrichment, risk, analysis, financial, communications, OSINT, legal, case operations, reporting, triage, cyber, human intelligence — filtered to the current context.
Live execution trace
Execution trace. Ledger of model calls, tool calls, tokens and bytes; topology strip; DAG; waterfall.
Agency result
Result. Structured findings; risk props, flags, tasks and activities apply as effects; graph writes wait in the review queue as dashed amber proposals.
System agencies dock
System agencies. 21 agencies that run on a schedule or an event across every case — review, validity (Admiralty grading), intelligence support, monitoring — with findings in the dock.
Agency answering with graphics
Agencies answer with graphics. "Command structure" on the Harbour Light case: an org chart of who directs whom, drawn from evidence, and a steps widget showing how the assessment was derived — each chip an exhibit or timeline entry. Every widget can be saved as an exhibit (SVG original, hashed, in the evidence register).
  • Background checks — identity, internal, screening (OpenSanctions), registry (GLEIF, Wikidata, company registers), media (GDELT, Wikipedia), courts (CourtListener), digital (RDAP, MX, breaches, crt.sh, username presence, wallets) with a graded report in 20–40 s
  • Subject policies — periodic enrichment or risk recalculation per subject/case/role/type; propose or apply; materiality policies decide what must be seen
  • Collections & cohorts — hand-picked or policy-defined sets of entities; run an agency, playbook or background check across every member, add them all to a case, watch them all (see below)
  • Entity resolution — identifiers, folded names and fuzzy name matching; merge, or record that two are not the same
  • Watchlists & deconfliction — hits and cross-case notices to the leads
  • Lookups — Wikidata, OpenSanctions, mempool, Companies House, OpenCorporates, Blockcypher; results arrive as proposals
  • Agency library editor — prompts, tools (glob allow-lists), contexts, output schema and effects; custom agencies; reset to built-in
  • Full lists — all 84 library agencies · all 21 system agencies

07Cases

A graph-native case file with an analyst's workflow built in: subjects, evidence, timeline, tasks, regulatory reports, recoveries and holds, restricted sources, map, calendar, BPMN process, whiteboards, access and a hash-chained audit trail — with Meet and Email in the header.

Case overview
Case overview. Number, type, priority, status, classification and handling; synopsis, squad, key subjects, recent activity, approvals and comments.
Subjects list
Subjects, as a list. One row per entity with role, graph, counts and an attribute summary (how many, how many sourced, last enriched from where); Enrich runs the enrichment agency for the entity's type against the connected MCP tools with a live trace, Enrich all via MCP does every subject in turn. Policy-driven changes flagged by materiality with accept / reject / acknowledge.
Attribute provenance
Where every attribute came from. Expand a row for each value with a source badge; hover for the trail — which connector and tool produced it, what the model cited, the link, confidence, who ran it and when, and the values it replaced. Manual edits, imports and lookups are recorded the same way.
Status workflow
Status as a workflow. Open → Active ⇄ Suspended, Cold, Closed, drawn like Jira with the current state lit and only the transitions available from it; every move needs a reason (on the timeline and the audit trail), closing takes a date and outcome, and close/reopen by anyone below supervisor becomes an approval request.
Background checks tab
Background checks tab. Every subject's latest check — grade, score, findings, when, by whom — with check / re-run per subject, check all unchecked, and the log of checks run from the case.
Background check report
The report. Grade and score, the model's assessment with key findings, gaps and recommended actions, findings by severity with sources, each section's raw results, sources that were off; printable and kept on the subject.
Evidence
Evidence. Exhibits with type, custody status, hashes, seal, hold, text-extraction state, provenance for web captures; bulk upload, labels, redaction, capture.
Timeline
Timeline. SVG swimlanes for court, legal, activities, evidence, assets and deadlines with brush-zoom, over the graded activity log.
Tasks
Tasks & approvals. Assignments notify; unseal, disclosure, asset decisions and restricted-source payments need a second person (two-person approval).
Legal
Legal process.public safety pack ↗ Warrants, orders, Title III with 30-day renewal and 10-day report deadlines derived automatically; affidavit export per item.
Court and assets
Court & assets.public safety pack ↗ Hearings per subject, seized and restrained assets with values, custodians, dockets and forfeiture deadlines; dispositions via approval.
Confidential sources
Confidential sources.public safety pack ↗ CS numbers, code names, reliability A–F, handlers; visible only to handlers and cleared supervisors; every open audited; payments ≥ 1,000 need approval.
Case map
Case map. Located subjects, activities, evidence and handset dwell sites; geocode on demand.
Calendar
Calendar. Explicit deadlines merged with derived ones — legal expiry, task due dates, retention, court dates, forfeiture, RFIs.
A workflow paused for a supervisor’s approval
Process. Standard notation on a standard engine; each step names its role, task data is the case; step cards, SLA timers, diagram with progress markers.
Access
Access. Team vs restricted, per-case grants (owner, co-owner, analyst, reviewer, viewer) on top of clearance.
Audit
Audit trail. Hash-chained per case, reads included; anchor now, verify chain, verify anchors.
Exports
Exports. Summary, exhibits register, chronology (HTML/CSV), FD-302-style activity reports, affidavits, and the Bates-numbered disclosure package — a zip with index, decrypted originals, per-file hashes, audit head and privilege log.
  • Comments & @mentions on the case, every exhibit, activity and task; inbox with approvals and deadlines in the bell
  • Charts & report builder — server-rendered link charts and timelines attached as evidence; versioned reports rendered to HTML/DOCX; finalise locks
  • Importers — CDR, bank, UFED contacts, chat exports, generic sheets; comms analysis and transaction ledger with structuring flags; geo analysis of cell sites
  • Automation — playbooks, schedules, RFIs with letters, public tip intake and triage
  • Duplicate detection across a workspace with merge that carries case links
  • Case search — highlighted snippets across records and extracted documents
  • Tags — everyone’s own filing system — a label a person puts on a case, subject, exhibit, investigation, live graph, indicator, agency or chain so they can find it again. Private by default: only the owner sees their tag on a record, and publishing it to the workspace makes it the squad’s, with every application stamped with who made it. Not a status and not a classification — the chip stays neutral and only the dot carries the tag’s colour. tag: in ⌘K lists what yours are on, grouped by kind, and the home page rolls up everything you have filed
  • One table everywhere — cases open as a sortable, filterable table by default (cards are a toggle): choose and reorder columns, resize them, select rows for bulk actions, export the view. The same table component is used across the system, and each one remembers your columns and widths

07aCase types & record layouts — the financial-crime case, the KYC case and the company profile

Each case type numbers its own series (FC-, KYC-, CASE-) and carries its own fields, and a record layout decides which tabs a case or a profile shows, in which order, and the widgets on them — chosen by case type or entity type and, optionally, by the record's own risk facts. No layout fits = the standard screen. Shown on the live system on 2026-10-12: Operation Lantern (FC-2026-0003), a trade-based money-laundering case at a demonstration bank, and its customer.

A financial-crime case: synopsis, customer, computed risk and case file
The financial-crime case. Synopsis, the customer section built from the subject's own record, the computed risk gauge with what it is made of, the case file and the financial-crime fields — subjects, evidence, open tasks and legal process counted at the top.
The ownership hierarchy measured from the customer
Hierarchy. Who owns the customer, measured from the customer itself: effective ownership through every layer, UBO flags, jurisdiction and the basis for each line.
A company profile with KYC review, headline figures and computed risk
The company profile. KYC review with four- and six-eye sign-off, the cases it is in, headline figures (revenue, net income, net assets, ultimate owners, money in and out, counterparties) and its computed risk score with its reasons.
The corporate structure chart
Corporate structure. The ownership tree drawn as an org chart, from the resolved graph: owners with their share and UBO badge, through holding companies to the customer.
Financial performance with every row sourced
Financials. Revenue, net income, total assets, equity, debt ratio and margin with their trend; Refresh from sources asks SEC EDGAR, Companies House and GLEIF — every row says where it came from, and a hand-added row must name its source.
Settings, Layouts: the built-in layouts
Settings → Layouts. Which tabs a case or profile shows and the widgets on them, by case type or entity type, with a priority; the highest-priority published layout that fits wins. The built-ins are the financial-crime case, organization and person screens.
A KYC onboarding case with its outcomes
The KYC case. A corporate onboarding with its KYC case outcomes (for example clear, or EDD), the requirements met, the customer and the computed risk — every attribute stored on the case type's own fields.
  • Case types — each with its prefix, its own fields and roles, and the tabs it shows; a workspace offers a subset and a default
  • Record layouts — case and profile screens assembled from built-in tabs and widget grids (facts, risk, customer, KYC, hierarchy, officers, changes, financials, documents, news); a widget only exists when it has both its data and its component
  • Company intelligence with provenance — financials, filings and news from named public sources, each row with its source, link and retrieval time

07bCase snapshots — the case as it stood, sealed, and what changed since

Press Snapshot on a case and everything the person may read of it is frozen as the next numbered version — never edited or deleted — sealed with the evidence key, hashed, and checkable at any time; a separate, isolated service takes a screenshot of every source address the case cites. Snapshots can also be taken on a schedule by a workflow. Shown on Operation Blackwater, 2026-10-12.

The snapshot register with a version's contents and encryption
The register. Every version with who took it and when, its record count and screenshots; open one for what is in it, its encryption and integrity check, and its metadata.
Two snapshots side by side
Side by side. Any two versions compared on the case's content — records added or removed, and field by field what changed — while the audit trail, which changes whenever anyone looks, is left out on purpose.
The change history between snapshots
Change history. Each version against the one before it, in a line: what was added and changed, and "no change since" when nothing was.

07cAlerts, client monitoring & the SAR register

One queue for what may be wrong — screening hits, workflow findings, client changes and adverse news from perpetual KYC, detection policies, transaction monitoring, watchlist hits and indicator sightings — each saying why it fired, closed with a disposition and a reason, or escalated to a case. Discount policies decide the routine ones in the open; perpetual KYC watches every client; suspicious activity reports are kept on a hash chain.

The alerts queue
The queue. Open, overdue and unassigned alerts, how many were discounted by policy or escalated to a case, filters by source and severity, and each alert's clock.
An alert: why it fired, history and actions
One alert. Why it fired, its history (raised, assigned — here by a workflow, the moment it arrived), other alerts on the same party, and Take it, Awaiting info, Close, Add to a case or Open a case.
The discount policies
Discount policies. Ordered policies that keep an alert for a person, escalate it or discount it, each with a reason; What would they do? previews them on the waiting alerts first, and a high-risk outcome always stays with a person.
Client monitoring runs
Client monitoring — perpetual KYC. Every client of a workspace's open cases compared with how it stood at the last run — identity, country, ownership, PEP, screening, risk, reviews, documents, activity — plus adverse news, with a preview before anything is raised.
The SAR register
The SAR register. Every suspicious activity report on the cases you can open, by status — considering, awaiting decision, DAML running, filed, not filed. A report opens on the case's second line, and its history is a hash chain that can be checked.

07dRisk scoring — policies, reasons, no guesses

Risk is computed from policies a person wrote and tested, never typed in by an agency, and the score always equals its explanation. A policy cannot be saved without a reason, and publishing it runs its own test samples first; facts nobody has checked are not evaluated, never "low". Profiles give each segment its own model, and a comparison report shows where the computed score and the agencies' scores disagree.

Risk profiles
Profiles. A risk model per segment — enhanced due diligence, KYC case, politically exposed person, correspondent bank, corporate, retail — each with its policies, weights and bands; the highest-priority published profile that fits a record scores it, else the default.
Risk policies
Policies. Each with its scope, group, points and the samples that prove it fires and stays silent — published only once those pass; an edit that breaks them demotes the policy to draft.
Computed risk compared with the agencies' scores
Compare. The computed level against the agencies' own, side by side: how much was compared, where they agree, a matrix of the disagreements and the biggest gaps with both reasons — read-only, and it says so when nothing could be judged.

07eAdverse media & news relevance — is this article about our customer?

A name search returns everyone with the name. Opened from a case, an article is read against what the case already holds — the customer's record, the people, companies and places linked to it on the graph, and what document understanding read out of the case's own documents — and gets a verdict that only counts what matched: likely, possibly, probably someone else or cannot tell. The model marks each article adverse or not, coverage can be filed to the case as a hashed exhibit, and nothing opens outside the platform. Shown on a periodic review of Glencore, 2026-10-15.

A case's related articles, each marked adverse or not adverse
Related articles. The news on the case's customer, each article marked adverse or not adverse with its outlet, date and region; when the index holds only a few articles, Search for new data asks for fresh ones.
An article with the model's adverse-media reading and the relevance verdict
Is this about our customer? The article in full with every person, organization and place it mentions, the model's adverse-media reading, and the verdict — here possibly: it names Glencore, but nothing else the case holds appears in it — with the places it names that we have no record of.

07fDocuments — read, mark up, ask, compare, version, and one graph across them

Every exhibit with a file opens on its own screen, page by page — PDFs and images as the pages themselves (scanned pages read by OCR), Word, spreadsheets, e-mail and text as pages of their text — with Image and Text views, find, bookmarks, a link to any page, translation, and download of the original or the version open. Four AI readings quote the page they come from; a chat answers from the document alone; any two documents, or two versions of one, open side by side with a word-level redline. Authenticity is read from the file itself, not by AI — every save still inside a PDF with the program that made it, digital signatures checked, dates set by hand, redactions not applied, the edit history of Word files and images — with a verdict of signs of alteration, worth checking or no signs found, never "authentic". The original is version 1 and immutable; later versions are hashed, encrypted and scanned like it. Every mark-up, question and version is shared with the case and audited. Shown on Operation Lantern, 2026-10-15.

A deed beside its document understanding panel
Document understanding. A brief, the key entities, material clauses, links, case context and authenticity in one panel beside the page. The brief and the entities start on their own the first time a document is opened; long documents are read in chunks.
A cited passage marked in the document's text
Citations that jump. Every entity and clause is quoted with its page; Show in document turns to the text and marks the passage — here Sophia Anne Ashbrook's addition to the beneficiary class.
The annotation palette and the pages column
Mark up the original. Annotate: pen, rectangle, arrow and sticky note in six colours and three widths; in the text, highlights in four colours anchored to the words. The left column lists pages, bookmarks, highlights and drawings, each with a link that opens it.
A chat thread answering from the document with quoted passages
Chat with the document. Answers come from this document only, the passages quoted with their pages; follow-ups build on the thread, and every question is kept with who asked it.
Two versions of a deed side by side
Side by side. Another exhibit of the case, or another version of the same one — here version 1 of a deed of settlement against version 4 — with a split to drag and Swap.
A word-level redline of one version against another
The redline. Diff compares each page word by word with the other document's page: removed struck through in red, added underlined in green, and pages that exist on one side only marked.
The changes timeline across three versions of a document
Changes timeline. Every version newest first, with who, when, file and hash, and between each version and the one before it exactly what changed — words added and removed, pages changed and added, every changed passage in context — with the side-by-side redline a click away.
Five documents drawn as one knowledge graph
One graph across documents. Tick documents and Analyse These Documents draws them as one knowledge graph in the case graph's design: the parties, trusts and companies they share, the payments and ownership between them, and the key entities ranked.

07gChange detection — what changed, and what we already know

Nothing changes quietly. A document's versions are compared word by word; every screening is kept, so a subject whose answer differs from last time is listed; perpetual KYC compares each client with how it stood at the last run (alerts); a case can be compared with itself as it stood (snapshots); and every update to a case records which fields changed, from what to what, on its hash-chained audit trail. On opening a case, the platform first says what it already knows about the parties.

What we already know: linked matters and network exposure
What we already know. Before anyone starts: the other matters a party appears on — a shared registered address, a shared director or owner, the same party on another case (a matter the reader cannot see is never named) — and exposure to higher-risk countries.
Screening history with its thirty-day cards
Screening history. Every screening that ran — who, for whom, when and how many hits — with thirty-day cards for hits, hit rate, alerts, cleared and escalated, and Changed since last screening, which lists the subjects that got a different answer than last time.

07hFour eyes, six eyes — decisions a second person makes

Where a decision matters, the platform — not the screen — makes sure a different person takes it, and nobody signs twice, administrators included. Every step is kept with who and when, and every step that is waiting is an item on the work queue for the people who can take it.

The KYC review strip: analyst, 4th eye, 6th eye
KYC review — the 4th and the 6th eye. The analyst submits a subject's KYC, its fields frozen as signed; a different person grades every field (pass, major, minor, housekeeping, with error codes — 95 passes); a high- or critical-risk or enhanced-due-diligence customer then needs a third person's sign-off.
KYC case outcomes and their requirements
Case outcomes. A KYC case is decided by an outcome one person proposes and another, holding the workspace's approver role, approves — never the proposer. The highest open record governs (a sanctions block outranks a clear), and each route's requirements are met by the case's facts or attested.
The alert policy: a false positive needs a second person from high severity
Alert closures. The alert policy sets the severity from which closing an alert as a false positive needs a second person; where the workspace has an approver role, only its holders approve and they are told when one is waiting. Comments on a case can be approved or declined by anyone but their author, too.

08Registers, boards, meetings & email

The parts of an analyst's day that usually live in a notebook and an inbox: the notices the law requires, who on the team should not be on the case, the briefing-plan sketch, the call with counsel, the letter to the bank.

Notification register
Notification register.public safety pack ↗ Statutory notices with legal basis, recipient, due date, method and proof — and the notices the case's own records call for, suggested with their clocks already computed (CAFRA seizure notice 60 days from seizure, Title III inventory notice 90 days after expiry, CVRA victim notice, prosecutor notice, MLAT reciprocal notice). One click adds them; due notices sit on the calendar.
Notification context graph
Context graph. Case → notice → recipient, with the seizure, order or event that gives rise to each notice — who has been told what, and why.
Conflicts of interest
Conflicts of interest. Every member of the case team (lead, grants, task assignees) checked against the subjects: declared interests, own name or identifiers, shared surnames, interests one hop from a subject, prior handling on a closed case. A supervisor acknowledges, waives or recuses — on the audit trail.
Declared interests
Declared interests. Each user's standing register of personal, financial and professional links; a declared link is a waiver conversation, an undeclared one is a finding.
Case whiteboard
Whiteboards. Sketch boards on the case — link sketches, briefing boards, operation plans — autosaved with a version history, lockable, filed as an exhibit with one click. Fonts are served by the platform, never a CDN, so boards work air-gapped.
Whiteboard versions
Versions. Every save that changed the drawing keeps the previous state; restore keeps the current one too.
Email from the case
Email from the case. Sent through your own mail system — Microsoft 365 (Graph), Google Workspace (Gmail) or an SMTP relay (the only sender allowed air-gapped) — with exhibits attached from the evidence register (sealed items refused, withheld ones only as working copies). Recorded on the timeline, audited with recipients and attachment hashes; RFIs and notices open it pre-filled and are marked sent when it goes.
DataFab Meet
DataFab Meet. The case meeting room in our own window: header with the mark, case number, participants and timer; our controls for mute, camera, screen share, tile view and leave; the conference embedded underneath with every piece of third-party chrome switched off.
DataFab Meet as a corner tile
Tight to the case. Shrink it to a corner tile and keep working the case file — evidence, the graph, another case — with the call up; the case button reads In meeting while the room is open. Panel and full-screen sizes, pop-out to a separate window.
  • Meet — a stable, unguessable room per case on DataFab Meet, your own conferencing instance; media is never relayed through DataFab. Reading the link and joining are separate events on the audit trail, so copying a link to invite counsel does not read as having attended
  • Invite the other side — the room link opens in any browser with no account or install. The share panel sets a room password, holds guests in a lobby until the host admits them, copies the invitation text, or sends it through the case’s own mail path so the invitation is filed on the timeline and audited like every other message sent from a case
  • Record it into the case file — one button captures the meeting and files it as an exhibit: hashed, encrypted at rest, chain of custody, audit entry. System audio and the microphone are mixed by default and a live meter shows the level, so a silent recording is caught while it is happening rather than afterwards; a share that carries no audio is refused with the reason. Leaving without pressing stop still files the recording — every exit path stops the recorder and uploads
  • Calendar & bell carry due notices as notification_due next to warrants, tasks and retention
  • Nothing is blocked automatically — a conflict is a record for a supervisor to decide, not a lock-out

09Batch screening, document workspace & collections

Working lists instead of one name at a time: screen a manifest, read an exhibit with everything the case knows laid over it, and act on a set of subjects as a cohort.

Batch screening
Batch screening. Paste a list or drop a CSV (name, DOB, nationality, reference, identifiers); every row is screened against OpenSanctions, the workspace's watchlists and its own records. Schedule it and only rows that become flagged notify you.
Screening results
Results and decisions. Per row: the sanctions candidates with scores, the watchlist that matched, the internal entity and its cases; decide match / false positive / escalate. A provider that is rate-limited says so on the row — never a silent zero.
Screening policy builder
Policy expressions. One condition language for screening policies and smart collections: groups of all / any / none over typed fields; the text under the builder is exactly what the server evaluates.
Document workspace
Document workspace. An exhibit's text with case subjects (blue) and known entities (violet) highlighted — by name, alias or surname alone — unlinked phones, IBANs, wallets and plates (amber), dates and amounts, related exhibits, and an AI reading: summary, key points, red flags, open questions.
Ask the document
Ask this document. Answered from the text only, with the passages relied on quoted and highlighted in place; every question is audited on the case.
Collections
Collections. Named sets of entities — hand-picked from the entity panel or subject profile, or smart: a policy over every entity of the workspace (risk, flags, identifiers, connections, cases involved in) that stays current.
Collection detail
A cohort. Members with risk, investigation and case count; run an agency or playbook over every member, background-check them all, add them all to a case with a role, or watch them all — progress and per-member results under Cohort runs.
Cohort action
Run an agency on N members. One entity-context run each, with optional case context; results land on each subject like any agency run.
Smart collection editor
Smart collection. Scope by entity type and investigation, write the policy, watch the live count and sample update as you type.

10Evidence integrity & encryption

Evidence that stands up to scrutiny: encrypted at rest, hashed on the way in, re-verified on the way out, sealed and held when it matters, never silently altered.

Security and compliance: the posture blocks below the editable policy
Security & compliance. The sign-in and account policy is edited at the top of this page; below it the posture is reported as the server finds it — evidence at rest (AES-256-GCM, antivirus), integrity and disposal, tamper-evident audit with anchors, request limits and backups. Each line says what is actually configured, so an unset scanner or a local-only anchor is stated rather than implied. Secrets are never shown.
Evidence list
Every exhibit carries its proof. sha256, encryption state, seal, legal hold, custody status, extraction method, capture provenance.
  • AES-256-GCM per file — chunked (1 MiB), per-file nonce, NGEV1 container; the key lives only in the server's env file, never in the image or browser
  • sha256 on upload, re-hashed on every download — X-Integrity: verified; a mismatch is a 409 and an integrity_failure audit entry
  • Immutable originals — derivatives go on a working copy; bulk upload; inline previews
  • Audio and video become readable evidence — an uploaded recording, body-cam file, voice note or meeting capture is transcoded to an MP4 every browser plays inline on the case, levelled to the EBU R128 broadcast standard so a quiet microphone is audible, and transcribed; the transcript goes through the ordinary extraction path, so it is indexed for case search, readable in the document workspace and scanned for indicators exactly like a PDF. The original stays byte-for-byte as collected — the playable rendition is the working copy. Speech-to-text runs on a local command inside an air-gapped boundary, or an OpenAI-compatible endpoint; with neither configured the exhibit is marked needs_transcriber rather than silently left empty
  • Sealing blocks edits, deletes and file changes (423); unseal needs a supervisor and a reason; legal hold on a case or exhibit
  • Hash-chained audit per case, reads included; daily anchoring of head hashes to an append-only file and optional external webhook; anchor verification
  • Antivirus on upload, text extraction & OCR (PDF, Word, Excel and scanned images) indexed for full-text search
  • Web capture — server-side fetch with SSRF guards, raw body as immutable original, provenance (final URL, IP, headers, timestamps, optional Wayback)
  • QR exhibit labels & phone scan page for custody; redaction burned into a rasterised working copy; retention review and disposal that keeps the record
  • Disclosure package — Bates-numbered zip with per-file hashes, audit head, last anchor and a privilege log for sealed / withheld / over-classified items
  • Passwords bcrypt or PBKDF2-HMAC-SHA256 (FIPS mode), sessions HMAC-SHA-256 JWTs with revocation, API keys stored as sha256

11Knowledge Fabric — the data-estate catalogue

What a catalogue is to a warehouse, with two differences: the catalogue copies nothing, and nothing stays flat. Every store, feed, dataset, index and integration is discovered automatically — then described, owned, classified, checked and traced — and what those systems hold is resolved into one knowledge graph, where flat rows become multi-dimensional: an object carries its relationships — explicit and inferred — rather than waiting for a join.

Knowledge Fabric: requests to the knowledge graph
Overview. Every asset by service, coverage tiles (described, owned, domains, checks, incidents), an estate map by service and the mix by kind — one hue, by request.
Explorer
Explorer. Workspaces → investigations → entity types with sampled property schemas; live graphs → sources with field schemas; import datasets; evidence containers; the search index; connectors. Describe, own, tier, tag and place in a domain.
MCP connectors in the fabric
MCP connectors are assets too. Every hub category and external server with its tools as columns; the enterprise connections you configure (SQL, NoSQL, object storage, SaaS) appear as connectors.ext.* — never their secrets.
Domains
Domains. Business groupings with owners; coverage shows how much of the estate is placed.
Govern
Govern. Glossary terms linked to the assets that hold them; classifications as controlled tag sets (handling, PII, tier, provenance).
Ontology
Ontology. The data model as it actually is in the graph: entity types with counts (registered or legacy), relationship types from the count store, a schema graph of which types connect to which, record labels and identifier kinds.
Lineage
Lineage. Source → live graph streams, import → investigation loads, connector → investigation enriches (via proposals), evidence → import extracted; multi-hop, de-duplicated.
Quality checks and when they last ran
Quality. Seven built-in checks (stale sources, unindexed evidence, import parity, orphan placeholders…) plus your own read-only checks, evaluated on the 15-minute sync; incidents are the latest fail per asset; daily snapshots feed the trend.

12MCP: built-in hub, connectors & server

AIState is an MCP client (any external server becomes tools for the dialog and agencies), ships 217 tools of its own — 151 for investigation and 66 read-only connectors into your own databases, object stores and enterprise systems — and is an MCP server for live-graph producers.

Built-in hub
Built-in hub. Investigation tools hosted in-process by category — net intel, mail, documents, people, corporate, crypto, geo, web, social, files, records — with per-tool status and server-side keys.
Hub categories
Enable per category. Sensitive categories are off by default; every keyed tool names the key it needs; tools are read-only and rate-friendly.
Enterprise connectors
Enterprise connectors, official marks. SQL (PostgreSQL, MySQL, SQL Server, Oracle, Snowflake, BigQuery, Databricks, ClickHouse, Trino, Athena, SQLite/DuckDB), document, key-value, search and graph stores (MongoDB, DynamoDB, CouchDB and others), storage (S3 and compatibles, Azure Blob, GCS, SFTP, HDFS, shares) and enterprise (Salesforce, ServiceNow, Jira, Zendesk, HubSpot, Dynamics, Entra, Google Workspace, Okta, Splunk, Datadog, Loki, Prometheus, Kafka, RabbitMQ, Airflow, GitHub/GitLab, Box, OData, REST) — read-only, over named connections you configure, every host checked against the data boundary.
Connector settings
Connector settings. Tool filters keep big servers to the relevant subset; header secrets are write-only; a classification ceiling withholds a connector from cases above it.
MCP endpoint
MCP endpoint (server side). POST /mcp with client snippets: producers push events, upsert nodes and edges, delete — with per-source tokens.
Push endpoints
Push endpoints. Every ingress and webhook source across workspaces with its URL, token rotate and pause.
  • Transports — Streamable HTTP (JSON or SSE bodies, session ids) and legacy HTTP+SSE, auto-detected; stdio servers via a bridge
  • Governance — classification ceiling per connector, data-boundary egress checks, keys never reach the browser
  • Test, refresh, call — probe a server without saving, refresh its tool list, call a tool by hand
  • Dialog integration — every enabled connector's tools appear as <connector>__<tool>; connector-only batches run concurrently

13LLM providers & the data boundary

Any model behind one interface, and one deployment-wide switch that decides where case data may go.

AI models
AI models & data boundary. Bring your own LLM: the providers from the environment plus any model you register (any Chat-Completions endpoint, Azure, Anthropic Messages, Bedrock, local), each testable; a feature → model grid (dialog, chat, insights, agencies, background checks); a boundary banner says whether case data would reach a commercial API, whether a boundary is set but not yet satisfied, or whether everything matches it.
  • Local inference — any Chat-Completions-compatible server inside your own network (vLLM, Ollama, TGI and the rest); a local-model sidecar ships with the stack behind --profile local-llm
  • Your government cloud — the Azure and AWS government regions (FedRAMP High / GovCloud), where a model you already hold a contract for runs inside your accreditation boundary
  • A commercial API — when your policy allows it: any Chat-Completions endpoint, the Anthropic Messages API, or a managed model on your cloud provider
  • One interface — the same tool loop, trace and review queue whichever you choose; swapping a model changes nothing else
  • Data boundary: open, government or air-gapped — government refuses commercial APIs; air-gapped allows local inference only and refuses every outbound call not on the allow-list (connectors, hub tools, web capture, geocoding, lookups)
  • Never a silent fallback — a provider outside the boundary is never selected; the server serves no AI rather than the wrong one
  • Every AI graph write names the model that made it and follows the same policy, trace and review queue, whichever provider you choose
  • Live execution trace for every dialog turn and agency run; AI calls rate-limited per user

14Your infrastructure: storage, databases and keys you control, with the models you choose

Four editions: Foundation, Professional, In-tenant and Sovereign. Foundation runs single-tenant, DataFab-operated, in the region you choose. From Professional upward the data plane runs in your own cloud or on your own hardware, under your keys — no vendor bucket, and no raw data in the control plane. In-tenant runs the control plane inside your own subscription; Sovereign has no external connectivity at all.

Health and metrics
Health & metrics. The graph database, cache and search index with latencies, rate-limit counters and a metrics endpoint.
Accreditation
Accreditation. 53 NIST 800-53 controls assessed against your deployment on every load, with the actions that close each gap.
  • Storage you own — evidence files, working copies, subject media and audit anchors live in storage locations you choose; point them at your SAN, NAS or encrypted disks
  • Databases you run — the graph database, cache and search index on your private network, with credentials generated for your deployment; the app never needs internet to operate
  • Keys you hold — evidence key, auth secret, provider and hub keys in one env file on your host; backups keep secrets.env apart from the archives
  • Models you choose — local, government cloud or commercial, enforced by the data boundary
  • Backups you keep — make backup-remote tars every volume with a sha256 manifest; restore replays it; a marker lets the compliance page report backup age
  • Built with evidence — every image carries its CycloneDX SBOM and dependency audit; security headers and CSP on the frontend; attack-surface inventory for your testers

15Users, roles & access

Individual accounts, named permissions, every administrative change a security event.

Users
Users. Role, clearance, department, MFA state, last sign-in; create, deactivate, reset, revoke sessions. First sign-in forces a password change.
Roles and permissions
Roles & permissions. Every capability is a named permission; built-in roles are permission sets; custom roles sit on a base ladder role; the matrix shows who holds what.
Departments
Departments. Hierarchy with heads and default role / clearance for new members.
Access providers
Access providers. Local accounts, OIDC single sign-on and IdP claim → role / clearance / department mappings.
API keys
API keys. Service principals with scopes narrower than their role, expiry and revocation; plaintext shown once, sha256 stored.
Access review
Access review. Dormant accounts, privileged users without MFA, holders of the highest clearance, expiring and never-used keys — computed live, exportable, and the starting point for a recertification campaign.
Security events
Security events. Sign-ins, failures, lockouts, MFA changes, revocations and every user / role / department / key / IdP change with IP and user agent.
  • Authentication — password policy, lockout, TOTP MFA (forced per role), OIDC, token versions that revoke live sessions within 30 s. Every one of those numbers is set on the policy record, not in a configuration file
  • Session lock — the idle limit from the policy (30 minutes by default) signs the user out server-side; background polling doesn't count
  • Clearance public < internal < confidential < secret gates cases, evidence, sources and connectors
  • Case access — team vs restricted, per-case grants; workspace access — owner/manager/member/viewer with open or restricted visibility

16Access governance — policy, lifecycle, recertification

Who may do what is one question; proving it was reviewed is another. The policy is an editable record with a version history, accounts can end by themselves, raising someone to admin can need a second pair of eyes, and access recertification produces something signed.

The sign-in and account policy editor
The policy is a record, not an environment variable. Password length, classes, rotation and reuse; lockout attempts and duration; which roles must carry MFA; the idle timeout; when an account counts as dormant and what happens then; whether elevation needs approval; how often access is recertified. Every field carries its own bounds and the reason it exists. The AUTH_* environment variables seed an empty database and nothing more — after that the record wins, and a change takes effect across every worker within 30 seconds.
Separation-of-duties policies and the policy change history
Separation of duties, and the change log. A separation-of-duties policy names two permissions one person may not hold at once — the classic being that whoever approves a disclosure must not be able to dispose of the evidence; who currently breaches one is listed under Access review. Below it, the actual history: every save keeps the previous version with the field-by-field diff, who made it, when, and the reason they typed. The same diff lands on the security log as policy_changed.
Access recertification campaigns above the computed access review
Recertification — the part that is signed. The review below it computes who looks wrong. A campaign records that somebody looked: it snapshots every active account and API key with the reasons each deserves attention (privileged, no MFA, dormant, secret clearance, never-used key) and holds a decision against each — keep, reduce or revoke, with a reason required for anything but keeping. The badge says whether certification is inside the interval the policy sets.
  • The policy, edited in place — 15 settings on one record; security.read to see it, security.manage (admin) to change it; a new version on every save and an audited change event carrying the diff
  • Enforced, not displayed — the same record drives the password validator, the lockout arithmetic, the MFA enrolment gate and the server-side idle sign-out; no code reads the environment for policy any more
  • Accounts that end — an account can carry an end date; sign-in is refused the moment it passes and a ten-minute sweep deactivates it, writing why on the security log. Dormant accounts can be disabled the same way, by policy
  • Leaver in one step — Offboard deactivates the account, signs it out everywhere, revokes its API keys and removes every workspace and case grant as one audited transaction — then reports the open tasks and led cases for a human to reassign. Nothing is silently reassigned: that is a decision, not a sweep
  • A second administrator on the way up — with approval on, promoting someone to supervisor or admin, or raising a clearance, becomes a request a different administrator decides; whoever asked cannot be the one who grants it. Raising your own access is refused outright
  • Separation of duties — configurable toxic pairs of permissions, with the people who currently hold both listed on the access review
  • Recertification as evidence — decisions are carried out through the ordinary services (a revoke runs the same offboarding a human would), a campaign closes only when every item is decided, and the closed record answers "show me that access was reviewed last quarter, by whom, and what they decided"

16aNotification centre — the inbox, delivered where people work

Every mention, task, approval, watchlist or screening hit, sighting and RFI reply lands in the inbox under the bell. Each person can also have it delivered to the tools they already live in: the Teams chat, the Symphony room, their mail, their phone, the incident queue, the SOC's SIEM. Each channel belongs to that person; the organization sets the ceiling.

Settings → Notifications: my channels, recent deliveries and the organization policy
One page per person. Their channels with a live status (working after a successful send, failing with the product's own error), a Test button, the delivery log, and for administrators the organization policy: which products are allowed, the most a notice may say, and whether on-premises hosts may be reached.
Add a notification channel: sixteen products in four groups
Sixteen products, chosen for a bank or a public body. Chat (Microsoft Teams, Symphony, Slack, Google Chat, Webex, Mattermost, Discord, Telegram), e-mail, incident and on-call (ServiceNow, PagerDuty, Opsgenie, xMatters, SMS) and the SOC (Splunk HEC, signed webhook). Each shows its official mark.
Adding a Microsoft Teams channel: notice kinds, detail level, quiet hours
What goes there, how much it says, when it stays quiet. Tick the kinds of notice (urgent ones are marked), choose full, title or minimal, and set quiet hours in your own time zone. Urgent notices can still come through.
  • Chat where the desk already is: Microsoft Teams (a Workflows webhook, or an older connector URL) as an Adaptive Card with an Open in AIState button, Symphony through its Universal Webhook, plus Slack, Google Chat, Webex, Mattermost, Discord and Telegram
  • E-mail through the organization's own relay, or Microsoft 365 / Exchange Online when that is what is connected. An empty address means the one on the person's account
  • Incident and on-call: ServiceNow opens a record in the table and assignment group you name (by default only for urgent notices), PagerDuty, Opsgenie, xMatters, and SMS through Twilio for out-of-hours
  • The SOC: Splunk HTTP Event Collector, or a JSON webhook signed with X-AIState-Signature: sha256=HMAC(secret, timestamp.body) for a SIEM, SOAR or ticketing system
  • The content stays behind the sign-in when it must: a notice about a confidential or secret case, or a restricted second-line record, is always sent minimal (the kind of notice and a link, never a name or a case), whatever the person chose. SMS never carries a title. The organization can cap everyone at title or minimal
  • A URL can only go where its product lives: hosted products are pinned to their own domains, so a "Teams" channel cannot point anywhere else. Mattermost, Splunk and webhooks need https to a public address unless an administrator allows internal hosts. Every address passes the data boundary, redirects are refused, and webhook URLs and tokens are write-only
  • Never on the request path: a background sender delivers within seconds, holds notices through quiet hours, and retries a failure after 1, 5, 30 and 120 minutes before marking it failed. Recent deliveries shows what went where, what is waiting and why
  • Two permissions: notifications.channels (everyone, from viewer up) to manage your own channels; notifications.manage (administrators) for the policy

17Schema Builder — the data model in the organization's hands

Entity types and record fields are templates you edit, not code you deploy. A custom entity type is a real node label the moment it is saved; custom record fields appear on the existing case forms.

Schema Builder
Template Studio. One tab per entity type (built-in and custom) or case record type; schema name and description; sections with a title, subtitle and the widget they render as; field rows with name, description, type pill and Required/Optional. On the right, the JSON Schema the template amounts to, as code with line numbers.
Schema graph
Graph view. The same schema as a node graph, copyable either way.
Add field dialog
Add Field. Name (the key is derived), description, required, a type card — text, long text, number, yes/no, date, date & time, choice, list, URL — and an example or the options.
  • Custom entity types — Vessel, Firearm, Container… usable on the canvas, in imports, by agencies that write to the graph, in collections and search; coloured as configured; deletion refused while entities use the type
  • Custom record fields on case, evidence, activities, tasks, legal, assets, court and deadlines — stored flat on the record, indexed, exported and audited like built-in fields
  • Ontology in the Knowledge Fabric shows what exists against what is registered

18All settings

One dedicated screen per concern, grouped: Organization · Identity & access · Cases & analysis (workflows, agencies, schemas) · AI & data · Integrations · System (health, notifications, preferences).

Settings overview
Settings overview. Quick links to every section with a one-line blurb.
Agencies
Agencies. Library editor: enable, edit, reset, create.
Case workflows
Case workflows. BPMN definitions by case type and workspace, active and auto-start.
Major financial crime investigation workflow
Complex template. Major financial crime investigation: six lanes, parallel financial analysis / screening / legal authority, three loops, two SLA escalation timers, referral decision, parallel disclosure / assets / court prep, closure approval — 44 nodes, shipped laid out.
Data providers
Data providers. Lookup and background-check sources with key state.
Accreditation
Accreditation. Live control matrix, crypto, SBOMs, audits, evidence package.
Preferences
Preferences. Text size, live-view options, your declared interests; plus a shortcut reference.
Accreditation full page
Accreditation, full page. Open items first, then the 53-control matrix, cryptography inventory with FIPS state, SBOM and vulnerability summaries, attack surface.

19Built-in guide & field tools

Every feature is documented in the app itself, with a diagram per mechanism; the build fails if a screen has no topic.

How-to guide
How-to guide (⌘/). 65 searchable topics — where to click, what happens, real API routes, related topics.
Help diagram
Diagrams. Each mechanism has a flow picture: who decides what, where data goes.
Help: Schema Builder
New features arrive documented. Schema Builder, collections, screening, document workspace, registers, whiteboards and email each have a topic with click paths and real routes.
Help: collections
Diagrams for the new mechanisms — how a policy becomes a cohort, how a row is screened three ways.
Scan page
Phone scan page. /scan reads QR exhibit labels with the camera (or a typed code) to resolve an exhibit and record custody from the field.

21Agency library — every agency

84 configurable agencies. Each is a system prompt, the contexts it runs on (entity · case · investigation · workspace), a tool allow-list, an output shape and the effects applied to a JSON result. Edit, disable, reset or clone any of them under Settings → Agents.

Enrichment · 7

AgencyWhat it doesRuns on
Crypto wallet enrichmentChain, counterparties, exchange exposure and mixing indicators for a wallet; writes counterparties to the graph.entity
Enrich locationPremises intelligence: ownership, occupants, businesses, prior activity and every subject linked to a location.entity
Enrich organisationCompany registry, officers, addresses, affiliates and adverse information for an organisation; writes verified findings to the graph.entity
Enrich subjectLook a subject up through the connected tools, corroborate identity, and write verified facts, related entities and relationships into the graph with provenance.entity
Phone number intelligenceCountry/carrier indicators, graph communications, attribution to subjects and shared-contact analysis for a phone number.entity
Profile enrichmentJudges what every source found about a person — accounts, images, media, relationships, identifiers — decides what is this person, and lands it on the profile with sources.entity
Vehicle enrichmentRegistration indicators, owners/users, sightings and links for a vehicle.entity

Risk · 7

AgencyWhat it doesRuns on
Case risk assessmentOverall case risk: threat to public, officer safety, evidence fragility, legal exposure, time pressure.case
Flight riskpublic safety ↗Likelihood a subject flees: foreign ties, assets abroad, travel history, awareness of the investigation.entity
KYC profile reviewerRe-review a subject's profile: which identifiers hold up, what has expired or is missing, and what tier the evidence actually supports.entity
Officer safety assessmentpublic safety ↗Weapons, violence history, counter-surveillance, dogs, fortification and associates who pose a threat during contact or entry.entity · case
Pattern of conductRepeat-offending and escalation indicators across activities, evidence and prior events.entity · case
Risk scoreScores a subject 0-100 for investigative risk (role, criminality indicators, network centrality, violence, flight) and writes the score to the entity.entity
Victim/witness vulnerabilityVulnerability and protection needs for a victim or witness: intimidation risk, dependence on subjects, safeguarding.entity

Analysis · 8

AgencyWhat it doesRuns on
Cell structurePartition the network into cells (supply, transport, distribution, finance, protection) and describe each.investigation · case
Command structureWho directs whom: leadership tiers, span of control and succession if a leader is removed.investigation · case
Competing hypotheses (ACH)Structured analysis of competing hypotheses for what the network is doing and who leads it.case · investigation
Graph gap analysisUnidentified persons, isolated nodes, missing identifiers and unverified links in the graph.investigation · case
Hidden linksFind non-obvious connections between subjects: shared phones, addresses, accounts, intermediaries, paths.entity · case · investigation
Network analysisWhole-investigation assessment: key players, suspicious patterns, structure, recommended actions.investigation · case
Role in the networkWhat function a subject performs in the organisation and how central they are.entity
Timeline reconstructionChronology for a subject or case from activities, exhibits and events, with gaps highlighted.entity · case

Financial · 7

AgencyWhat it doesRuns on
AML transaction monitorReview the transactions the graph holds for unusual size, frequency or counterparty, score each and flag what an analyst should look at.case · investigation · entity
Asset tracing for forfeitureIdentify assets (property, vehicles, accounts, crypto, companies) traceable to proceeds and who holds them.case · entity
Crypto flow analysisWallet clusters, mixing, exchange cash-out points and attribution for the wallets in the case.case · entity
Laundering typologiesMatch the evidence to money-laundering typologies (structuring, TBML, shell layering, crypto) with indicators.case · investigation
Money flow analysisTrace funds through accounts, companies and wallets; identify layering and the controllers of each node.case · entity · investigation
Proceeds estimateEstimate criminal proceeds from seizures, purity, prices and volumes with stated assumptions.case
SAR-style narrativeDraft a suspicious-activity narrative (who/what/when/where/why) from the financial evidence.case · entity

Communications · 4

AgencyWhat it doesRuns on
Code-word interpretationProposed meanings for coded language in intercepts with confidence and supporting context.case
Communications pattern analysisWho talks to whom, how often, when; hubs, brokers and burner behaviour.case · investigation · entity
Device attributionAttribute phones and accounts to subjects from subscriber data, usage and content, with strength of attribution.case · entity
Intercept summaryCondense wiretap/intercept notes into pertinent calls, participants, subjects discussed and follow-ups.case

OSINT · 5

AgencyWhat it doesRuns on
Adverse mediaNegative news and public reporting about a subject or organisation, with sources and dates.entity
Corporate registry checkRegistry filings, officers, beneficial owners and addresses for a company via connectors.entity
OSINT sweepOpen-source sweep on a subject through the connected tools, reported with sources; nothing is written to the graph.entity
Sanctions / PEP screenScreen a subject against sanctions lists, PEP indicators and enforcement actions via connectors; proposes flags.entity
Social footprintPublic social-media and web footprint: handles, associations, locations, lifestyle indicators.entity

Legal · 6

AgencyWhat it doesRuns on
Affidavit drafterpublic safety ↗Probable-cause narrative for a warrant application, built from activities and exhibits linked to the target.case · entity
Chain-of-custody auditExhibits with custody gaps, missing hashes, unsealed originals or storage inconsistencies.case
Disclosure (Brady/Giglio) reviewpublic safety ↗Potentially exculpatory or impeachment material in the file that must be disclosed.case
Legal authority gapsTargets and evidence without proper legal authority; expiring or unexecuted process; recommended filings.case
Subpoena / production requestDraft a records request (subscriber, toll, bank, exchange) with precise scope and date ranges.case · entity
Title III compliance reviewpublic safety ↗Necessity, minimisation, renewal and reporting checklist for wiretap authorisations in the case.case

Case operations · 9

AgencyWhat it doesRuns on
Arrest operation planpublic safety ↗Arrest risk, timing, location options, coordination and post-arrest evidence actions.entity · case
Deconfliction checkOverlap of subjects, phones, addresses and vehicles with other cases the caller can see.case · entity
Elements-of-offence matrixpublic safety ↗Per subject and charge: statutory elements mapped to exhibits and witnesses with strength ratings.case
Evidence gap reviewEvidence held versus the elements of each charge; what is missing and how to get it.case
Interview planObjectives, themes, question sequence, evidence to confront with and legal cautions for an interview.entity · case
Next leadsPrioritised next investigative steps from the current graph and case file.case · investigation · entity
Onboarding document checkerCheck the documents on the file against what the case actually requires, and produce one complete list of what is still outstanding.case
Search operation planpublic safety ↗Premises, items to seize, hazards, evidence handling and legal scope for a search.case · entity
Task prioritiserRe-rank open tasks by impact, urgency and dependencies; flag stale or duplicate tasks.case

Reporting · 6

AgencyWhat it doesRuns on
302 narrative drafterpublic safety ↗Turn rough interview or surveillance notes into a formal report-of-investigation narrative.case
Case summarySynopsis of the case for a supervisor or prosecutor: predication, subjects, evidence, status, next steps.case
Executive briefOne-page brief for management: bottom line, why it matters, resources, decisions needed.case · investigation
Operational briefing outlineBriefing structure for an operation: targets, intelligence picture, plan, roles, comms, contingencies.case
Prosecution memorandumpublic safety ↗Charging recommendation per subject with elements, evidence, weaknesses and anticipated defences.case
Weekly status reportWhat changed in the last period: new evidence, activities, legal process, tasks done and overdue.case

Triage · 4

AgencyWhat it doesRuns on
Classification & handling reviewRecommended classification and handling caveats for the case or exhibit set, with reasons.case
Data quality reviewDuplicates, missing identifiers, inconsistent properties and stale records among the subjects.investigation · case
Duplicate subject resolverDecide whether two records are the same person/organisation and which to keep, with reasoning.entity
Tip / lead triageCredibility, urgency, corroboration and routing recommendation for an incoming tip.case · workspace · investigation

Cyber · 18

AgencyWhat it doesRuns on
ATT&CK mappingMap the observed behaviour to MITRE ATT&CK techniques, tactic by tactic, with detection and gap notes.case
Attack-surface reviewExposed services, vulnerabilities and certificates on the victim's or a subject's internet-facing assets.entity · case
C2 infrastructure pivotFrom known bad IPs/domains to the rest of the actor's infrastructure: passive DNS, certificates, ASNs, hosting, co-hosted domains.case · investigation · entity
Containment & recovery adviceWhat the victim organisation should do now, in order: contain, eradicate, recover, preserve evidence.case
Credential & breach exposureWhere the subject's or the organisation's accounts appear in breaches, pastes and leak markets.entity · case
Darknet market analysisVendor handles, markets, wallets and shipping indicators linked to the subjects.case · entity
Digital evidence reviewPertinent artefacts in device extractions and account records: contacts, messages, media, locations.case
Fraud-site takedown packEverything a takedown of a fraudulent site or account needs: host, registrar, abuse contacts, evidence and the notice.case · entity
Indicator extractionExtract domains, IPs, hashes, wallets and handles from exhibits/notes and enrich them via connectors.case · entity
Infrastructure mappingDomains, hosting, certificates and accounts used by the organisation, and who controls them.case · investigation
Insider-threat reviewAccess anomalies, data staging and exfiltration signs around a person with legitimate access.entity · case
Intrusion timelineInitial access → persistence → lateral movement → exfiltration, reconstructed from the imported logs and forensic events.case · investigation
Malware sample triageFamily, capabilities, C2 and kill-chain placement of samples from their hashes and sandbox reports.case · entity
Phishing & BEC analysisHeaders, sender infrastructure, lookalike domains, payloads and the money trail of a phishing or business-email-compromise attempt.case
Provider process for cyber recordsWhich registrars, hosts, exchanges and platforms hold the records behind the indicators — and the preservation requests to send now.case
Ransom payment tracingFollow ransom / extortion payments from the victim's wallet through mixers and exchanges to a cash-out point.entity · case
Ransomware attributionWhich group and affiliate model fits: ransom note, extension, TTPs, leak-site claims, wallets and known victims.case
Threat-actor profileHandles, aliases, forums, code, wallets and operational habits of an actor, linked to real-world identifiers.entity · case

HUMINT · 3

AgencyWhat it doesRuns on
Cooperator value assessmentpublic safety ↗What a subject could offer as a cooperator: knowledge, access, risks, and proffer topics.entity
Informant reliability assessmentpublic safety ↗Reliability grading of a source from corroboration history, motivation and handling record.entity
Witness credibilityConsistency, corroboration, bias and impeachment exposure for a witness.entity

22System agencies — every agency

21 agencies that run unattended — on a schedule across every workspace, active investigation and open case, or on events — and act only through tools. Findings land in the dock with acknowledge / dismiss.

Review · 3

AgencyWhat it doesRuns onScheduleTriggers
Agent output reviewerSecond, independent pass over what other agencies produced for a case: are the claims supported by cited tool results and the case file, is the confidence justified, does anything contradict the record. Unsupported claims become review-queue proposals, never facts.casedailya workflow step
Case-file reviewerCompleteness gate before a stage transition (closure, legal referral, disclosure): subjects profiled, evidence hashed with an unbroken custody chain, legal processes linked, timeline consistent, no open critical tasks. Places a review hold on the workflow with the gap list.caseweeklya workflow step
Report reviewerFact-checks narratives, memos and affidavits against the graph and case file: names, dates, amounts and relationships must be recorded facts; flags unsupported statements and disclosure-sensitive content.caseweekly—

Validity · 4

AgencyWhat it doesRuns onScheduleTriggers
Entity validity checkerValidates identifiers structurally (IBAN, phone, VIN, email, crypto address, passport, LEI, IMEI), cross-checks people and companies against registries and sanctions lists, spots dissolved companies and expired documents; marks each entity's validity and why.investigation · entitydaily—
Ingest consistency checkerRuns after imports, feeds and agency writes land: schema violations, duplicates, impossible values, mislabelled types, dangling relationships — before they spread into analysis.investigation · workspaceevery 6 hours—
Relationship validity checkerChecks provenance on relationships (source, date, method), contradictions (two DOBs, a directorship after dissolution), stale links past their freshness window; recomputes confidence from evidence instead of trusting typed values.investigationweekly—
Source reliability graderApplies Admiralty grading (source A–F, information 1–6) to sources and the facts derived from them, so a graph built on a single ungraded tip looks like one.caseweekly—

Intelligence support · 6

AgencyWhat it doesRuns onScheduleTriggers
Collection plannerFrom the case's hypotheses and elements of offence, lists what is still unknown, which sources could answer it (registries, comms, HUMINT, OSINT, live feeds), and keeps the RFI/task list current as evidence arrives.caseweeklyevidence is added
Hypothesis managerKeeps the competing hypotheses alive: every new fact is scored for or against each hypothesis, diagnosticity tracked, and analysts told when the favoured hypothesis is losing support.caseweeklyevidence is added
Indicator & warning agentWatches live graphs and cases for the indicators analysts defined — new wallet-cluster activity, travel patterns, communication bursts — keeps a threat level per subject and escalates through the workflow.workspaceevery 6 hoursa live-graph alert
Intelligence product writerDrafts INTSUM / target packages / subject profiles / threat assessments in the required structure with a grade on every statement and a source appendix; the report reviewer checks it before issue.case——
Pattern & link analystPeriodically runs network analytics across all investigations in a workspace — communities, brokers, hierarchy, cell structure — and reports what changed and which cross-case links appeared.workspacedaily—
RFI responderAnswers 'what do we hold on X' requests from other units or systems with a graded, releasability-checked summary — and logs the disclosure.workspace · entity——

Triage · 1

AgencyWhat it doesRuns onScheduleTriggers
Intake & triage agentOn every new case: classifies type and priority, screens the named subjects against sanctions/PEP lists, links what the graph already holds, and pre-fills the Triage step of the workflow.case—a case is opened

Risk · 1

AgencyWhat it doesRuns onScheduleTriggers
Screening & watchlist agentNightly re-screening of every active subject against sanctions, PEP and adverse-media lists; only changes create work: a task, a flag, an escalation into the running workflow.workspacedaily—

Analysis · 3

AgencyWhat it doesRuns onScheduleTriggers
Data-quality stewardPer workspace: duplicate entities, missing types, dangling relationships, stale investigations, orphaned evidence — proposes reviewable fixes rather than editing silently.workspacedaily—
Deconfliction agentWhen a subject, phone, vehicle or wallet is linked to a case, checks every other case and live graph for the same or fuzzy-matched entity, alerts both case teams and proposes a merge or related-case link.entity—a subject is linked
Live-graph sentinelTurns live monitoring into case work: when a live-graph alert touches an entity that belongs to a case (same wallet, domain, phone), enriches it, decides noise or signal, and files it on the case.workspace—a live-graph alert

Case operations · 1

AgencyWhat it doesRuns onScheduleTriggers
Deadline & SLA agentWatches court dates, legal-process expiries, evidence retention and workflow SLA timers; reports what is due, overdue or stuck per case and escalates through the workflow before a breach.workspacedaily—

Legal · 1

AgencyWhat it doesRuns onScheduleTriggers
Evidence integrity agentOn every evidence upload or custody change: hash present, custody chain unbroken, legal authority linked, classification sensible, and whether the item contradicts something already in the timeline.case—evidence is added

Reporting · 1

AgencyWhat it doesRuns onScheduleTriggers
Briefing agentWorkspace executive brief: what moved, risk deltas, workflow throughput and SLA breaches, screening hits, new cross-case links — posted as findings and available through the API.workspaceweekly—