{"_id":"@nodatachat/guard","_rev":"51-96b88d1d3a518b56034a0678ed625446","name":"@nodatachat/guard","dist-tags":{"latest":"4.4.1"},"versions":{"4.1.0":{"name":"@nodatachat/guard","version":"4.1.0","keywords":["security","soc2","soc1","compliance","encryption","audit","pii","scanner","guard","nodata","privacy","gdpr","cicd","devsecops"],"author":{"name":"Capsule","email":"support@nodatacapsule.com"},"license":"SEE LICENSE IN LICENSE.md","_id":"@nodatachat/guard@4.1.0","maintainers":[{"name":"nodatachat","email":"david.erez@gmail.com"}],"homepage":"https://nodatacapsule.com/guard","bugs":{"url":"https://github.com/nodatachat/guard/issues"},"bin":{"nodata-guard":"dist/guard.js"},"dist":{"shasum":"77c0b1367812474117452d356af41bca0ef14f1c","tarball":"https://registry.npmjs.org/@nodatachat/guard/-/guard-4.1.0.tgz","fileCount":4,"integrity":"sha512-badGXlUvaDD92iNvhh7SPj4HplIm2bQGpVey3B6iuhjotC8lpbanYqDInLNGMojnJWJYSUqdFBDgzQD9NjIPfg==","signatures":[{"sig":"MEUCIH5MRYEqOzUedFcVk70eBOXzIgqweAAW5woeIdEauSBlAiEAm2VBGbE7VOnTysXPFApU0+/x8KLYAn4aS+VkCk9t4FY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163173},"main":"./dist/guard.js","engines":{"node":">=18.0.0"},"gitHead":"84ed69c0a18e0c847ee6bf3d0489a0d04303987a","scripts":{"dev":"npx tsx src/cli.ts","scan":"npx tsx src/cli.ts --license-key $GUARD_DEV_KEY --skip-send","build":"node build.mjs","start":"node dist/guard.js","scan:fix":"npx tsx src/cli.ts --license-key $GUARD_DEV_KEY --skip-send --fix","scan:plan":"npx tsx src/cli.ts --license-key $GUARD_DEV_KEY --skip-send --fix-plan","build:types":"tsc --emitDeclarationOnly --outDir dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"nodatachat","email":"david.erez@gmail.com"},"repository":{"url":"git+https://github.com/nodatachat/guard.git","type":"git"},"_npmVersion":"11.6.2","description":"NoData Guard — continuous security scanner. Runs locally, reports only metadata. Your data never leaves your machine.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"pg":"^8.13.0","mysql2":"^3.22.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.4","@types/pg":"^8.11.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/guard_4.1.0_1776068779629_0.34488398605770265","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"@nodatachat/guard","version":"4.2.0","keywords":["security","soc2","soc1","compliance","encryption","audit","pii","scanner","guard","nodata","privacy","gdpr","cicd","devsecops"],"author":{"name":"Capsule","email":"support@nodatacapsule.com"},"license":"SEE LICENSE IN LICENSE.md","_id":"@nodatachat/guard@4.2.0","maintainers":[{"name":"nodatachat","email":"david.erez@gmail.com"}],"homepage":"https://nodatacapsule.com/guard","bugs":{"url":"https://github.com/nodatachat/guard/issues"},"bin":{"nodata-guard":"dist/guard.js"},"dist":{"shasum":"6a9fd0a71c80d5ec868e3a989b15f1cabbac1d23","tarball":"https://registry.npmjs.org/@nodatachat/guard/-/guard-4.2.0.tgz","fileCount":4,"integrity":"sha512-EP26bm8KUQjWxyw17nONrgSzWoWppwh4m+hk9f9M2Wd7ZidrW9yvVhXbhEQhrl1tyPNOnSQPa1YW7ixdmqEuEw==","signatures":[{"sig":"MEQCIHmU9gOfpUMJ+H2WYmZ29y37t/Y3DCpEos6p8mm3QGZAAiBmjrkUebAr4clQJgZ+41+QxOFWwHcrfgTg6q/dTVu5iQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":166905},"main":"./dist/guard.js","engines":{"node":">=18.0.0"},"gitHead":"621c9b35806e90e812ee1cbf7bb76a4774b7108e","scripts":{"dev":"npx tsx src/cli.ts","scan":"npx tsx src/cli.ts --license-key $GUARD_DEV_KEY --skip-send","build":"node build.mjs","start":"node dist/guard.js","scan:fix":"npx tsx src/cli.ts --license-key $GUARD_DEV_KEY --skip-send --fix","scan:plan":"npx tsx src/cli.ts --license-key $GUARD_DEV_KEY --skip-send --fix-plan","build:types":"tsc --emitDeclarationOnly --outDir dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"nodatachat","email":"david.erez@gmail.com"},"repository":{"url":"git+https://github.com/nodatachat/guard.git","type":"git"},"_npmVersion":"11.6.2","description":"NoData Guard — continuous security scanner. Runs locally, reports only metadata. Your data never leaves your machine.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"pg":"^8.13.0","mysql2":"^3.22.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.4","@types/pg":"^8.11.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/guard_4.2.0_1776071200598_0.7982792490508523","host":"s3://npm-registry-packages-npm-production"}},"4.2.1":{"name":"@nodatachat/guard","version":"4.2.1","keywords":["security","soc2","soc1","compliance","encryption","audit","pii","scanner","guard","nodata","privacy","gdpr","cicd","devsecops"],"author":{"name":"Capsule","email":"support@nodatacapsule.com"},"license":"SEE LICENSE IN LICENSE.md","_id":"@nodatachat/guard@4.2.1","maintainers":[{"name":"nodatachat","email":"david.erez@gmail.com"}],"homepage":"https://nodatacapsule.com/guard","bugs":{"url":"https://github.com/nodatachat/guard/issues"},"bin":{"nodata-guard":"dist/guard.js"},"dist":{"shasum":"d090d275165e1add6c565389cb3af709ed2c5ed1","tarball":"https://registry.npmjs.org/@nodatachat/guard/-/guard-4.2.1.tgz","fileCount":4,"integrity":"sha512-5nXvV03IyvG2dm6iSWqaW8Zdd78u3X/kPVOvQe9+P2OJayur4MraObMN3Ajps/0JaCgH2z2fAaKQnUWogPQ16w==","signatures":[{"sig":"MEQCICrPUMebuac7Y+Nv/J0RoKbK3AWtH4AUbdgFlzSKUn1+AiAs3j4i2162GOra1m2BDXlUScIvWvWenLdc+i2WWX960w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":170069},"main":"./dist/guard.js","engines":{"node":">=18.0.0"},"gitHead":"ced154c6b2cc06a9605edf813b79b0343bb97224","scripts":{"dev":"npx tsx src/cli.ts","scan":"npx tsx src/cli.ts --license-key $GUARD_DEV_KEY --skip-send","build":"node build.mjs","start":"node dist/guard.js","scan:fix":"npx tsx src/cli.ts --license-key $GUARD_DEV_KEY --skip-send --fix","scan:plan":"npx tsx src/cli.ts --license-key $GUARD_DEV_KEY --skip-send --fix-plan","build:types":"tsc --emitDeclarationOnly --outDir dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"nodatachat","email":"david.erez@gmail.com"},"repository":{"url":"git+https://github.com/nodatachat/guard.git","type":"git"},"_npmVersion":"11.6.2","description":"NoData Guard — continuous security scanner. Runs locally, reports only metadata. Your data never leaves your machine.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"pg":"^8.13.0","mysql2":"^3.22.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.4","@types/pg":"^8.11.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/guard_4.2.1_1776080680976_0.7286207467330241","host":"s3://npm-registry-packages-npm-production"}},"4.2.2":{"name":"@nodatachat/guard","version":"4.2.2","keywords":["security","soc2","soc1","compliance","encryption","audit","pii","scanner","guard","nodata","privacy","gdpr","cicd","devsecops"],"author":{"name":"Capsule","email":"support@nodatacapsule.com"},"license":"SEE LICENSE IN LICENSE.md","_id":"@nodatachat/guard@4.2.2","maintainers":[{"name":"nodatachat","email":"david.erez@gmail.com"}],"homepage":"https://nodatacapsule.com/guard","bugs":{"url":"https://github.com/nodatachat/guard/issues"},"bin":{"nodata-guard":"dist/guard.js"},"dist":{"shasum":"c26f0bc9fe5bdb8766e24ddea30aaeec63f5fb72","tarball":"https://registry.npmjs.org/@nodatachat/guard/-/guard-4.2.2.tgz","fileCount":4,"integrity":"sha512-h4EpI0WyUPywDXLLAHqCysel6f3gJ44GvREHBNmMDzciAbKJ3fhf+bP7ni7Qan40GSlNMqZNeG/K7rDZwQmLSQ==","signatures":[{"sig":"MEYCIQD2I0w5KbDfcWpG0xt0Tb2Wdr8on+J9ZKpDvfv+DmKPfgIhAO56fi/NAFmNOJKxQGQ4xf1y1IiIGbHPUQhWh7rQikUq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":170879},"main":"./dist/guard.js","engines":{"node":">=18.0.0"},"gitHead":"01599d5d6e57c114aa95837ad809172381352be2","scripts":{"dev":"npx tsx src/cli.ts","scan":"npx tsx src/cli.ts --license-key $GUARD_DEV_KEY --skip-send","build":"node build.mjs","start":"node dist/guard.js","scan:fix":"npx tsx src/cli.ts --license-key $GUARD_DEV_KEY --skip-send --fix","scan:plan":"npx tsx src/cli.ts --license-key $GUARD_DEV_KEY --skip-send --fix-plan","build:types":"tsc --emitDeclarationOnly --outDir dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"nodatachat","email":"david.erez@gmail.com"},"repository":{"url":"git+https://github.com/nodatachat/guard.git","type":"git"},"_npmVersion":"11.6.2","description":"NoData Guard — continuous security scanner. Runs locally, reports only metadata. Your data never leaves your machine.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"pg":"^8.13.0","mysql2":"^3.22.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.4","@types/pg":"^8.11.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/guard_4.2.2_1776083119765_0.39994087398859524","host":"s3://npm-registry-packages-npm-production"}},"4.3.0":{"name":"@nodatachat/guard","version":"4.3.0","keywords":["security","soc2","soc1","compliance","encryption","audit","pii","scanner","guard","nodata","privacy","gdpr","cicd","devsecops"],"author":{"name":"Capsule","email":"support@nodatacapsule.com"},"license":"SEE LICENSE IN LICENSE.md","_id":"@nodatachat/guard@4.3.0","maintainers":[{"name":"nodatachat","email":"david.erez@gmail.com"}],"homepage":"https://nodatacapsule.com/guard","bugs":{"url":"https://github.com/nodatachat/guard/issues"},"bin":{"nodata-guard":"dist/guard.js"},"dist":{"shasum":"5253d92f97d8f7e56bdd149092c5b12e13172241","tarball":"https://registry.npmjs.org/@nodatachat/guard/-/guard-4.3.0.tgz","fileCount":4,"integrity":"sha512-RKp2LckEJLW+/KH3c8givX+Z3aDP+bkvzHiOT73tHjXaZPi5Z29n6BwPjEF7DkCLVsuAnV2gMfpHLkc7Xk92EQ==","signatures":[{"sig":"MEYCIQC5S1ChEQZkxSkGf12Mg1pj7VVEdRhSHuKskHtoR+RmSAIhANYuG1XSZrqN2wdZvP+3wWMiqBO2qJ1Tm6GyUB4PvBQx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":172568},"main":"./dist/guard.js","engines":{"node":">=18.0.0"},"gitHead":"2e1717e93ccfbbfe2d1c2c6744778f67d1baa584","scripts":{"dev":"npx tsx src/cli.ts","scan":"npx tsx src/cli.ts --license-key $GUARD_DEV_KEY --skip-send","build":"node build.mjs","start":"node dist/guard.js","scan:fix":"npx tsx src/cli.ts --license-key $GUARD_DEV_KEY --skip-send --fix","scan:plan":"npx tsx src/cli.ts --license-key $GUARD_DEV_KEY --skip-send --fix-plan","build:types":"tsc --emitDeclarationOnly --outDir dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"nodatachat","email":"david.erez@gmail.com"},"repository":{"url":"git+https://github.com/nodatachat/guard.git","type":"git"},"_npmVersion":"11.6.2","description":"NoData Guard — continuous security scanner. Runs locally, reports only metadata. Your data never leaves your machine.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"pg":"^8.13.0","mysql2":"^3.22.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.4","@types/pg":"^8.11.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/guard_4.3.0_1777102356320_0.3442637863075557","host":"s3://npm-registry-packages-npm-production"}},"4.3.2":{"name":"@nodatachat/guard","version":"4.3.2","keywords":["security","soc2","soc1","compliance","encryption","audit","pii","scanner","guard","nodata","privacy","gdpr","cicd","devsecops"],"author":{"name":"Capsule","email":"support@nodatacapsule.com"},"license":"SEE LICENSE IN LICENSE.md","_id":"@nodatachat/guard@4.3.2","maintainers":[{"name":"nodatachat","email":"david.erez@gmail.com"}],"homepage":"https://nodatacapsule.com/guard","bugs":{"url":"https://github.com/nodatachat/guard/issues"},"bin":{"nodata-guard":"dist/guard.js"},"dist":{"shasum":"79f2894cf755dc15d8ad7dc6267ea863672354ee","tarball":"https://registry.npmjs.org/@nodatachat/guard/-/guard-4.3.2.tgz","fileCount":4,"integrity":"sha512-OkLsVcW51IHFAw3D8ziAYYZWfBtp5XzkvQJf7xHUgFBEOXEr+zCofrwbBbeJ3Ok3ryUBkaFwa59EIuzEEh0DRQ==","signatures":[{"sig":"MEYCIQDXujOb2pldzoi+/V0spotC4aY9Og+QVm7eRmdcr0JorgIhALuH43wxFdaaJYfb4OQ/+gQGf2JpzN4K8pbykmfqywX6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":178966},"main":"./dist/guard.js","engines":{"node":">=18.0.0"},"gitHead":"1957892aa1ac1e5e8cf232f46976a660deab7af0","scripts":{"dev":"npx tsx src/cli.ts","scan":"npx tsx src/cli.ts --license-key $GUARD_DEV_KEY --skip-send","build":"node build.mjs","start":"node dist/guard.js","scan:fix":"npx tsx src/cli.ts --license-key $GUARD_DEV_KEY --skip-send --fix","scan:plan":"npx tsx src/cli.ts --license-key $GUARD_DEV_KEY --skip-send --fix-plan","build:types":"tsc --emitDeclarationOnly --outDir dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"nodatachat","email":"david.erez@gmail.com"},"repository":{"url":"git+https://github.com/nodatachat/guard.git","type":"git"},"_npmVersion":"11.6.2","description":"NoData Guard — continuous security scanner. Runs locally, reports only metadata. Your data never leaves your machine.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"pg":"^8.13.0","mysql2":"^3.22.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.4","@types/pg":"^8.11.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/guard_4.3.2_1777110050695_0.39472730478669993","host":"s3://npm-registry-packages-npm-production"}},"4.4.1":{"_id":"@nodatachat/guard@4.4.1","bin":{"nodata-guard":"dist/guard.js"},"bugs":{"url":"https://github.com/nodatachat/guard/issues"},"dist":{"shasum":"b956941f056479b9cdc46ca9946375804ccedebc","tarball":"https://registry.npmjs.org/@nodatachat/guard/-/guard-4.4.1.tgz","fileCount":4,"integrity":"sha512-kgMpxdVXx4I/A+HEiNjgIppaoy90weAW7B/iCup6DzOL7Ab0NF7iAK/Y4DQCdO4NzBZKx979aak2ZIOD7e2CTg==","signatures":[{"sig":"MEUCIQCSrC2LNHVHGdH8NTmE2RBG564LzvX6u/MZtepKtwrFhwIgYyhGI7pZvH0b6Rm7S+W3HU/MQAe6d3oedVjzYsIUYdk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICo4v5Iy2GkkO0kapkM43Lf3i1qy+d4MbZ+xQb2jbFZZAiAMf4xVinDSnUGjjJ+6fTn3rbUL4ox4SQrqExSO54HqpQ=="}],"unpackedSize":184060},"main":"./dist/guard.js","name":"@nodatachat/guard","author":{"name":"Capsule","email":"support@nodatacapsule.com"},"engines":{"node":">=18.0.0"},"license":"SEE LICENSE IN LICENSE.md","scripts":{"dev":"npx tsx src/cli.ts","scan":"npx tsx src/cli.ts --license-key $GUARD_DEV_KEY --skip-send","build":"node build.mjs","start":"node dist/guard.js","scan:fix":"npx tsx src/cli.ts --license-key $GUARD_DEV_KEY --skip-send --fix","scan:plan":"npx tsx src/cli.ts --license-key $GUARD_DEV_KEY --skip-send --fix-plan","build:types":"tsc --emitDeclarationOnly --outDir dist","prepublishOnly":"npm run build"},"version":"4.4.1","_npmUser":{"name":"nodatachat","email":"david.erez@gmail.com"},"homepage":"https://nodatacapsule.com/guard","keywords":["security","soc2","soc1","compliance","encryption","audit","pii","scanner","guard","nodata","privacy","gdpr","cicd","devsecops"],"repository":{"url":"git+https://github.com/nodatachat/guard.git","type":"git"},"_npmVersion":"11.6.2","description":"NoData Guard — continuous security scanner. Runs locally, reports only metadata. Your data never leaves your machine.","directories":{},"maintainers":[{"name":"nodatachat","email":"david.erez@gmail.com"}],"_nodeVersion":"24.12.0","dependencies":{"pg":"^8.13.0","mysql2":"^3.22.3"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.0","@types/pg":"^8.20.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/guard_4.4.1_1790195538666_0.31780446239324966"}}},"time":{"created":"2026-03-30T20:34:31.257Z","modified":"2026-09-23T20:32:18.907Z","2.0.0":"2026-03-30T20:34:31.472Z","2.1.0":"2026-04-10T07:37:12.314Z","2.2.0":"2026-04-10T07:58:26.748Z","2.3.0":"2026-04-12T10:45:07.754Z","2.4.0":"2026-04-12T12:05:44.863Z","2.5.0":"2026-04-12T13:05:39.720Z","2.5.1":"2026-04-12T13:19:55.244Z","2.6.0":"2026-04-12T13:46:36.151Z","2.6.1":"2026-04-12T13:48:22.024Z","3.0.0":"2026-04-12T13:53:49.087Z","3.1.0":"2026-04-12T14:11:00.089Z","3.2.0":"2026-04-12T15:56:07.742Z","3.2.1":"2026-04-12T16:19:01.084Z","3.2.2":"2026-04-12T16:41:40.288Z","3.2.3":"2026-04-12T16:49:01.444Z","3.3.0":"2026-04-12T17:00:40.718Z","3.4.0":"2026-04-12T18:53:57.998Z","3.4.1":"2026-04-12T19:15:29.341Z","3.5.0":"2026-04-12T19:26:18.254Z","4.0.0":"2026-04-13T07:51:08.129Z","4.0.1":"2026-04-13T08:05:28.355Z","4.0.2":"2026-04-13T08:19:36.322Z","4.1.0":"2026-04-13T08:26:19.760Z","4.2.0":"2026-04-13T09:06:40.750Z","4.2.1":"2026-04-13T11:44:41.147Z","4.2.2":"2026-04-13T12:25:19.935Z","4.3.0":"2026-04-25T07:32:36.457Z","4.3.2":"2026-04-25T09:40:50.931Z","4.4.1":"2026-09-23T20:32:18.754Z"},"bugs":{"url":"https://github.com/nodatachat/guard/issues"},"author":{"name":"Capsule","email":"support@nodatacapsule.com"},"license":"SEE LICENSE IN LICENSE.md","homepage":"https://nodatacapsule.com/guard","keywords":["security","soc2","soc1","compliance","encryption","audit","pii","scanner","guard","nodata","privacy","gdpr","cicd","devsecops"],"repository":{"url":"git+https://github.com/nodatachat/guard.git","type":"git"},"description":"NoData Guard — continuous security scanner. Runs locally, reports only metadata. Your data never leaves your machine.","maintainers":[{"name":"nodatachat","email":"david.erez@gmail.com"}],"readme":"# @nodatachat/guard\r\n\r\n**NoData Guard** — Continuous security scanner that runs locally. Your data never leaves your machine.\r\n\r\nGuard scans your codebase and (optionally) your database for security issues: exposed PII fields, missing encryption, unprotected routes, hardcoded secrets, and known CVEs. It generates two reports:\r\n\r\n- **`nodata-full-report.json`** — Full details, stays local on your machine\r\n- **`nodata-metadata-only.json`** — Metadata only (table names, counts, scores), sent to NoData for dashboard tracking\r\n\r\n**You can diff the two files to verify no data values were sent.**\r\n\r\n## Quick Start\r\n\r\n```bash\r\n# Run directly (no install needed)\r\nnpx nodata-guard --license-key NDC-XXXX-XXXX-XXXX\r\n\r\n# With database scan (Business Pro+)\r\nnpx nodata-guard --license-key NDC-XXXX --db postgres://user:pass@host/db\r\n\r\n# CI/CD mode — fail on critical findings\r\nnpx nodata-guard --license-key $NDC_LICENSE --ci --fail-on critical\r\n```\r\n\r\n## Features\r\n\r\n| Feature | Free | Business | Business Pro | Enterprise |\r\n|---------|------|----------|-------------|------------|\r\n| Code scan (PII, routes, secrets) | - | Yes | Yes | Yes |\r\n| Seed test (proof capsule) | - | Yes | Yes | Yes |\r\n| Continuous scanning | - | Yes | Yes | Yes |\r\n| Dashboard (scan history) | - | Yes | Yes | Yes |\r\n| Database scan (DB Probe) | - | - | Yes | Yes |\r\n| CI/CD integration | - | - | Yes | Yes |\r\n| Proof certificate | - | - | Yes | Yes |\r\n| On-prem deployment | - | - | - | Yes |\r\n| White-label | - | - | - | Yes |\r\n\r\n## Options\r\n\r\n```\r\n--license-key KEY    License key (or set NDC_LICENSE env var)\r\n--db URL             Database connection string (or set DATABASE_URL)\r\n--dir PATH           Project directory to scan (default: cwd)\r\n--output PATH        Output directory for reports (default: cwd)\r\n--ci                 CI mode — minimal output, exit codes\r\n--fail-on LEVEL      Exit 1 on issues at this level: critical, high, medium\r\n--skip-send          Don't send metadata report to NoData\r\n--version            Show version\r\n--help               Show help\r\n```\r\n\r\n## What Gets Scanned\r\n\r\n**Code Scanner (7 checks):**\r\n- PII field detection (24 categories: email, phone, SSN, credit card, etc.)\r\n- Encryption coverage (are PII fields encrypted?)\r\n- Route auth detection (42+ auth patterns)\r\n- Stack detection (framework, database, hosting)\r\n- Secret scanning (26 patterns, Gitleaks-style)\r\n- Dependency vulnerability checks\r\n- CVE detection (20 known vulnerabilities)\r\n\r\n**Database Scanner (6 checks):**\r\n- Schema introspection (table/column inventory)\r\n- PII column detection\r\n- Encryption verification (LEFT(value,13) only — never reads full values)\r\n- RLS policy coverage\r\n- Access control audit\r\n- Infrastructure checks (SSL, timeouts)\r\n\r\n## Privacy Guarantee\r\n\r\n- Guard runs **entirely on your machine**\r\n- Source code is **never uploaded**\r\n- Database values are **never read** (only schema metadata)\r\n- The metadata report contains only: table names, column counts, boolean flags, scores\r\n- You can verify this by diffing `nodata-full-report.json` vs `nodata-metadata-only.json`\r\n\r\n## Dashboard\r\n\r\nAfter running Guard, log in at [nodatacapsule.com/guard](https://nodatacapsule.com/guard) with your license key to see:\r\n\r\n- Score trends over time\r\n- Scan history with comparison\r\n- Issue breakdown by severity\r\n- Encryption coverage progress\r\n- Database security posture\r\n\r\n## CI/CD Integration\r\n\r\n### GitHub Actions\r\n\r\n```yaml\r\n- name: NoData Guard Security Scan\r\n  run: npx nodata-guard --license-key ${{ secrets.NDC_LICENSE }} --ci --fail-on critical\r\n  env:\r\n    DATABASE_URL: ${{ secrets.DATABASE_URL }}\r\n```\r\n\r\n### GitLab CI\r\n\r\n```yaml\r\nsecurity-scan:\r\n  script:\r\n    - npx nodata-guard --license-key $NDC_LICENSE --ci --fail-on critical\r\n  variables:\r\n    DATABASE_URL: $DATABASE_URL\r\n```\r\n\r\n## License\r\n\r\nProprietary — see [LICENSE.md](LICENSE.md)\r\n\r\n## Links\r\n\r\n- [Website](https://nodatacapsule.com)\r\n- [Guard Dashboard](https://nodatacapsule.com/guard)\r\n- [Getting Started](https://nodatacapsule.com/guard/onboarding)\r\n- [Pricing](https://nodatacapsule.com/pricing)\r\n","readmeFilename":"README.md"}