BLA
BLA는 오픈소스 Blue Defense MCP와 CLI로, 소프트웨어 자산을 자동 AI 리버스 엔지니어링으로부터 보호합니다
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
Your agent watches your screen. Your consent decides what leaves it. On-device OCR + local calibrated decision model + per-purpose consent.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Your agent watches your screen. Your consent decides what leaves it.
Write-up: rustman.org (how it was built in a day, and what does not hold yet)
Demo: fortunto2.github.io/consentshield (recorded results from the real gate, consent matrix live in the page) · the live gate runs on your Mac, see Run below.
Demo (34 s, with voice): docs/consentshield-demo.mp4
Personal agents now see the screen: computer-use agents, "remember everything" assistants, Claude
through MCP. Every screenshot they send to the cloud carries whatever was open: a chat about a
biopsy, a bank balance, an .env file. Consent today is a cookie banner on a website. Nothing asks
at the moment an agent actually takes your data.
ConsentShield sits between the screen and the agent, on the device:
screen frame ─► OCR on device (Apple Vision)
─► detectors first: secrets, card numbers, money, prompt injection (deterministic)
─► local decision model (Laya, open Jev): data category + calibrated confidence
─► your consent per (category × purpose): assistant · analytics · training · third party
─► confident (≥ 0.8) → act alone: send or blur · unsure → hold it blurred and ask you
─► the cloud agent gets the redacted frame · a consent ledger records every decision
Nothing leaves the Mac before the decision. The ledger stores categories and outcomes, never the text.
Built at the super{set} national renaissance hackathon, San Francisco, 22 Oct 2026, track Personal agents and data privacy.
visionscan, a small Swift helper. It runs on the Mac's own hardware and returns text lines with boxes.Before:
Today:
brew tap fortunto2/tap && brew install screenshield # ships the visionscan OCR helper
uv sync
make run # http://localhost:8790 , Share screen or click a sample
make demo # same gate from the CLI over fixtures/
Samples in fixtures/ are synthetic: every name, number and diagnosis is invented.
The same gate is an MCP server. The agent calls screenshot(purpose) and receives the redacted frame
plus a list of what was held back and why; the raw pixels never enter its context. Answers you give in
the web UI apply to the agent's next frame, and both write the same consent ledger.
claude mcp add consentshield -- uv run --directory "$PWD" python -m app.mcp_server # Claude Code
make mcp # or any MCP client over stdio
make install-mcp registers it for every directory (user scope). This repo also ships .mcp.json, so Claude Code started inside it already has the tool.
Full setup, Screen Recording permission, tool contract and troubleshooting: .claude/skills/consentshield/SKILL.md. Claude Desktop takes
the same command in claude_desktop_config.json. Tools: screenshot(purpose, path=None) and consent_policy().
Tried for real: Claude Code called the tool on the personal-chat sample and reported "I can read only one line: the sprint planning doc. The other 6 regions are blurred. No raw personal data reached me." Full transcript in docs/mcp-transcript.md.
| Screen | regions | sent | blurred | asked | time |
|---|---|---|---|---|---|
| personal chat | 7 | 2 | 2 | 3 | 1.4 s (first frame, warm-up) |
| bank dashboard | 7 | 1 | 5 | 1 | 0.16 s |
| work inbox with injection | 6 | 2 | 2 | 2 | 0.32 s |
Honest limits: Laya is small and often unsure on short chat lines, which is exactly why those go to the human instead of silently through. OCR boxes are per line, not per word.
Rustam Salavatov (fortunto2). Reuses the OCR and detectors of ScreenShield (3rd place, Cyberdefense Hackathon, SF, 9 Oct 2026).
MIT.