Add protected interaction evidence and measured debugging phases

This commit is contained in:
Karl committed 2026-10-13 18:04:02 +02:00
1 parent ea448de2d4
commit 244f01630b
42 files changed
+640 -87

No files matched your search

+11
View File
@@ -0,0 +1,11 @@
'use strict';
const {z}=require('zod');
const InteractionFactsSchema=z.object({action:z.enum(['copy','cut','paste','click','submit']),outcome:z.enum(['authorized','completed','denied']),sessionId:z.string().uuid()}).strict();
function interactionFacts(value){return InteractionFactsSchema.parse(value);}
function interactionFactsForEvent(kind,value){
const parsed=InteractionFactsSchema.safeParse(value);if(!parsed.success)return null;
const facts=parsed.data;
if(kind==='clipboard.block')return facts.outcome==='denied'&&['copy','cut','paste'].includes(facts.action)?facts:null;
return ['clipboard.copy','clipboard.cut','clipboard.paste'].includes(kind)&&facts.action===kind.split('.')[1]&&['authorized','completed'].includes(facts.outcome)?facts:null;
}
module.exports={InteractionFactsSchema,interactionFacts,interactionFactsForEvent};