The audit log
An append-only, signed, anchored record, and a stream of it to another SIEM.
In the consoleLog
aertun auditlog verify
aertun auditlog show SEQ
aertun auditlog prove SEQ
aertun auditlog head --save
aertun auditlog consistency
Every change is a record in a hash chain, with a Merkle tree over it. A tree head is signed with Ed25519 and ML-DSA (post-quantum), and prove gives a receipt anybody can check against a head.
Anchoring
aertun auditlog anchor submit
aertun auditlog anchor upgrade
aertun auditlog anchor status
The head is committed to Bitcoin through OpenTimestamps, so rewriting history is detectable by somebody who never trusted the operator.
Its own writer
aertun logd
aertun logd status
Run as its own account, the log writer is the only process that writes the log, so the console cannot rewrite what it recorded. A decision that is nothing but its record is reported as failed when the record cannot be written.
Streaming to a SIEM
aertun config set siem.stream.url https://siem.example.com/ingest
aertun siem stream key
aertun siem stream status
Batches of OCSF, each following the last exactly, each carrying a signed tree head and an HTTP message signature (RFC 9421), so the receiver can prove nothing was dropped or changed. aertun siem ocsf, cef and jsonl export the log as files.