code wiki / _hdl_build / nx_succession_recover.nx

nx_succession_recover.nx

buildroot/runtime/_hdl_build/nx_succession_recover.nx

2913 B42 linesdepth 9pulls 16 transitivereach 1 importersview sourcekind librarytopic succession
docsdependenciesstructsconstsfunctions

about

nx_succession_recover.nx -- ATTESTATION-GATED succession recovery: the worst-case path for when the user AND their family are gone (Alzheimer's / sudden death), especially for lawyer clients whose files must outlive both client and attorney. Recovery returns the master secret ONLY when BOTH hold: (1) a QUORUM of succession shares reconstructs it (Shamir, nx_social_recovery) -- e.g. executor + a designated attestor + successor-attorney, held by parties named in the legal instruments; AND (2) a valid ATTESTATION -- an ed25519-signed document (death certificate / incapacity declaration / court order) from the DESIGNATED authority, bound to THIS user+event so a stale/foreign attestation can't be replayed. No valid attestation => no recovery, even if the shares are present. The crypto ENFORCES the legal succession (the authority signs only on real proof); every recovery is meant to be written to the tamper-evident audit log (nx_access_audit). This is policy + cryptography together: the quorum is the cryptographic floor, the attestation is the authorization + audit anchor. license_tier: ORIGINAL (composes nx_social_recovery Shamir + KAT-verified ed25519)

dependencies 3 imports · 1 importers

nx_social_recovery.nx nx_ed25519_signature.nx nx_syscalls.nx nx_succession_recover.nx nx_succession_recover_gate.nx

imports: nx_social_recovery.nxnx_ed25519_signature.nxnx_syscalls.nx

imported by: nx_succession_recover_gate.nx

structs

none

consts

17const NX_SUCC_OK: i64 = 0
18const NX_SUCC_WRONG_EVENT: i64 = 1 // attestation document != the expected user+event (replay / wrong person)
19const NX_SUCC_BAD_ATTEST: i64 = 2 // signature not from the designated authority (forged / tampered)

functions

21func succ_eq(a: *u8, b: *u8, n: i64) -> i64
29func nx_succession_recover(