@@ -68,14 +68,31 @@ const result2 = await shield.task('export all contacts to CSV')
6868
6969That's it. Every ` shield.task()` call is policy-checked, audited, and budgeted.
7070
71- # # How It Works
71+ # # How It Protects You
7272
73- ```
74- Your Code
75- ↓
76- declawed (policy check + audit)
77- ├── Task allowed? → AnchorBrowser → Target App
78- └── Task denied? → Blocked + logged
73+ Your agent never touches your real browser. Every task goes through a policy checkpoint, then executes in a sandboxed cloud browser.
74+
75+ ` ` ` mermaid
76+ flowchart TD
77+ A["Your code calls<br/><b>shield.task('delete all contacts')</b>"] --> B{"<b>Step 1:</b> Check deny patterns<br/><i>*delete*, *send*, *password*</i>"}
78+ B -->|"❌ *delete* matches!"| C["🚫 <b>BLOCKED</b><br/>Returns immediately<br/>Agent never reaches your account"]
79+ B -->|"No deny match"| D{"<b>Step 2:</b> Check allow patterns<br/><i>read*, list*, check*</i>"}
80+ D -->|"✅ Pattern matches"| E["✅ <b>ALLOWED</b>"]
81+ D -->|"No allow match"| F{"<b>Step 3:</b> Default policy"}
82+ F -->|"default: deny"| C
83+ F -->|"default: allow"| E
84+
85+ E --> G["☁️ <b>AnchorBrowser</b><br/>Sandboxed cloud browser<br/>Opens real Chrome, executes task<br/>Your machine is never involved"]
86+ G --> H["Result returned to your code"]
87+
88+ C --> I["📝 <b>Audit Log</b><br/>Every action logged to shield-audit.jsonl<br/>Allowed AND blocked — append-only"]
89+ H --> I
90+
91+ I --> J["⏱️ <b>Budget & Kill Switch</b><br/>Action count · Time limit · Instant kill"]
92+
93+ style C fill:#d32f2f,color:#fff
94+ style E fill:#388e3c,color:#fff
95+ style G fill:#1565c0,color:#fff
7996` ` `
8097
8198# # CLI
0 commit comments