Local-only scan
Guard runs on your laptop, your build agent, or your dedicated security box. It connects to your code and your database, and reads samples in-place. No content uploaded. No samples leaked. No telemetry beyond what you opt into.
Guard runs locally on your machine. It scans your code, samples your database, scores how much of your sensitive data is actually encrypted, and prints a SOC 1 / SOC 2-ready report. The file you audit never leaves your laptop.
$ npx @nodatachat/guard@latest Database connection found Source: .env.local (Supabase) Connect to database? (y/n): y Scanning code... 1,472 files Scanning database... 6 evidence layers SOC readiness: 48% (51 controls) Code score: 40% DB score: 64% ──────────────────────────── Connection: TLSv1.3 AES-256-GCM Rows encrypted: 35,788 Rows plaintext: 1,551 RLS policies: 204 / 204 (100%) 12 issues found. 3 P1, 5 P2, 4 P3. Report written: ./guard-report-2026-05-01.html Your data never left your machine.
Guard runs on your laptop, your build agent, or your dedicated security box. It connects to your code and your database, and reads samples in-place. No content uploaded. No samples leaked. No telemetry beyond what you opt into.
For every sensitive field Guard finds, it answers one yes-or-no question: is this value encrypted? Across 14 database engines and 30+ cloud providers. The output is a per-field, per-table coverage map.
A visual map of where personally identifiable data lives in your stack, ranked by risk: cleartext beats hashed beats encrypted, replicated beats single-region, internet-facing beats VPC-only.
Guard scores 51 controls relevant to SOC 1 and SOC 2. The report is auditor-ready, with every control linked back to the evidence it found and the remediation it recommends.
For every gap, Guard proposes a one-line fix: which library to call, what migration to run, what RLS policy to add. You can copy-paste, or wire your CI to fail on regression.
Guard Pro runs on a cron, stores history, and pings Slack or email when a regression appears. The new field someone added without encryption shows up the next morning, not the next audit.
Guard prints two things on every run: a human-readable HTML report you can hand to an auditor, and a signed receipt in the same chain that powers Capsule and Continuum. The auditor sees the controls. The receipt proves the scan actually ran.
Two signatures: HMAC for ordering and integrity, Ed25519 for public verifiability. The receipt is verifiable with the same /api/chain/pubkey that powers every NoData product.
In Continuum, every team runs Guard on a schedule. The operator console aggregates the results across the org: which services are SOC-ready, which fields regressed this week, which teams need help. The dashboard fills with what to do next.
Guard is a real product on its own. It is also one of the data feeds Continuum operators rely on to know where to act first.
npx @nodatachat/guard@latest, answer one consent prompt, get an HTML report you can mail to your auditor.