Certification & Online Trace Collection · service active
WACZ · ISO 28500/ eIDAS timestamping/ Client area
C.E.R.T.O.
Sign in Register for free
IT EN
C.E.R.T.O. / How it works

How a piece of digital evidence is built.

Beneath every acquisition lies the same architecture: first each module collects the content and its metadata read-only and computes its fingerprints, then everything is sealed into a BagIt bundle signed with Ed25519, anchored in time by RFC 3161 timestamps — including, from version 3.3.3, a qualified eIDAS InfoCert seal — and described in CASE/UCO. Here we explain it step by step, with the diagrams and the reference standards.

Architecture

Three phases, one chain.

From per-module collection to the cryptographic seal, down to a verification anyone can reproduce on their own, without C.E.R.T.O.

1ACQUISITION11 forensic modulesread-only accessNTP · IP · environmentMD5·SHA-1·256·5122FORENSIC SEALBagIt 1.0 · RFC 8493Ed25519 sig · RFC 8032eIDAS InfoCert sealCASE 1.3 / UCO 1.43VERIFICATIONverify.sh / verify.batinteractive.htmlrecompute hash + signatureno C.E.R.T.O. needed
Phase 1 is module-specific (what is accessed and captured differs between a web page and a chat); phases 2 and 3 are identical for all: the same bundle, the same seal, the same verification. This uniformity is what makes every exhibit comparable and admissible.
Phase 1 · Acquisition

How each module builds the acquisition.

All modules share the same forensic skeleton; only the way they access the source and the captured artefacts change.

01NTPmulti-source sync02Public IP+ operator env03Source accessread-only04Captureartefacts + metadata05Hash ×4MD5·SHA-1·256·51206Stagingready for BagItCOMMON SKELETON ACROSS ALL 11 MODULES
Time is anchored via multi-source NTP with a documented offset; source access is always non-altering (read-only, copy-only); every artefact gets four MD5/SHA-1/SHA-256/SHA-512 fingerprints (FIPS 180-4). Only steps 03 and 04 — highlighted — change from module to module.
Module How it accesses (03) What it captures (04) Module-specific standards & formats
Web pages Instrumented forensic browser; navigation confined to the declared scope Rendered HTML, DOM snapshot, WACZ archive, viewport/full-page screenshots, video, HAR traffic, DNS/WHOIS/traceroute, TLS certificates, cookies WACZ · WARC (ISO 28500) · HAR · RFC 8446 (TLS 1.3)
Files Download of the exact byte-stream delivered by the server (HTTP/HTTPS) Original file, HTTP headers, server IP, TLS certificates, EXIF/XMP/IPTC metadata and document properties RFC 9110 (HTTP) · FIPS 180-4 · EXIF · XMP (ISO 16684)
Email / PEC IMAP read-only: EXAMINE + BODY.PEEK (flags unchanged) Original EML (headers, body, attachments), DKIM/SPF/DMARC check; for PEC the envelope, daticert.xml and the provider S/MIME signature RFC 3501 (IMAP) · RFC 5322 · RFC 6376 (DKIM) · S/MIME · AgID PEC
WhatsApp WhatsApp Web: account linked via QR, instrumented web client Messages, media and attachments, account/session metadata (cookies, localStorage, IndexedDB), video of the whole session RFC 6455 (WebSocket) · FIPS 180-4
Telegram Telegram Web: linked account; private chats, groups, supergroups and channels Messages (text, date, author), media, session metadata and video of the whole session FIPS 180-4 · instrumented web client
Images Image file supplied by the operator (no alteration of the file) EXIF/IPTC/XMP and GPS metadata, perceptual hashes, histogram, ELA, Luminance Gradient, Level Sweep, JPEG quantization tables, C2PA provenance EXIF · XMP (ISO 16684) · C2PA · perceptual hashes
Screenshot System-level screen capture: the operator does not interact with the image Image (full screen or region, multi-monitor), PC and display state, cryptographic and perceptual hashes FIPS 180-4 · perceptual hashes
FTP / SFTP Read-only access to FTP/FTPS/SFTP; recursive copy of the remote filesystem Copied files with folder structure, server tree map, connection and protocol info RFC 959 (FTP) · RFC 4253 (SSH/SFTP) · TLS
Cloud Authenticated OAuth access to Google Drive, Dropbox, OneDrive (no password stored) Files with provider-side hash reconciliation, sharing/exposure, revisions, trash, API log RFC 6749 (OAuth 2.0) · provider content-hash · FIPS 180-4
Deep Web (Tor) Dedicated browser routed only over Tor: fresh memory-only session, proxy verified before every load, no fallback to the ordinary network Pages, WACZ archive, reports and attachments; circuit taken node by node, checksum verification of the .onion address, register of omitted checks. The content stays only on the operator's computer: the server receives the fingerprints Tor onion service · WACZ · FIPS 180-4
Screen recording System-level capture of a whole screen or the window of a single application, with system audio and microphone; the control bar is excluded from the capture Original WebM video written in one-second blocks chained with SHA-256, three audio tracks (combined, system, microphone), derived MP4 copy with measured sync, a snapshot of every screen, the workstation's network and processes, identity of the recorded application. The content stays only on the operator's computer: the server receives fingerprints and metadata WebM (VP9 · Opus) · MP4 (H.264 · AAC) · FIPS 180-4
Phase 2 · Bundle

The BagIt bundle, brick by brick.

The acquired artefacts become the payload of a BagIt 1.0 bundle (RFC 8493): a structure of files and manifests that fixes what the exhibit contains and guarantees its fixity.

data/ — payload (the exhibits) evidence/ · acquired contentreports/ · PDF/TXT reportshashes/ · hash inventorynetwork/ · logs/ · metadata/manifest.json · Ed25519-signedinteractive.html · tsa.tsr control (tag) files bagit.txt · version + encodingbag-info.txt · Payload-Oxummanifest-sha256.txt → payload fixitytagmanifest-sha256.txt → tag fixitytsa-ca.pem · verify.sh / .bat SHA-256 BagIt 1.0 · RFC 8493 — the manifest lists the hash of every payload file; the tagmanifest does the same for the control files
bagit.txt declares the version and encoding; bag-info.txt carries the Payload-Oxum (byte sum and file count, a completeness check). The manifest-sha256.txt holds the SHA-256 hash of every file in data/: regenerating it reveals any addition, removal or change. The tagmanifest-sha256.txt extends the same guarantee to the control files.
Seal · Identity

Ed25519 signature bound to the device.

The exhibit manifest is signed with an Ed25519 key generated on the device and registered at first launch: it binds the acquisition to a verifiable identity.

DEVICE KEY Ed25519 · registered at 1st launch RFC 8032 / RFC 8410 manifest.json exhibit digest (SHA-256) Ed25519 sign private key × digest 64-byte signature embedded in the manifest
Ed25519 (RFC 8032, Edwards Curve25519) produces a compact 64-byte signature, fast to verify and resistant to implementation pitfalls. The device public key — enrolled at first launch (RFC 8410) — lets one ascertain which C.E.R.T.O. installation sealed the exhibit, without depending on an external PKI.
Seal · Time

Three timestamps. The seal is qualified.

From version 3.3.3 every bundle is closed by a qualified eIDAS InfoCert timestamp, included in the price. The other two, internal stamps are still issued by public TSAs.

1 · INNER STAMP anchors the acquired content data/tsa.tsr 2 · REPORT STAMP dates the acquisition report report.tsr 3 · BUNDLE SEAL hash(tagmanifest-sha256.txt) tagmanifest-sha256.txt.tsr covers every file of the bundle, in a chain Public, free TSAs Sectigo → DigiCert → GlobalSign RFC 3161 · if one is down, the next one is used InfoCert · qualified eIDAS timestamp standard from 3.3.3, no extra slots if it does not respond: public TSA, declared in bag-info.txt
An RFC 3161 stamp is a TSA-signed token attesting “this digest existed at this instant”. The inner stamp dates the acquired content even outside the bundle; the report stamp dates the report; the seal stamps tagmanifest-sha256.txt, which holds, in a chain, the fingerprints of every other file: anchoring that file anchors the whole bundle. From version 3.3.3 the seal is issued by InfoCert, a qualified trust service provider: it is a qualified eIDAS timestamp (EU Reg. 910/2014, ETSI EN 319 422).

What the law says

For a qualified timestamp the eIDAS regulation (art. 41(2)) sets a presumption: that the date and time are accurate and that the stamped data are intact. Here the stamped data are the tagmanifest, and through its fingerprints every file of the bundle.

What it does not say

eIDAS qualifies the timestamp, not the acquisition: the presumption covers “when” and “it has not changed”, not the weight of what the bundle contains. That is for the court to assess, together with the rest of the bundle.

Included, from 3.3.3

The qualified seal costs no extra slots, in any module that produces a bundle. Prices apply from C.E.R.T.O. 3.3.3; earlier versions apply the previous price list: update the program.

Standard, not “in every case”

If InfoCert does not respond, the seal is applied by a public TSA and the bundle declares it in bag-info.txt (External-Seal-TSA). You read it in the bundle; you do not find out later.

Seal · Semantics

CASE / UCO description.

Beyond the files, the exhibit is described in a standard semantic graph (JSON-LD): what was acquired, with which tool, by whom, when and with what fingerprints.

Traceuco:File / TraceHashuco:Hash (SHA-256)ToolC.E.R.T.O. · uco:ToolActioncase:InvestigativeActionIdentityuco:Identity (operator)Provenancecase:ProvenanceRecord
CASE (Cyber-investigation Analysis Standard Expression, v1.3) and UCO (Unified Cyber Ontology, v1.4) are JSON-LD ontologies shared by the forensic community (and aligned with NIST work). The metadata/evidence.case.jsonld file makes the exhibit interoperable: other tools can read, correlate and validate it unambiguously, linking file, hash, tool, operator, action and provenance into a single graph.
Phase 3 · Verification

Evidence anyone can re-check.

The bundle verifies itself: the included verifiers redo the maths and declare whether the exhibit is intact — without C.E.R.T.O.

verify.sh / .bat interactive.html Recompute hash== manifestEd25519 signaturevalidStamps and sealRFC 3161 verified (.tsr) VALID BUNDLE intact and time-anchored
The verifiers recompute the hashes and compare them with the manifests, check the Ed25519 signature and validate the RFC 3161 stamps — the InfoCert seal included — with the certificates bundled in it; only at the end does the script consult the online register, and that can be switched off. If everything matches, they declare “VALID BUNDLE”; if even a single byte changed, verification fails and flags it. The same check can be reproduced by hand with openssl and standard BagIt tools: no lock-in. On Mac and Linux run the verifiers from the Terminal with sh verify.sh, on Windows double-click verify.bat; the signature and timestamps need OpenSSL 3, which on a Mac the script downloads by itself if it is missing.
Try it yourself

Download a sample bundle.

Real web page acquisitions, to open and browse as a judge or an opposing expert would.

C.E.R.T.O. demo page

Text, an image with metadata, a PDF and a video: the bundle contains them all, with their fingerprints. Acquired page: /demo/en/

Download the ZIP · 11.9 MB
SHA-256 f93d3dd362101df7f8beccabf291e8a32986f795e19c3c78d8253547dfde4952

example.com

The public example page run by IANA: the simplest possible case. Acquired page: example.com/

Download the ZIP · 2.9 MB
SHA-256 ecb73368c1492ea13ccbfbdb70b6761e32ed607c2c006d3b94f6a086bac928a5

References

The standards it rests on.

No proprietary invention: every component of the bundle relies on a public, verifiable standard.

RFC 8493

BagIt 1.0 — bundle structure and fixity manifests

FIPS 180-4

Secure Hash Standard — SHA-1/256/512 (+ MD5, RFC 1321)

RFC 8032 / 8410

EdDSA Ed25519 signature and key identity

RFC 3161

Time-Stamp Protocol — TSA timestamp

eIDAS · ETSI EN 319 422

EU qualified timestamp (Reg. 910/2014) — InfoCert bundle seal, from 3.3.3

CASE 1.3 · UCO 1.4

JSON-LD forensic ontologies for exhibit description

ISO/IEC 27037

Guidelines for identification, collection and preservation of digital evidence

ISO 28500 · WACZ

WARC and Web Archive (WACZ) for web page acquisition

RFC 3501 · 6376

IMAP (read-only) and DKIM for email/PEC acquisition

RFC 6749

OAuth 2.0 for authenticated access to cloud accounts

EXIF · XMP (ISO 16684) · C2PA

Image and document metadata and provenance

WebM · MP4 (ISO/IEC 14496)

Original screen recording video and derived viewing copy

NTP (RFC 5905)

Multi-source time synchronisation with documented offset

Evidence anyone can re-check.

Register for free and apply the same forensic architecture to every acquisition, on Windows and macOS.