Platform

One platform.
Three modules.

The same discipline runs through all three: capture the thing while it is happening, keep it in a form that can be checked later, and never assert what cannot be traced to a source. What differs is the question each one answers.

Hold one of them, or hold all three. A module you do not have is absent from your console — not greyed out, not teased.

The Signum operator console, its sidebar grouped into Causa, Custos, Memoria and Administration.
One console, grouped by module — not by verb

Signum Causa · available

“What happened, and why?”

Know why it happened, not just that it did.

Signum joins the incident channel and buffers every message, edit, reaction and file as it arrives. When the incident closes, a model reads the sealed transcript and returns the timeline, the delays, the decisions and the root-cause hypotheses — each claim carrying the message ids it came from.

The Signum console showing an incident opened to its detail view, with the extracted timeline and generated reports.
Console · Causa · incident detail, with generated reports

Signum Custos · available

“Can we show the control operated?”

Evidence the control operated, without reassembling it later.

The auditor's question is narrower than the engineer's: can you show the control worked, on this occasion, from a record made at the time? Custos maps what happened during the incident onto your own policy and the obligations you are held to, and assembles the pack that demonstrates it.

The Signum console showing the Report types screen, with built-in report definitions and a form for adding a new one.
Console · Custos · report types, with per-report redaction mode

Signum Memoria · still being built

“What do we already know about this?”

Asking is not searching.

Point Memoria at the places your knowledge already lives and it keeps a standing index of them, so a question does not kick off a hunt through folders and wikis. It answers from memory it already holds, in the language you asked in, with the page the answer came from. The index refreshes as the sources change — which means the answer does not depend on who still works here, or on anyone remembering where a document was filed.

Signum Memoria answering a question with a refusal: nothing in the index matched, shown alongside the relevance floor and the classification ceiling.
Signum Memoria · the refusal, on a development instance with offline providers

How they fit together

Separate modules, not separate silos.

The modules integrate at defined seams and nowhere else. Each keeps its own store and its own audit trail, so a fault in one cannot quietly corrupt another, and a deployment that holds only one is a complete product rather than a crippled version of three.

Where Memoria actually stands

Built and tested. Not yet meeting its own bar.

Memoria is still being built, and the number we care about most is not where we want it. Measured on a reviewed 29-question set over a corpus of roughly 46,000 pages, normalised precision at five is 0.29 against our own gate of 0.85, and recall at five is 0.55 to 0.59 against 0.80. Two problems sit underneath: the refusal floor cannot yet separate a question the corpus can answer from one it only looks able to answer, and the evaluation does not reproduce cleanly from run to run.

We publish that because it is exactly why Memoria is not sold on retrieval accuracy. It is sold on the shape it will still have once the ranking improves — your pages are plain Markdown in a repository you own, nothing reaches the corpus without passing the ingestion gate and a human reviewer, every answer cites the page it came from, and where the corpus does not know, it says so instead of inventing. The screen above is that refusal, captured from a running instance.

What it connects to today. A Git repository of Markdown pages, a drop folder, and Confluence spaces you put on an allow-list. Slack and FreshService come next and come cheaply, because Causa already ships built adapters for both — the authentication and the transport are settled, and what is left is mapping their records onto pages. Jira and SharePoint are specified and are new work. The contract every connector implements — incremental, idempotent, read-only upstream, deletions tombstoned rather than silent — is built and running today for Confluence.

It is allow-list only, on purpose. There is no “index everything” mode and the code does not contain one. You name the spaces. A source nobody chose is a disclosure nobody reviewed, and the cheapest place to stop that is at the door rather than in a filter at query time.

Ranking improves with work. A system built to answer confidently regardless does not. Ask for the evaluation and we will send it, failing numbers included. We will not name a date we cannot hold.