'apply':('Establish the bounded OpenRouter access role?','Create only the reviewed OpenBao policy and AppRole for the existing llm-connect OpenRouter credential. Tokens last 15 minutes, with a 30-minute maximum; Secret IDs last 15 minutes and can be used once. A token permits at most eight uses. This action does not call OpenRouter or rotate the credential.'),
'verify':('Verify the bounded OpenRouter access role?','Check the new reader, credential field availability, limits, denial behavior and session revocation. The existing llm-connect delivery remains in place. This action does not run inference or display credential values.'),
'exec':('Run the read-only OpenRouter key check?','Deliver the credential only to the installed, hash-pinned checker. It sends one GET to https://openrouter.ai/api/v1/key with redirects, proxies and retries disabled. Output is restricted to a fixed result and HTTP status. No inference request or paid campaign trial is authorized.'),
}
defprepare(principal,receipt,request_root):
ifnotprincipalorany(c.isspace()forcinprincipal)orlen(principal)>256:raiseValueError('exact human subject required')