Public: anyone can read this; the crew can change it.
A note from the app's own origin is a visitor's unless it carries the forge panel's one-use proof #5612
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
Replaces #5395, the same done started fresh from main. Both tries went red on the merge-queue deadline test, which this change never touches; this waits for its fix (and #5394, the mirror-stages flake that sank #5354).
Done:
Sec-Fetch-Destdocument, absent, or a cross-site iframe), the injected panel's script tag carries a one-use token bound to the grant cookie and the host. The panel strips it on load. A proofed page answerscache-control: private, no-store.POST /__forge/noteandGET /__forge/notes(src/apps/feedback.ts) spend the token. With a valid one, the note is@nameand the list is theirs. Without a token, or with a reused one or one for another grant or host, the note isvisitor-…, the list is the visitor's, andadminis false.x-forge-proof.bun x tsc --noEmit. A red test elsewhere that main also has is named in the pull, not a reason to stop.Files: src/apps/feedback.ts, src/apps/proxy.ts (the panel), test/apps-feedback.test.ts. Risk: the panel script stays under the CSP nonce. Never put the token in a URL.