Security Model 1.0
The non-goals are part of the specification.
A security model that only lists what it protects is an advertisement. This one lists what it refuses to claim, with the same weight.
Protected properties
- Certificate payload integrity.
- Signer authenticity, relative to the embedded public key.
- Exact source-file identity.
- Normalization-log integrity.
- Evidence and safety-decision integrity.
- Replay detectability.
Explicit non-goals
None of the following are claimed, and none should be inferred from a valid signature.
- Proving the signer's real-world identity.
- Proving complete Excel compatibility.
- Proving business intent or accounting correctness.
- Executing VBA, Power Query, external links, dynamic arrays,
LET, orLAMBDA. - Authorizing formula changes from engine disagreement.
- Keeping a private key safe when the operator stores it insecurely.
Threat cases tested
These were run, not reasoned about.
- Payload modification after signing.
- Certificate replay against a different XLSX file.
- Stale OOXML cache values.
- Formula drift with stale downstream caches.
- Incorrect MMR operator semantics.
- External-engine 1904 date-system mismatch.
- Syntax normalization hidden as native support.
The last one is a threat against the benchmark itself: a bridge that silently rewrites Table[Column] into A1 ranges could be read as the external engine supporting structured references. The protocol logs every transformation so that reading is not available.
Private keys
The example certificates are signed with an ephemeral release key, and only the public half ships. Users create their own keypair through the certificate CLI.
A certificate cannot protect a private key the operator stores insecurely.
That this payload was signed by the holder of this key, and has not changed since.
Who that holder is. Binding a key to a real-world identity is outside this model.