evals: keep standalone browser privacy canary explicit and opt in

This commit is contained in:
Dotta committed 2026-10-26 21:09:24 -05:00
1 parent 098303bf13
commit c410c08205
2 files changed
+24 -1

No files matched your search

@@ -0,0 +1,23 @@
{
"schemaVersion": 1,
"kind": "offline-synthetic-private-browser-control",
"canonicalScenarioMeasurement": false,
"sourceCheckpoint": "1ef868b0ac",
"optInCommand": "PAPERCLIP_CHAT_EVAL_PRIVATE_BROWSER_CANARY=1 node node_modules/vitest/vitest.mjs run --config tests/runner-e2e/vitest.config.ts tests/runner-e2e/chat-catalog-domains/runtime-private-key.test.ts tests/runner-e2e/chat-catalog-domains/runtime-agent-keys.test.ts",
"focusedControls": {
"passed": 17,
"failed": 0
},
"actualPlaywrightTestCanary": {
"passed": true,
"rawApiDebug": true,
"traceVideoScreenshotRequested": true,
"scannedReportAndArtifactFiles": 3,
"scanMethod": "raw emitted file bytes plus raw stdout and stderr streams",
"syntheticCanaryFound": false
},
"realProviderCalls": 0,
"backendStarted": false,
"realCredentialsUsed": false,
"browserControlDefault": "skipped unless PAPERCLIP_CHAT_EVAL_PRIVATE_BROWSER_CANARY=1"
}
@@ -10,7 +10,7 @@ it("rejects a credential field without reflecting its value", () => {
catch (error) { expect(String(error)).not.toContain(synthetic); expect(String(error)).toContain("closed boundary"); }
});
it("rejects credential text hidden inside safe-looking key metadata", () => expect(() => validatePrivateKeyReceipt({ ...valid(), createdKey: { id: "pcp_SYNTHETIC_PRIVATE_CANARY", name: "local integration", revokedAt: null } })).toThrow());
it("contains a synthetic one-time UI token entirely inside the standalone browser child", async () => {
it.skipIf(process.env.PAPERCLIP_CHAT_EVAL_PRIVATE_BROWSER_CANARY !== "1")("contains a synthetic one-time UI token entirely inside the standalone browser child", async () => {
const synthetic = "pcp_SYNTHETIC_PRIVATE_BROWSER_CANARY_a5bb4e";
const receipt = await privateKeyBrowser({ mode: "canary", baseURL: "http://127.0.0.1:1", cookies: [], canary: synthetic });
expect(receipt).toEqual({ ...valid(), canaryContained: true }); expect(JSON.stringify(receipt)).not.toContain(synthetic);