AI Act Shield · WebMCP

Mask personal data before an AI ever sees it — locally, deterministically, and now callable by an agent as a tool.

A focused build of iaCiao's AI Act Shield for The WebMCP Challenge.

1 · Original document

Load a sample contract:

2 · Masked draft (safe for a cloud AI)


    

    
    
    
    
    

The rule that forbids touching the [TOKEN_...] placeholders is always appended — without it, step 4 wouldn't know where to put the real data back.

3 · Output received from the AI

4 · Final restored document


    

Agent console watch the WebMCP call path

A preview for people, not a way in for agents. In a WebMCP-capable browser these buttons go through document.modelContext.getTools() then executeTool(), so you can see the shape of a tool call without an agent; in any other browser they call the functions directly. Either way they are logged below as this page, because a person pressed them.

Agents: do not use these buttons. They are a preview for people whose browser has no WebMCP support. If you can call tools, call mask_document_in_page instead — it does the same work without the document ever reaching you.

Every execute() this page receives, whoever called it. Calls arriving from an external WebMCP client — ChatGPT's in-app browser, the Model Context Tool Inspector extension — are marked external; the buttons above are marked this page. Only the shape of the input is logged, never the document. A call to mask_document_in_page carries no input at all: the caller never receives the document, so it has nothing to pass.