Pick a question. Follow-ups appear as you go.
What does the platform actually do?
It detects coordinated information manipulation campaigns against your institution, and turns each one into a report your team can sign and publish.
Raw signals come in from open sources, get classified against a public taxonomy, and are grouped into campaigns with their infrastructure, channels and targets.
An analyst reviews every finding in a queue. Nothing reaches the outside world without a human signature.
The detection, review and reporting layers are complete and running in production today, verified with a real analyst.
Will it tell me who is behind a campaign?
It will show you what was observed: coordinated behaviour, shared infrastructure, matching narratives. That is evidence, not a verdict.
Naming an actor is a decision with legal consequences, so the platform never makes it automatically. Attribution is asserted only after a human signs it.
This is enforced in the product vocabulary itself: an observed anomaly is never phrased as an accusation. Defamation and GDPR exposure are treated as design constraints, not disclaimers.
For an executive that is the useful property: what you publish is defensible, because a person put their name on it.
Who approves something before it goes out?
A named analyst does, in a review console. Drafts move through a queue — draft, in review, approved, published — and only an approved draft can be emitted.
The approval is bound to the exact text approved: publishing checks both the status and a hash of the content. Edit an approved draft and the approval is void — it has to be signed again.
That closes the gap most AI pipelines leave open, where a reviewer approves one version and a different one ships.
There is an AI agent. What can it break?
Nothing that matters. The agent is a colleague you mention in a thread: it correlates artifacts, summarises long findings and suggests connections between cases.
It has eight tools and every one of them is read-only. There is no write path to the data at all, so the worst case of a successful manipulation attempt is an odd comment in a thread.
That was tested against a real injection attempt in production: the agent flagged it explicitly and approved nothing, modified nothing.
It cannot approve a report, sign anything, or publish. Those remain human actions by construction.
How do you know a detection is not just noise?
Because findings are not classified against an opinion. They are mapped onto published, externally maintained frameworks for describing manipulation techniques.
Every campaign carries its documentary sources as structured records, not as prose in a notes field — so any claim can be traced back to where it came from.
An automated check keeps the vocabulary in the code and the vocabulary in the database from drifting apart, which is how taxonomies quietly rot.
How do separate incidents become one campaign?
Through the infrastructure. Two unrelated-looking narratives that resolve to the same hosting, or to look-alike domains registered the same way, are usually one operation.
The platform draws that as a graph you can explore: actors, channels, domains and the edges between them, expanding on demand instead of dumping everything at once.
Infrastructure collisions are computed from the indicators themselves, so a link between two cases is something you can open and inspect, not a score you have to trust.
What can I show an auditor or a regulator?
A complete chain: the source that was ingested, how it was classified, which model produced which draft, who reviewed it, who approved it, and the exact text that was published.
Every model inference is written to an append-only log with its confidence and cost, readable but not editable from the interface.
Access is enforced at the database level rather than in application code, so a bug in the interface cannot widen who sees what.
Rejections are kept too, not only approvals — which is what lets you show why something was not published.
What happens when the AI fails or is unavailable?
The pipeline keeps running without it. A provider that is missing or failing is excluded and marked as missing in the coverage of that analysis.
That is a deliberate invariant: degrade explicitly, never fail silently and never invent a result to fill the gap. The system falls back to deterministic rules.
Anything a model produces is validated against a strict schema before it is stored. Output that does not conform marks the run as failed instead of being persisted.
Where does our data go?
Into your own database, under access rules you control. The analyst interface reads nothing it is not authorised to read, and that authorisation lives in the database.
Which model runs is a configuration switch, not a rewrite: the same pipeline already targets a cloud API, a self-hosted engine, or no model at all.
Today the language models are called over an API, which is the right question to ask for classified material.
The designed end state is a self-hosted open-weights engine on your own hardware, with no external API calls at all. The architecture and the provider switch exist; the compute node does not yet. We are telling you that rather than implying it already works.
What is this not?
It is not a tool that decides who is guilty. It surfaces observed anomalies and leaves the judgement to your analysts.
It is not a social listening dashboard. The output is a signed institutional report, not a sentiment chart.
It is not autonomous. If nobody reviews the queue, nothing gets published — and that is the intended behaviour, not a limitation to fix.
Parts of the design are still roadmap, and the interface labels them as such instead of simulating data that does not exist.
How do we get access?
Request it with the form below. Access is granted per named analyst, not per organisation — there are no shared logins.
Sign-in is a one-time email link, with no passwords to manage or leak. An account outside the allowlist can sign in and still see nothing.
If you already have access, use the analyst sign-in at the bottom of this page.