The archive that outlives its software
A .at1century file carries, in one blob: an English description of its own format, the decoder as source in a tiny procedural language, a SHA-256 of the original, and the compressed payload. It reconstructs byte-exact using only what it carries, the embedded decoder run in a bare namespace, no imports, nothing from AT-1, so it is still decodable when no AT-1 software, or even Python, survives. Any implementer can rewrite the decoder from the paragraph alone.
- 1,494 B
- total self-description: English spec + decoder source
- no software
- reconstructs from the embedded decoder alone, bare namespace
- byte-exact
- native and embedded decoders agree; SHA-256 verified
- 2126-ready
- rewritable by any implementer from the English paragraph
Pack it, and it explains itself
at1 century pack records.csv -o records.at1century # 1,142,180 -> 316,069 bytes (3.61x); self-description # overhead 1,494 bytes at1 century spec records.at1century # read the rebuild instructions at1 century verify records.at1century # native == embedded, SHA-256 ok at1 century unpack records.at1century -o out.csv --self-decode # recovered via the embedded decoder alone
Self-describing
The English spec is inside the file. The decoder is source, not a binary, auditable, portable, and rewritable by hand from the spec.
Two decoders, one answer
A fast native decoder for daily use and the embedded decoder for the guarantee, both must produce byte-identical output, checked against the SHA-256.
Honest scope
The embedded decoder runs in a bare namespace (four safe builtins, no imports). It’s an integrity + longevity guarantee, not confidentiality; open only archives you trust.
Billed per GB packed, first 10 GB/month free. See pricing.
The format you cannot read is the one you did not keep
Long-term archives usually fail in a specific way. The medium survives, the bytes survive, and the software that understood them does not. What is left is a file nobody can open and a vendor who no longer exists, which is the same outcome as having lost it.
So the file explains itself. It carries a description of its own layout in plain English, alongside a decoder small enough that a competent programmer could reimplement it from the description if the decoder itself would not run. The archive does not depend on us being here, which is the only version of a hundred year guarantee worth making.
What this does not solve
It does not preserve the medium. A self-describing file on a disk nobody powers on is still lost, and no format can fix that. It also cannot make sense of data whose meaning lived outside the file, in a schema document or somebody's head, so the archive is only as interpretable as what you chose to put in it. Both of those remain your problem, and we would rather write that here than let a phrase like future proof do the work.