CLI
Shield Commands
Create and manage Edge Shield widgets — free, privacy-first bot protection — without leaving your terminal.
Widgets
List Widgets
$ edge shield list ID NAME SITEKEY MODE AGENTS HOSTNAMES CREATED wgt-abc123 Contact form es_6206c6fdb43e7a3cb948507e6f3e5a11 managed allow example.com 2026-03-01 wgt-def456 Signup es_9f2a1b8c7d6e5f4a3b2c1d0e9f8a7b6c invisible challenge any 2026-04-12
Create a Widget
$ edge shield create --name "Contact form" --hostname example.com Creating widget... done ✓ Created widget Contact form (wgt-abc123) Sitekey: es_6206c6fdb43e7a3cb948507e6f3e5a11 Secret: ss_4f8e2a1b9c7d6e5f4a3b2c1d0e9f8a7b Mode: managed Agent Policy: allow Hostnames: example.com ! Store the secret securely — it will not be shown again. Embed on your page: <script src="https://shield.edge.network/api.js" defer></script> <div class="edge-shield" data-sitekey="es_6206c6fdb43e7a3cb948507e6f3e5a11"></div>
The secret is shown only once
Store it as a server-side environment variable immediately. It's needed for server-side validation and cannot be retrieved later — if it's lost, create a new widget.
Get Widget Details
$ edge shield get wgt-abc123 ID: wgt-abc123 Name: Contact form Sitekey: es_6206c6fdb43e7a3cb948507e6f3e5a11 Secret: ss_4f8e... Mode: managed Agent Policy: allow Hostnames: example.com Created: 2026-03-01
Update a Widget
# Switch to invisible mode edge shield update wgt-abc123 --mode invisible # Replace the hostname allowlist edge shield update wgt-abc123 --hostname example.com --hostname www.example.com # Challenge verified AI agents instead of allowing them edge shield update wgt-abc123 --agent-policy challenge # Rename edge shield update wgt-abc123 --name "Contact form (prod)"
Revoke a Widget
# Revoke with confirmation edge shield delete wgt-abc123 # Revoke without confirmation edge shield delete wgt-abc123 --force
Revocation is immediate — the sitekey and secret stop working, and any pages still embedding the widget will fail verification.
Traffic Stats
Challenge volume, solve rates, humanity scores, server-side verifications, and blocked replays. Defaults to the last 24 hours; use --hours for up to 30 days.
$ edge shield stats wgt-abc123 --hours 168 Last 168 hours: Challenges issued: 14,382 Challenges solved: 9,041 (62.9%) Interactive shown: 412 (2.9%) Avg humanity score: 78/100 Verified submissions: 1,204 Failed verifications: 38 Replays blocked: 17 Verified agents: 93
Shield Examiner
Run AI-powered analysis of a widget's aggregate traffic. Flags bot pressure, replay abuse, and calibration issues, and recommends configuration changes — the same Examiner available in the control panel.
# Run AI-powered traffic examination edge shield examine wgt-abc123 # View the last examination result edge shield examine-last wgt-abc123 # Output as JSON edge shield examine wgt-abc123 --output json
Examinations take up to 45 seconds. Results are saved and can be retrieved with examine-last.
Common Flags
| Flag | Description |
|---|---|
| --name | Widget name |
| --hostname | Allowed hostname (repeatable). Empty = any hostname |
| --mode | Widget mode: managed, non-interactive, invisible |
| --agent-policy | Verified-agents policy: allow, challenge, block |
| --hours | Stats window in hours (max 720) |
| --force | Skip delete confirmation |