{"docs":{"architecture":"/docs/dfns-concordium-activation-architecture.md","management_note":"/docs/dfns-concordium-activation-management-note.md","operator_guide":"/docs/dfns-concordium-activation-operator-guide.md","troubleshooting":"/docs/dfns-concordium-activation-troubleshooting.md","user_guide":"/docs/dfns-concordium-activation-user-guide.md"},"implementation_notes":["First public proof should use a fresh inactive Concordium Mainnet DFNS wallet, with DFNS credentials kept inside the self-hosted runner.","Live validation must confirm exact DFNS activate-wallet payload shape: {expiry,unsignedCdiStr} versus full serialized credential object including randomness.","Activation remains human-in-the-loop because Concordium ID App approval is required.","No production customer claims until a fresh inactive mainnet DFNS wallet is activated end-to-end and a redacted receipt is produced."],"latest_public_receipt":"/static/dfns-concordium-activation-receipt.sample.json","modes":["activation-payload-helper-no-secrets","self-hosted-activation-runner"],"name":"DFNS Concordium Activation Assistant","networks":["Concordium","ConcordiumTestnet"],"ok":true,"public_helper_boundary":{"accepts":["network","DFNS Concordium wallet public key","transient ID App activation payload in browser memory"],"does_not_accept":["DFNS auth token","DFNS private key","DFNS service-account credential","raw identity credential","seed phrase"],"does_not_call_dfns":true},"self_hosted_runner_boundary":{"dfns_credentials_local_only":true,"requires_inactive_wallet":true,"writes_redacted_receipt":true},"status":"prototype_reference_surface","version":"0.1.0-reference"}
