Ask the user to bind one of their stored secrets to this app (SECRETS_SPEC §5,
the powerbox flow — modeled on requestSpace()). The host draws a picker of
only the user's matching secrets; the user picks, declines, or creates one.
On success the host records a durable (appKey, secretId) grant and resolves
with a SecretGrant (handle + metadata, never the value).
No existence oracle (T20/T27): a decline, an ungranted secret, and a
nonexistent secret are indistinguishable — all reject with a SecretErrorcancelled; the app never sees the list it chose from.
Ask the user to bind one of their stored secrets to this app (SECRETS_SPEC §5, the powerbox flow — modeled on
requestSpace()). The host draws a picker of only the user's matching secrets; the user picks, declines, or creates one. On success the host records a durable(appKey, secretId)grant and resolves with a SecretGrant (handle + metadata, never the value).No existence oracle (T20/T27): a decline, an ungranted secret, and a nonexistent secret are indistinguishable — all reject with a SecretError
cancelled; the app never sees the list it chose from.