Citizen data is collected locally. Public registry stores only hash-only proofs. Duplicate prevention is enforced via SHA-256(CodiceFiscale) checked against the public ledger.
Ledger is loaded from /registry/ledger.json. Dedup uses citizen_cf_sha256 = SHA-256(UPPERCASE(TRIM(CF))).
Dedup is computed as:
Public registry: hash-only proofs.
Local release: citizen payload (owner-controlled).
These fields are used to generate a local release and an anti-duplicate hash key. Only hashes are intended for the public ledger.
Generate deterministic JSON → compute SHA-256 → produce registry proofs (release + CF dedup).
{}
Owner-controlled release content. Do not publish it.
{}