🛡️ ConsentShield

Your agent watches your screen. Your consent decides what leaves it, checked on this Mac before every frame.

GitHub
Recorded demo. Every decision below came from the real gate on a Mac (Apple Vision OCR + Laya, local). The consent matrix and your answers are applied live here; the model itself is not running in this page. brew install fortunto2/tap/screenshield · uv sync · make run
Samples (all synthetic):

Your screen · never leaves this Mac

The screen as you see it

What the agent receives

Every line, every decision hover a row to find it on the screen

Your consent, per purpose

🔒 Credentials never leave, whatever you click. Detectors (keys, cards, amounts, injection) run before the model and cannot be overruled.

Consent ledger categories and outcomes only, never the text

← → or click · Esc to close

Your agent watches your screen.
Who decides what it sends?

Computer-use agents, recall assistants, Claude over MCP: every screenshot goes to the cloud
with whatever was open. A biopsy chat. A bank balance. An .env.

Consent today is a cookie banner. Nothing asks at the moment an agent takes your data.

ConsentShield

A consent gate between the screen and the agent, on the device.

frame → OCR on device (Apple Vision)
  → detectors first: secrets · cards · money · injection
  → local decision model (Laya, open Jev): category + confidence
  → your consent per purpose: assistant · analytics · training · 3rd party
  → ≥ 0.8: act alone  ·  below: blur and ask you
  → agent gets the redacted frame · ledger records the decision

Live demo

Consent at the moment an agent acts

Rustam Salavatov

AI engineer · ScreenShield (3rd place, Cyberdefense Hackathon SF, 9 Oct)

github.com/fortunto2/consentshield