Ankayma · Realtime Audit

Try Realtime Audit on your own data.

Your files never leave this browser. No upload, no account, no tracking. Close the tab and everything is gone.

Loading the engine…

No files to hand? See the sample case or use the templates below.

1 Drop your own files

Two files: causes and changes. CSV or JSONL. ·

Causes: id · type (deposit, withdrawal, fill, transfer, fee) · account · asset (optional) · amount (signed) · time · producer (the service that issued it) · ref (optional)

Changes: account · asset (optional) · delta (signed) · time · source (where the write was observed)

Common alternatives such as user_id, currency or timestamp are recognised. Anything else, you map after the first run.

Producers and cause types

Measured: about 3.8 s for 27 MB of input, 16 s for 135 MB. Above roughly 150 MB a browser tab may run out of memory; run the same check offline instead, with the audit CLI.

Sample case: a withdrawal needs a request and an approval

Already run for you, so you can see what a finding looks like. Two independent services write the causes: the user frontend records the user's request (withdrawal.requested), the backoffice records the admin's approval about an hour later (withdrawal.approved, pointing at the request in ref). A payout is justified only when both exist, agree, and the request has not been approved before.

Without the request as a second source, each approval would justify itself and none of the last four would show.

causes.csv
changes.csv

Check that nothing leaves

You don't have to take our word for it.

engine sha256 (published): 98dea95d4f263950953b8d47169c204e25793e3b49ff643415f23154b6508268
engine sha256 (computed here): …

What this trial is, and isn't

Book an audit-only review How it works