{"_id":"@chengyixu/jsonmask","name":"@chengyixu/jsonmask","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@chengyixu/jsonmask","version":"1.0.0","description":"Mask sensitive fields in JSON streams for safe CI/CD logging. Zero dependencies.","main":"index.js","bin":{"jsonmask":"index.js"},"keywords":["json","mask","redact","security","ci","cd","pipeline","logging","sensitive","secrets","sanitize","cli","ndjson"],"author":{"name":"chengyixu"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/chengyixu/jsonmask.git"},"engines":{"node":">=14"},"_id":"@chengyixu/jsonmask@1.0.0","bugs":{"url":"https://github.com/chengyixu/jsonmask/issues"},"homepage":"https://github.com/chengyixu/jsonmask#readme","_nodeVersion":"25.8.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-nW/9vMs94pjQK722eNm5yAyh7hT/kqV3A9GusHsUXo/pI6NbhG2v2wNR+4jgQJlVYiA3UqsVQYJcdoQpZSk2DQ==","shasum":"c9e1ccccf9bc1bcc24f2a84f6b4d10dc48f9759e","tarball":"https://registry.npmjs.org/@chengyixu/jsonmask/-/jsonmask-1.0.0.tgz","fileCount":3,"unpackedSize":6845,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDW+82p7Bu+Ga3iHeH2pZaRNnuVd37NbbQzKk7A0izZNgIgA2JaK4S82zV+R4YeY/YsGlS/3YpVLrx1lc3ykijc4Uc="}]},"_npmUser":{"name":"chengyixu","email":"Chengyi_xu@outlook.com"},"directories":{},"maintainers":[{"name":"chengyixu","email":"Chengyi_xu@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/jsonmask_1.0.0_1778317184138_0.45744292141556686"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-09T08:59:44.083Z","1.0.0":"2026-05-09T08:59:44.307Z","modified":"2026-05-09T08:59:44.530Z"},"maintainers":[{"name":"chengyixu","email":"Chengyi_xu@outlook.com"}],"description":"Mask sensitive fields in JSON streams for safe CI/CD logging. Zero dependencies.","homepage":"https://github.com/chengyixu/jsonmask#readme","keywords":["json","mask","redact","security","ci","cd","pipeline","logging","sensitive","secrets","sanitize","cli","ndjson"],"repository":{"type":"git","url":"git+https://github.com/chengyixu/jsonmask.git"},"author":{"name":"chengyixu"},"bugs":{"url":"https://github.com/chengyixu/jsonmask/issues"},"license":"MIT","readme":"# jsonmask\n\nMask sensitive fields in JSON streams for safe CI/CD logging. Zero dependencies.\n\n## Install\n\n```bash\nnpm install -g @chengyixu/jsonmask\n```\n\n## Usage\n\n```bash\n# Pipe JSON through\necho '{\"user\":\"alice\",\"password\":\"s3cret\"}' | jsonmask\n\n# Read from file\njsonmask --file data.json\n\n# Remove fields instead of masking\ncat api.log | jsonmask --remove\n\n# Strict mode: exit 1 if secrets found (CI linting)\ncat deploy.json | jsonmask --strict --remove\n\n# Custom keys and mask string\njsonmask --keys apikey,private_key --mask \"[REDACTED]\"\n\n# Pretty JSON output\ncurl -s https://api.example.com | jsonmask --json\n\n# Count only\njsonmask --file data.json --count\n```\n\n## Options\n\n| Flag | Description |\n|------|-------------|\n| `--keys <list>` | Comma-separated keys to mask |\n| `--mask <str>` | Replacement string (default: `***`) |\n| `--remove` | Remove fields entirely |\n| `--json` | Pretty-print output as JSON |\n| `--strict` | Exit 1 if any sensitive keys found |\n| `--file <path>` | Read from file |\n| `--case-insensitive` | Match keys case-insensitively |\n| `--count` | Print count of masked fields only |\n| `--help, -h` | Show help |\n\n## Default masked keys\n\n`password`, `secret`, `token`, `api_key`, `apikey`, `credential`, `private_key`, `access_token`\n\nMasks nested objects recursively (leaf values only, container objects are recursed).\n","readmeFilename":"README.md","_rev":"1-e4ad1e587268fe514d4be632b9451eee"}