Setup means obtaining a workspace API key, proving Sentinel accepts a test crash (built-in PII scrubbing in <50ms on the hot path), then initializing the agent in your real app boot path so future crashes are captured automatically — still storing 0 bytes of source as a durable copy.
What is the LAWDE Shield setup path?
Create credentials → send one test ingest → install the SDK or HTTP reporter in production boot code. AI diagnosis (Athena) and Aegis Trust Score ≥ 0.70 gating happen asynchronously after ACK; they never block ingest.
Phase
Goal
Success signal
A · Test
Prove the key works
HTTP 200 from ingest; secrets scrubbed on the hot path
B · Live
Catch real crashes
Agent initialized on app boot
C · Secure
Protect sensitive paths
.lawdeignore synced via Beacon
1. Find your credentials in LAWDE Shield
After signing in, your personal Hobby workspace is created automatically. Credentials live in two places depending on what you need:
Open Settings → API keys (owners/admins). Copy a key once when it is created or rotated. Profile → API still shows the legacy workspace key for snippets.
Copy your Workspace API key. This is the value you will store as LAWDE_API_KEY. Auth header on ingest is x-lawde-api-key (or Authorization: Bearer …).
LAWDE_WORKSPACE_ID — workspace UUID (handy for scripts and support; Sentinel resolves the workspace from the API key, so this is not required for ingest auth)
LAWDE_APP_ID — optional app UUID when you have multiple apps
2. Store credentials in .env
Easiest path: open Profile → API Credentials, scroll to Ready-to-paste .env, and click Copy .env block. That block already contains your live LAWDE_API_KEY, LAWDE_WORKSPACE_ID, and LAWDE_APP_ID. Paste into a project .env or .env.local (Next.js).
Shape of the file (values filled for you in the dashboard):
.env
LAWDE_API_KEY=your_workspace_api_key_here
LAWDE_WORKSPACE_ID=your_workspace_id_here
# Optional — targets a specific app; otherwise Sentinel uses your default app
LAWDE_APP_ID=your_app_id_here
Open Apps → Beginner setup — snippets are pre-filled with your live key and App ID. Exact filenames: lawde-init.js, test_ingest.py, test_ingest.sh, test_ingest.js.
Run the Phase A command for your tab. After success, open Overview and confirm a new issue cluster appears (usually within a few seconds).
4. Phase B — Wire into your MAIN app for live crashes
Do not stop after the smoke test. The reporter must run inside the process that serves real traffic. Boot file depends on the stack:
Express / Fastify / plain Node: top of server.js / index.ts — import './src/lawde' or construct LawdeAgent there.
Next.js App Router: use official instrumentation.tsregister() — Next owns the server lifecycle (there is usually no server.js). Details: JS guide § Next.js.
NestJS: inside bootstrap() + global filter.
Python: FastAPI / Flask / Django global handlers (Python guide).
Any other language: POST the HTTP contract from your global error path.
Verify by throwing a real error in a route (not by re-running the smoke script) and watching Overview update.