The six-step flow.
Design the path so a delayed, duplicated, or ambiguous reply cannot authorize the wrong browser action.
Pause before field entry.
The browser agent identifies a protected field or consequential action and stops before typing, pasting, submitting, or exposing the value to model-visible context.
State: awaiting approvalCreate a scoped request.
Bind a unique request ID to the browser session, site origin, field category, action, consequence, redacted evidence, expiration, and one secret-store reference.
State: request sealedSend a decision packet.
Text the person a concise summary: “Use saved payment method ending 42 on merchant.example for a $68.20 order? Reply ONCE, DENY, EDIT, or WHY. Expires in 10 minutes.”
State: user notifiedParse and confirm the reply.
Accept only known verbs tied to the active request. Ask a follow-up when identity, scope, amount, destination, or intent is ambiguous. Ignore stale or duplicate approvals.
State: decision recordedExecute through a secret channel.
Pass the raw value directly from the secret store to the browser tool. The planning model, chat transcript, screenshot replay, and long-term memory receive a stable placeholder.
State: action executedClose with a receipt.
Record who approved, the exact scope, browser destination, action result, evidence link, secret expiration, whether memory changed, and any repair or rollback path.
State: receipt issued