You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
account_create_account_proof now offers a user-prompt fallback for a foreign key_handle. RFC-0024 forbids exactly that.
The runtime-level NotAllowlisted guard is gone from create_account_proof, so the call reaches SigningHost::create_proof. When the handle is a peopl.* Lite Person alias, that path calls account_access_authorization, which prompts the user (rust/crates/truapi-server/src/runtime.rs:751) and persists the answer (runtime.rs:763), so every later proof for that product is silent.
docs/rfcs/0024-personhood-as-product.md:240: "The allowlist is the only authorization for these two calls. A user prompt is not a substitute and MUST NOT be offered as a fallback: consenting to an opaque message is not meaningful consent, and the risk being accepted is one only the key's owner is positioned to evaluate." Line 302 accepts, deliberately, that foreign proofs stay unavailable until the manifest RFC lands.
Two details make that concrete here. context is caller-supplied and never checked against the calling product (context_bytes, runtime/signing_host/ring_vrf.rs:215), and the Lite Person key is the one pallet-alias-accounts consumes, which the RFC calls out by name at line 234. So one tap on a generic "account access" dialog grants personhood proofs under any context, indefinitely.
The argument for the change is reasonable: the gate requires the handle to resolve to the wallet's own canonical Lite Person key, so no other product's key is reachable, and peopl.* is a reserved id with no manifest to allowlist from, so waiting for the manifest RFC leaves this permanently unavailable. If that is the intent, it belongs in an RFC-0024 amendment rather than in a silent deletion of the guard, ideally pinning context.product_id to the caller and wording the confirmation for what is actually being granted.
As it stands the three paths disagree: account_ring_vrf_sign (runtime.rs:1231) and PairingHost::create_proof (runtime/pairing_host.rs:2125) both still enforce the old rule.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary