Air-gapped forensic verification for digital evidence

FACTUM is a command-line tool that runs inside a sealed container with zero network access. It takes an evidence bag, runs seven verification checks, and produces a deterministic verdict: the evidence is intact, or it is not.

[ Watch It Work ]STATUSPUBLIC RELEASE Q3 2026

Air-gapped

Zero network connections. Every check runs offline. Trust anchors are bundled inside the evidence bag. Nothing leaves the container.

Deterministic

Same evidence bag equals same verdict. Always. Run it twice, run it on a different machine. The output is identical.

Fail-closed

If anything is wrong, uncertain, or missing, the verdict defaults to fail. No result is issued without full verification. No ambiguity is accepted.

Seven Steps. One Verdict.

//

This is a visualization of what happens inside the FACTUM container. The actual tool is a command-line program with no GUI and no web interface. What you see below represents the seven verification steps (0-6) that execute when you run a single command.

READY

The Verifier Is the Security Boundary

Most verification tools check the package. FACTUM checks itself first. The container runs 22 self-verification checks before touching the evidence. If the verifier has been modified, it refuses to run.

Step 0 is Network Isolation. Before any evidence is read, the container proves it has no network connectivity. Sockets are blocked. The import hook is active. Only then do steps 1-6 run.

Other tools trust the runtime. FACTUM treats the runtime as hostile. It checks for shadowed imports, writable memory mappings, unexpected files, and pre-bootstrap code execution. Exit code 4 means the container itself is compromised. Not a software error. A deliberate containment breach detection. The C bootstrap wrapper terminates the process before Python loads.

No network. Not "network optional." Not "works offline too." The container is built with --network none. There is no HTTP client. There are no sockets. The trust anchors are bundled. The CRLs are bundled.

Who This Is For

Digital Forensics

Verify that sealed evidence bags have not been tampered with. Produce verification reports with full cryptographic chain of custody.

Regulatory Compliance

Demonstrate to regulators that your evidence handling process is deterministic, auditable, and not dependent on any single tool vendor or cloud service.

Supply Chain Integrity

Gate release artifacts through a tamper-resistant verification pipeline. If the verifier itself is compromised, it refuses to produce a verdict.

Technical Facts

TEST SUITE594 tests, 2 skipped (hardware-dependent)
HARDENING22 self-verification checks at boot
PIPELINE7 steps (0-6): network isolation, BagIt integrity, Merkle tree, timestamp binding, TSA signature, certificate chain, revocation check
STANDARDSRFC 8493, RFC 6962, RFC 3161, CMS/PKCS#7, RFC 5280, NIST SP 800-131A
CONTAINERpython:3.11-slim-bookworm, pinned by SHA-256 digest
EXIT CODES0 (pass), 1 (fail), 2 (cannot run), 3 (input error), 4 (containment breach)
LANGUAGEPython 3.11, C bootstrap wrapper
LICENSEDual license (open source + commercial), details Q3 2026

Seven Answers

01What is an evidence bag?

A structured package of files following the BagIt format (RFC 8493). It contains the original files, their checksums, a cryptographic Merkle tree, an RFC 3161 timestamp token, and trust anchors. Everything needed for verification is inside the bag.

02Do I need to be online?

No. FACTUM runs inside a container with no network access. Trust anchors and certificate revocation lists are bundled inside the evidence bag at seal time.

03What do I need to run it?

Docker on x86_64 Linux. FACTUM is distributed as a Docker image. One command. No installation or host dependencies beyond Docker.

04What does the output look like?

A JSON file at /output/factum_report.json containing the verdict, assurance level, step-by-step results, and a self-integrity hash. See the example output on this page.

05Who creates the evidence bag?

Evidence bags are created by sealing tools. LexDelta, developed by Smart Sustainability Lab, produces bags with all the cryptographic artifacts FACTUM needs. FACTUM is a verifier only. It never modifies the evidence.

06Does FACTUM only work with LexDelta?

FACTUM verifies BagIt bags (RFC 8493). Basic integrity checking works on standard BagIt bags. The full 7-step pipeline requires cryptographic artifacts including a Merkle tree, timestamp token, certificate chain, and revocation data. LexDelta produces bags with all of these.

07Is FACTUM publicly available?

Not yet. Licensing details will be published at launch. Contact us for early access or partnership discussions.

Get Involved

FACTUM is under active development by Smart Sustainability Lab. Code release and licensing details are expected Q3 2026.

For early access, university validation partnerships, or commercial licensing inquiries:

View all products