{"_id":"logshield-cli","_rev":"32-e5b3c70f17348b5b7ff0e62ac474c129","name":"logshield-cli","dist-tags":{"latest":"0.8.2"},"versions":{"0.1.0":{"name":"logshield-cli","version":"0.1.0","_id":"logshield-cli@0.1.0","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/cli/index.js"},"dist":{"shasum":"f70d0cc6c117d655f8131e43bfcf370190660339","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.1.0.tgz","fileCount":59,"integrity":"sha512-3KyobrH14SlKkNBR5xiCiaY7dLxo7AgVrjfIdNiU7Fnq9xqPH6Y0E0q8y7KJEZEIPue9CGBBApIW0GOyK/M87Q==","signatures":[{"sig":"MEUCICFFu45XQb4yB/0iQriIJx78VV2ZQLjvpmJxkxKBCjmeAiEA8mVkc7hQcBNzA6HRoiiaxL+GvxcfuKRr5eQ4BK6RBAc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27357},"type":"module","gitHead":"9a634a3aee9d29748caf496e632b0470bbe03fbd","scripts":{"test":"vitest","build":"vite build"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"**Safe log sanitization for developers.**","directories":{},"_nodeVersion":"24.11.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","terser":"^5.31.3","vitest":"^4.0.15"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.1.0_1765975585815_0.06917323672646236","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"logshield-cli","version":"0.2.0","_id":"logshield-cli@0.2.0","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"0d1f128da72019b73573abb19233fd37b86fe5fa","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.2.0.tgz","fileCount":70,"integrity":"sha512-j493wWHd99cO6LbBGalOKoJbYkRDZKemqkHsXAgGjGFxdQxZbbnKNiGyfeKc+Iz0D9NuBfson6zp3qO7TyPdVw==","signatures":[{"sig":"MEYCIQDE/awNNjzAIAtmimKRdkZ8gZ+cHCq37uPh9OIsXjCnRgIhANT8IJwHQSaTd6nxzVIuU03b2C8dXxXQcZFqbyhetc+M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":318071},"type":"commonjs","gitHead":"babb45f2355cb2d5674a8d03664ba25a1e27d7ee","scripts":{"test":"vitest","build":"node scripts/build-cli.cjs"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"**Safe log sanitization for developers.**","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.2.0_1765982891642_0.8711334010162051","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"logshield-cli","version":"0.1.1","_id":"logshield-cli@0.1.1","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"e57fe6faf0ec09a8e463af7b5147594921419125","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.1.1.tgz","fileCount":70,"integrity":"sha512-IPpt6Wy+2NC6GIWw1OByQ1meRlIUK+Sy4AE0ngn0QzLiXgRt1L/9iQbvvJptclhQUSBQMyrQc92BGRmwqj2tnQ==","signatures":[{"sig":"MEQCIB2POBrYUoTHe4Z2kwyXq8LrXj/4n2OlNQJzfna1JMqbAiBiNQ1I9SxEYDVy+ztV+ZKiMwumYDTIwhqmRPKPkR2mvg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":318071},"type":"commonjs","gitHead":"e3218122d4e89e3fba0b7291bdfd9d001911ff06","scripts":{"test":"vitest","build":"node scripts/build-cli.cjs"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"**Safe log sanitization for developers.**","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.1.1_1765983237691_0.010786610081339854","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"logshield-cli","version":"0.2.1","_id":"logshield-cli@0.2.1","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"10c5ecd2a54e4ff0870d032fad30c7939b2e12ef","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.2.1.tgz","fileCount":70,"integrity":"sha512-3VOjEFxbv7aDltlBM5O9rkcdbECXV6hRNpNO/SnxwaaCLmMDcSLLsox2t94c8QhJftviCZaTDGTMcOUf2nSafw==","signatures":[{"sig":"MEYCIQD3mTNUmgiCa/CEo/hEk8wNq3ANDjRFjdKLubppT8KtdQIhAN2PmJnL6D3W44lu739WQ2gr4WI77mhKHG1HEAPO5L2L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317195},"type":"commonjs","gitHead":"5a7ffc8596032f9743ece7bcda441f492f639550","scripts":{"test":"vitest","build":"node scripts/build-cli.cjs"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"--- # LogShield","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.2.1_1765986434679_0.5026388170376603","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"logshield-cli","version":"0.2.2","_id":"logshield-cli@0.2.2","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"8aef27766e0c091f30d926b3d3c0dc6bacd0ea49","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.2.2.tgz","fileCount":70,"integrity":"sha512-+jEP3U0K1DFXF+rn5pDKS3jVeFyvNsWtoHIE3Tqd+moULKL5m9F9CMmC2UMKgbXJJaZ20aS5bNBymvufVNysGQ==","signatures":[{"sig":"MEYCIQCMc7M7x2S2fyMlwMotgCvc95RNFUghHe0e5gBL0UGrpAIhAOl7rJ158FcYsR+nAuQuWMsDkE9lkL1hKpqHHv4I4us6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317596},"type":"commonjs","gitHead":"5a7ffc8596032f9743ece7bcda441f492f639550","scripts":{"test":"vitest","build":"node scripts/build-cli.cjs"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"--- # LogShield","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.2.2_1765988150479_0.616403319142786","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"logshield-cli","version":"0.2.3","_id":"logshield-cli@0.2.3","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"046d7870c6413f01c4a615f77842bd3591c2c417","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.2.3.tgz","fileCount":70,"integrity":"sha512-fEuhM9xAZOnKRrSfDmbin1NFTzlBIGRz0Re8qjs8SnGew4QynBEFtD/zU4DGudAEo+Q9cyOUUmTkIwqOG42Tzg==","signatures":[{"sig":"MEQCIA9MQouGNzaVEy2qEQVRF5qf7gl7bMaKfreawlLLcG7tAiBEG2oXDODVOT3yAZlCHKqIunq8cuagK/7uqy5DXzifVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317576},"type":"commonjs","gitHead":"5a7ffc8596032f9743ece7bcda441f492f639550","scripts":{"test":"vitest","build":"node scripts/build-cli.cjs"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"--- # LogShield","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.2.3_1765988456690_0.538538283868059","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"logshield-cli","version":"0.2.4","_id":"logshield-cli@0.2.4","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"36ed860628e4a9e0f62d7bd269c22e51bc23da19","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.2.4.tgz","fileCount":70,"integrity":"sha512-ObB6ppdSO7k0KIFSehFawdenO5gdLFVD10k2ns91NuikAhplK6eh6HCZRH2cwFwEN1tkUjbisz5cSQFKjwZ6Ag==","signatures":[{"sig":"MEUCIQDicH6+CvQZyBjBiryxPH1+BJ16gAR8vRi23/XXfmjTSQIgOXCBcxBOPe1pkqWA9bC4jnMY4OlLk+bqCTO/OvwThNc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317576},"type":"commonjs","gitHead":"5a7ffc8596032f9743ece7bcda441f492f639550","scripts":{"test":"vitest","build":"node scripts/build-cli.cjs"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"--- # LogShield","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.2.4_1765988564765_0.8648520581341406","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"logshield-cli","version":"0.2.5","_id":"logshield-cli@0.2.5","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"89f9ee2e1a0e4d54b5d801a6d1bc28ba610e2f3a","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.2.5.tgz","fileCount":70,"integrity":"sha512-8pQNod3jtCi/6Ob5W28WvqONjLEtzsJQYrUbW7mX8m3BZu8kpfPiFaPK+V0oFAqxpT7+UFKnUPeo4xtJDUtQXg==","signatures":[{"sig":"MEQCIBSLXSiOKj9OGmHWsE/p/gzMu/Dn3E1p6pKZjHuEDySPAiBN35lKWSCFKefdP+MFmws9Mplhh2jTm4a3TzQhiKYgig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317268},"type":"commonjs","gitHead":"5a7ffc8596032f9743ece7bcda441f492f639550","scripts":{"test":"vitest","build":"node scripts/build-cli.cjs"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"--- # LogShield","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.2.5_1765988909875_0.8559698321741434","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"logshield-cli","version":"0.2.6","_id":"logshield-cli@0.2.6","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"1d2a6cdf702ee3e72529b0b095333071b5fd0201","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.2.6.tgz","fileCount":70,"integrity":"sha512-vF8ZbbrKEc+Q3Gmx1+D9R/JTMCIssUEMFFPaRgj6wL7I7792Ts5yknUehExcjfm66Tl0gIAr8uyR37on3i3UAg==","signatures":[{"sig":"MEUCIQC7ZsWN6xY0pTDEx1pEbHJkNmPedZkP3DXLGYlGQd3JPQIgdK+Wpmrn8eBolFGMtCLtyn+u0xzpXB+S2L7b/j2Om7o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317526},"type":"commonjs","gitHead":"5a7ffc8596032f9743ece7bcda441f492f639550","scripts":{"test":"vitest","build":"node scripts/build-cli.cjs"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"--- # LogShield","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.2.6_1765989202608_0.1067896617236248","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"logshield-cli","version":"0.2.7","_id":"logshield-cli@0.2.7","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"d9028c66668331eb38fc5edbc02e309ec4659da5","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.2.7.tgz","fileCount":70,"integrity":"sha512-F5hVz44cLZS3tcdCaBj5I3Kz6MOynAhDKxQ5IYhAG4lPN3ySweWPNilNQkysMfFWFPjO8Fv1l2S4DMddM37Yew==","signatures":[{"sig":"MEQCIHkHsPsFxUuJd6zFB+KIIWqsaBqaN5TJdaQMoLBi9dtlAiBTf5LL1HN5UHL3G5Ib8gHzcCMIjqxsJv7DT+BDwvwYyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317564},"type":"commonjs","gitHead":"5a7ffc8596032f9743ece7bcda441f492f639550","scripts":{"test":"vitest","build":"node scripts/build-cli.cjs"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"--- # LogShield","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.2.7_1765989722499_0.7698739622051347","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"logshield-cli","version":"0.2.8","_id":"logshield-cli@0.2.8","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"d0cee0e217a9676a7bab0af100002387cb33be28","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.2.8.tgz","fileCount":55,"integrity":"sha512-tKzMwSvfbU1H7T/wIVBsaFzzbIkMvr8vPMD6675ARuXY5Rsy5CMcxM+RJtaScTJ/yw113keGebZHLK3rzJCC5A==","signatures":[{"sig":"MEQCIDaoySYagxkv7gwijhByhpCntzD00wT1d0Ew0yaKK6jJAiALTqMAY+0nhEMI/lBQFTxfKBgFU80f+KiWlkVg2Qq4kw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":310560},"type":"commonjs","gitHead":"a3d26669915093180489d12d06b039ab9fd71b36","scripts":{"test":"vitest","build":"node scripts/build-cli.cjs"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"--- # LogShield","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.2.8_1766007585916_0.9236175796585848","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"logshield-cli","version":"0.2.9","_id":"logshield-cli@0.2.9","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"fd9c05a104d5553800a07cf608a4365ecf1c53f0","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.2.9.tgz","fileCount":55,"integrity":"sha512-FacHp2lNVVE5MQkRtqeu9beqlmaIo10kWDeWZ2UjBhjSqxboGk686sgWdmxMCYKFCjRxB25Cy8Baig5/CbdiJg==","signatures":[{"sig":"MEYCIQCuiDrmJly3LBEHkI61c3KipUF5LzGV03ACaIDwG7goJQIhAIhIQe6kImaQe0sjeac01SYAKMrlbEUz59DJ6LiOX/0R","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":310540},"type":"commonjs","gitHead":"a3d26669915093180489d12d06b039ab9fd71b36","scripts":{"test":"vitest","build":"node scripts/build-cli.cjs"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"--- # LogShield","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.2.9_1766007723550_0.19858145392833326","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"logshield-cli","version":"0.3.0","_id":"logshield-cli@0.3.0","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"df08ee694de56de0fdf2946a5d32673a0e0179e8","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.3.0.tgz","fileCount":55,"integrity":"sha512-4tpKnd7266RJ2TDjOPay926FIDaNaLjJtbKynGQvsE7b8IsWNav5js1BkMkXHk/3URic5XlZAx6fSo6PVUmQIw==","signatures":[{"sig":"MEUCIQDpn0TaU5Q8aAWt/GKLJja3li4wDc4ooiQz/FZ3zwWzHAIgHuhvO58da02jzAMnK7La8LcykgXTcbqYtvWsiG4zc2c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":311718},"type":"commonjs","gitHead":"80122507c5f551b305c80d1beeb7758f0c06ec21","scripts":{"test":"vitest","build":"node scripts/build-cli.cjs"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"--- # LogShield","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.3.0_1766052281918_0.38783467503482894","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"logshield-cli","version":"0.3.1","_id":"logshield-cli@0.3.1","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"228b8dcc508c09eb11d8d19b26c7948dfd0115a0","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.3.1.tgz","fileCount":55,"integrity":"sha512-2lRNwnogtaP6PC8lcRFj50ocWqpTqdai6C0XgNx/s/+0WXMtS+3bkEcHOBjJ0eKejkEHtYJzyu9hOUNice0XTQ==","signatures":[{"sig":"MEUCIQD9NFMpSiYSvZfyiQ3Lm9xrPNqypfzF+0M3EeVxfiO6fAIgT2YHXHuVJocHFvO+mve2YWIfb+uQroAloCHTTWTWcx4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":311718},"type":"commonjs","gitHead":"18695cc56c39e9e842e60c9c67f61ca6211bca66","scripts":{"test":"vitest","build":"node scripts/build-cli.cjs"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"--- # LogShield","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.3.1_1766053024806_0.4072433889551199","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"logshield-cli","version":"0.3.2","_id":"logshield-cli@0.3.2","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"ed622162b3f0452e0304f231e818e00112a661dc","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.3.2.tgz","fileCount":55,"integrity":"sha512-6c+nkg2e/vvcYY5E2W7k1diwdgLM33el3rVv+82zwnFzEXPaqDNWvUkTqebu3bTXEfXzu1izwKFGm2EwEIK/bg==","signatures":[{"sig":"MEUCIQCKrZJzxq1TNmY+9BayHygJlvut7snFIqnt3GugpdwIaQIgUiTFTNoqr84AyoxbWC130ls1J5OLjW1TWDblxlqln1I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":312992},"type":"commonjs","gitHead":"28293b496286f6188b8aec8ee5ba4deeecf78fea","scripts":{"test":"vitest","build":"node scripts/build-cli.cjs"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"LogShield is a CLI tool to **redact real sensitive data from logs** before sharing them with others, AI tools, CI systems, or public channels.","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.3.2_1766057060021_0.9099521131261172","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"logshield-cli","version":"0.3.3","license":"ISC","_id":"logshield-cli@0.3.3","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"388d2bdf6659dcc545f18a0cd7ac02b8d63eaad3","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.3.3.tgz","fileCount":55,"integrity":"sha512-AxYM2KJvlCo8OMT+bxThOaGqEwxAjxvfdTPOw6MFIxe/laJLQWvIrGrfXpC4KocLDeN7o8hs980lL3SlRYRXBQ==","signatures":[{"sig":"MEUCIG3E1ZyTVrSEaL/GON9b6L7b29UHVk9P63cLZ98OQ4u8AiEA7XdKkXbxeic+Tc2E9eymKPa6U/yOswRe4khhfrdchtc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":323495},"type":"commonjs","gitHead":"fbd6d1e9251e04a156d97a8f32a7687a72054067","scripts":{"test":"vitest","build":"node scripts/build-cli.cjs","dev:web":"vite","pretest":"npm run build","build:web":"vite build --outDir dist-web"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"---","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0","postcss":"^8.5.6","@types/node":"^25.0.3","tailwindcss":"^3.4.19","autoprefixer":"^10.4.23"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.3.3_1766416706428_0.3417253785071883","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"logshield-cli","version":"0.3.4","license":"ISC","_id":"logshield-cli@0.3.4","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"e7550416a6c7c066b812fd2cf91d4057e335911a","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.3.4.tgz","fileCount":55,"integrity":"sha512-K0Zk/AHQEBEzLLci1b5eOMjQipSiewYHMqrp2X2TLW88UZiY9NWwj82Wff1CabN1cZS6vzS9wt79H9bCaJ0Vng==","signatures":[{"sig":"MEUCIQCC02pQgwCWj8jdnxZd02eqK8YvipuvGjTYnK3GdqD67AIgWprht1ZM2dsraL7yTFknehMa2RYe7p8ke6JTrT621m4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":323510},"type":"commonjs","gitHead":"fec6861d9ce3bc8d75ed7b8bde9ab98d304e9ec8","scripts":{"test":"vitest","build":"node scripts/build-cli.cjs","dev:web":"vite","pretest":"npm run build","build:web":"vite build --outDir dist-web"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"---","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0","postcss":"^8.5.6","@types/node":"^25.0.3","tailwindcss":"^3.4.19","autoprefixer":"^10.4.23"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.3.4_1766417540808_0.46943670112946934","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"logshield-cli","version":"0.3.5","license":"ISC","_id":"logshield-cli@0.3.5","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"3edc6bcb1d6c467306e116389e63ca10f60cd246","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.3.5.tgz","fileCount":56,"integrity":"sha512-H3XkNOXZryCTGySDFNCZtPsug+n1A4D6otj7EiPesCunjVD+q9ay0Y/hkje+OBvf8bB3TVxNse6rdRiG0dR0Xg==","signatures":[{"sig":"MEUCIQC0BbidG0LJExiz/EY+gd+kwA4kWrE6WU4VcQ3FTvcdKAIgWEvTTFqYI9QOM0TUzHbGXcAkSPDowFCpUeLN5wd3qYA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":323942},"type":"commonjs","gitHead":"b52e5dc20f1df89ca3b1caf7ec4ca2e5e86ed77f","scripts":{"test":"vitest","build":"node scripts/build-cli.cjs","dev:web":"vite","pretest":"npm run build","build:web":"vite build --outDir dist-web","prepublishOnly":"npm run build"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"---","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0","postcss":"^8.5.6","@types/node":"^25.0.3","tailwindcss":"^3.4.19","autoprefixer":"^10.4.23"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.3.5_1766610664873_0.31947152158279013","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"logshield-cli","version":"0.3.6","license":"ISC","_id":"logshield-cli@0.3.6","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"957f8d421d0fd35a73e90b6df41f4be1d868c421","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.3.6.tgz","fileCount":56,"integrity":"sha512-m6LyfBDkoJC2UMKEoZgcGGqlJFwJ47SRFtV1b5jtT/+5+2d8oBqxDOWfubH5PHSrb1d0P0LOY7+UAZybbqcgSA==","signatures":[{"sig":"MEUCIEvvlD+BFhNTSrEyNqyvnslIjd5pRgvGz2zTCvuUoPc3AiEA+bazFe5e21k1G1d6IlRORrPkDE2z5DDTWlWGc77dWlw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":321272},"type":"commonjs","gitHead":"e6decd81a82300d12bbdd54fd90b458b0bd64c33","scripts":{"test":"vitest","build":"node scripts/build-cli.cjs","dev:web":"vite","pretest":"npm run build","build:web":"vite build --outDir dist-web","build:blog":"node scripts/build-blog.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"---","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0","postcss":"^8.5.6","@types/node":"^25.0.3","tailwindcss":"^3.4.19","autoprefixer":"^10.4.23"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.3.6_1766633634448_0.7200543233776453","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"logshield-cli","version":"0.4.0","license":"Apache-2.0","_id":"logshield-cli@0.4.0","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"8f7d3692db85ded05197a847acf18ae1787da232","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.4.0.tgz","fileCount":56,"integrity":"sha512-Svfj5MwbHyuKPnbx3XihTckqizcw4LE6gqDi9DgnX89cw/nAd5GSFSPeF7Iq20EAGHvPScAeggv3kSZo36V3kw==","signatures":[{"sig":"MEYCIQDSSrVvWMwNb4AB+jTZ+2o3DicQdRDKTkR+GKK3UsRxKAIhANoq0Dwhm6rYATP4LXt4IEw0s6NWkvQ+jr1iaCn8Qhgg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":332548},"type":"commonjs","gitHead":"147a40f5ba18d4e35bc11086f4e6afa9fc1f4f2a","scripts":{"test":"vitest","build":"node scripts/build-cli.cjs","dev:web":"vite","pretest":"npm run build","build:web":"vite build --outDir dist-web","build:blog":"node scripts/build-blog.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"--- # LogShield","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0","postcss":"^8.5.6","@types/node":"^25.0.3","tailwindcss":"^3.4.19","autoprefixer":"^10.4.23"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.4.0_1767785001030_0.6948660912732934","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"logshield-cli","version":"0.4.1","license":"Apache-2.0","_id":"logshield-cli@0.4.1","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"a374335dfd498cd235e7c8d4d97771e8db628708","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.4.1.tgz","fileCount":56,"integrity":"sha512-7wCIhVBO4FtRPVqPU2QYMNzpJW6MV3TQAiN3ma7Z+ZtTmrPoYTf4QsehTtXTvLW9j0p0dnc608BTpYi1T9vNJQ==","signatures":[{"sig":"MEUCIFJWSroZ5LwcjX33ixaHqmLFbFj+DxipwLeOla4qPEMhAiEAxxyeJtIcvhBh7MubecGDsbHDAAVdJHNa5G7J3fqAvwA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":334367},"type":"commonjs","gitHead":"15c5a2a307ae3f3844dda47dc02dfdc6a119e8fa","scripts":{"test":"vitest","build":"node scripts/build-cli.cjs","dev:web":"vite","pretest":"npm run build","build:web":"vite build --outDir dist-web","typecheck":"tsc -p tsconfig.core.json && tsc -p tsconfig.cli.json --noEmit","build:blog":"node scripts/build-blog.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"--- # LogShield","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0","postcss":"^8.5.6","typescript":"^5.9.3","@types/node":"^25.0.3","tailwindcss":"^3.4.19","autoprefixer":"^10.4.23"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.4.1_1767813966177_0.1316638712765532","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"logshield-cli","version":"0.4.2","license":"Apache-2.0","_id":"logshield-cli@0.4.2","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"b111eeab529fb53f861a73ab595233e11bc3fc85","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.4.2.tgz","fileCount":56,"integrity":"sha512-HPmX9R/NbWtSFNMpXpquKmoYwJq8lkFVJ5WMmt8boZdaQ1naipllNFF3smQ0ijQ42IVvktiH3ziJmYSGuSB0Zg==","signatures":[{"sig":"MEUCIEU0Qjks6i2ZjcFfrr2m6OpnF/qCXSFdN/YlAPxEbuaOAiEApFh6/I9llHEVWHqvlHzbF3YtaLFBTmaTkSFfFZfbIUo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":339134},"type":"commonjs","gitHead":"e83226fda91079e69a8f2f967b5480f0912796bd","scripts":{"test":"vitest","build":"node scripts/build-cli.cjs","dev:web":"vite","pretest":"npm run build","build:web":"vite build --outDir dist-web","typecheck":"tsc -p tsconfig.core.json && tsc -p tsconfig.cli.json --noEmit","build:blog":"node scripts/build-blog.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"[![npm version](https://img.shields.io/npm/v/logshield-cli)](https://www.npmjs.com/package/logshield-cli) [![npm downloads](https://img.shields.io/npm/dm/logshield-cli)](https://www.npmjs.com/package/logshield-cli) [![CI](https://github.com/afria85/LogShi","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0","postcss":"^8.5.6","typescript":"^5.9.3","@types/node":"^25.0.3","tailwindcss":"^3.4.19","autoprefixer":"^10.4.23"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.4.2_1767886177454_0.6955509450113067","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"logshield-cli","version":"0.4.3","license":"Apache-2.0","_id":"logshield-cli@0.4.3","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"4e38ec65a69f68d079495b41a9f7f36784fa688d","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.4.3.tgz","fileCount":56,"integrity":"sha512-OQt/Dfvsx+AZxOkNRjWK5y7s44d++lcdtKyGuDk2D8YUNFbbP7k0yNQWLTFAWlNFn8aJMnHbTcZ1dtmc26zbCg==","signatures":[{"sig":"MEQCIB31QqXJI+SmHLhlaHKAhqMaC9yxkxX5LfgECNcaU000AiACMStUobZuQeW63On3/waZMGVjBxqY+bL1/HS1if0UXw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":340307},"type":"commonjs","gitHead":"8a0f8562891731d0aa0ad5169c9347a2c95c0f4b","scripts":{"test":"vitest","build":"node scripts/build-cli.cjs","dev:web":"vite","pretest":"npm run build","build:web":"vite build --outDir dist-web","typecheck":"tsc -p tsconfig.core.json && tsc -p tsconfig.cli.json --noEmit","build:blog":"node scripts/build-blog.js","prepublishOnly":"npm run prepublish:check","prepublish:check":"npm run typecheck && npm test"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"[![npm version](https://img.shields.io/npm/v/logshield-cli)](https://www.npmjs.com/package/logshield-cli) [![npm downloads](https://img.shields.io/npm/dm/logshield-cli)](https://www.npmjs.com/package/logshield-cli) [![CI](https://github.com/afria85/LogShi","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0","postcss":"^8.5.6","typescript":"^5.9.3","@types/node":"^25.0.3","tailwindcss":"^3.4.19","autoprefixer":"^10.4.23"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.4.3_1767901865739_0.39346481112731313","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"logshield-cli","version":"0.4.4","license":"Apache-2.0","_id":"logshield-cli@0.4.4","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"75262e49d78f81763d683d8348256453d2149be7","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.4.4.tgz","fileCount":53,"integrity":"sha512-j6ckJ2yYi1WuXe/LsrtfEq+QfGhVjEBSlqhKc+iBjdTUcRR+UaEj8n2eSK7MOG/DMZldc/iXw346t6hM88aLnQ==","signatures":[{"sig":"MEYCIQDDEeJOUumubPmw0OsjrTTtCncpOFN+89Y7hKHleP4w8wIhAOsqGkpsUnIimri5K8jhosVbFOGruMIfAErn0x0VA5tG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":314200},"type":"commonjs","gitHead":"2c07a3eb1605f3f8bcc63d04434d53bb0b88f7c4","scripts":{"test":"vitest","build":"node scripts/build-cli.cjs","dev:web":"vite","pretest":"npm run build","build:web":"vite build --outDir dist-web","typecheck":"tsc -p tsconfig.core.json && tsc -p tsconfig.cli.json --noEmit","build:blog":"node scripts/build-blog.js","prepublishOnly":"npm run prepublish:check","prepublish:check":"npm run typecheck && npm test"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"_npmVersion":"10.8.2","description":"[![npm version](https://img.shields.io/npm/v/logshield-cli)](https://www.npmjs.com/package/logshield-cli) [![npm downloads](https://img.shields.io/npm/dm/logshield-cli)](https://www.npmjs.com/package/logshield-cli) [![CI](https://github.com/afria85/LogShi","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0","postcss":"^8.5.6","typescript":"^5.9.3","@types/node":"^25.0.3","tailwindcss":"^3.4.19","autoprefixer":"^10.4.23"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.4.4_1768298796112_0.898411446591346","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"logshield-cli","version":"0.5.0","keywords":["log-sanitization","secret-detection","redaction","security","devops","cli","deterministic","no-ai"],"license":"Apache-2.0","_id":"logshield-cli@0.5.0","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"homepage":"https://logshield.dev","bugs":{"url":"https://github.com/afria85/LogShield/issues"},"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"1dda2164ff22f606cc1de5b6e22e833ca69be9c2","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.5.0.tgz","fileCount":5,"integrity":"sha512-7wRFQcViJL+dlIj5T4TIPkMRTtJ0Y9XunB+PHN4ddYcvbrSEsGP5LWFoLlv7ANV0gFn/5cKTzW7jGm7pSMFZ+A==","signatures":[{"sig":"MEUCIC/yxwfGvCpYtDo6l+KS3PMzMiAAWrpFIGAOcNrvdw3RAiEAhFVzF0T7xvk0CFbiaYb0COT7zZTIoBVG1xevivmvt0M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46617},"type":"commonjs","engines":{"node":">=18"},"funding":{"url":"https://github.com/sponsors/afria85","type":"github"},"gitHead":"18dc219aa5ec2fe93c4a2063dfc1fea947a70f26","scripts":{"dev":"node scripts/dev-docs-server.mjs","lint":"npm run typecheck","test":"vitest","build":"node scripts/build-cli.cjs","dev:lan":"node scripts/dev-docs-server.mjs --host 0.0.0.0","prepack":"npm run clean:dist && npm run build","pretest":"npm run build","typecheck":"tsc -p tsconfig.core.json && tsc -p tsconfig.cli.json --noEmit","build:blog":"node scripts/build-blog.js","clean:dist":"node scripts/clean-dist.mjs","pack:check":"npm pack --dry-run","release:check":"npm run prepublish:check && npm run pack:check","prepublishOnly":"npm run prepublish:check","prepublish:check":"npm run typecheck && npm test"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"repository":{"url":"git+https://github.com/afria85/LogShield.git","type":"git"},"_npmVersion":"10.8.2","description":"Deterministic, rule-based CLI to sanitize secrets from logs. No AI. No cloud. No config.","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0","typescript":"^5.9.3","@types/node":"^25.0.3"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.5.0_1769889666254_0.5439632957491694","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"logshield-cli","version":"0.6.0","keywords":["log-sanitization","secret-detection","redaction","security","devops","cli","deterministic","no-ai"],"license":"Apache-2.0","_id":"logshield-cli@0.6.0","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"homepage":"https://logshield.dev","bugs":{"url":"https://github.com/afria85/LogShield/issues"},"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"5b531c5efc8e81a4e092dbff73ef7edb1620ba34","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.6.0.tgz","fileCount":5,"integrity":"sha512-wUkoiFHBwb7PcRV40FuwHGqSZ++c8XCcaf/AcUcMzckWYx6XTF8ytpxLwDDRUrrbA2QtEAocKP2lmynQpAMgaA==","signatures":[{"sig":"MEUCIGAgyX5Ha/mlVuvCe/c3hd5js0QZgurDuZ650kjnmG0oAiEAo/Yc1otQTyvizx/LAsfWzS2CAnW3NdgYy3yiLNZDbA8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50146},"type":"commonjs","engines":{"node":">=18"},"funding":{"url":"https://github.com/sponsors/afria85","type":"github"},"gitHead":"7a67ebcc85d9167e604fff873ae05b2085dcd9e1","scripts":{"dev":"node scripts/dev-docs-server.mjs","lint":"npm run typecheck","test":"vitest","build":"node scripts/build-cli.cjs","dev:lan":"node scripts/dev-docs-server.mjs --host 0.0.0.0","prepack":"npm run clean:dist && npm run build","pretest":"npm run build","typecheck":"tsc -p tsconfig.core.json && tsc -p tsconfig.cli.json --noEmit","build:blog":"node scripts/build-blog.js","clean:dist":"node scripts/clean-dist.mjs","pack:check":"npm pack --dry-run","release:check":"npm run prepublish:check && npm run pack:check","prepublishOnly":"npm run prepublish:check","prepublish:check":"npm run typecheck && npm test"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"repository":{"url":"git+https://github.com/afria85/LogShield.git","type":"git"},"_npmVersion":"10.8.2","description":"Deterministic, rule-based CLI to sanitize secrets from logs. No AI. No cloud. No config.","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0","typescript":"^5.9.3","@types/node":"^25.0.3"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.6.0_1770530210913_0.47363971179712094","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"logshield-cli","version":"0.7.0","keywords":["log-sanitization","secret-detection","redaction","security","devops","cli","deterministic","no-ai"],"license":"Apache-2.0","_id":"logshield-cli@0.7.0","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"homepage":"https://logshield.dev","bugs":{"url":"https://github.com/afria85/LogShield/issues"},"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"dc5130d0d007987f39bba725fece53c5e30f8243","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.7.0.tgz","fileCount":5,"integrity":"sha512-f9etToZV8xqdTvgeqIMWERR720Vj7BBbjFuR43Wp1Q3KVhHC60uJdXnYnH36+KhtsEd5Zi7ZuxYC4iGxj4WgmA==","signatures":[{"sig":"MEUCIQC1Z/ahYwH+i6Rj8+BZ3PHkBGFktuaQL7GBjcR7TPIFTQIgGkKzxwRllX5CtN44NnfOGCIhyxxJ/HhQg9LWxe3NCIQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51570},"type":"commonjs","engines":{"node":">=18"},"funding":{"url":"https://github.com/sponsors/afria85","type":"github"},"gitHead":"ad83ae9fa6c79cd59e33e3257fe2ed4fc22abe0a","scripts":{"dev":"node scripts/dev-docs-server.mjs","lint":"npm run typecheck","test":"vitest","build":"node scripts/build-cli.cjs","dev:lan":"node scripts/dev-docs-server.mjs --host 0.0.0.0","prepack":"npm run clean:dist && npm run build","pretest":"npm run build","typecheck":"tsc -p tsconfig.core.json && tsc -p tsconfig.cli.json --noEmit","build:blog":"node scripts/build-blog.js","clean:dist":"node scripts/clean-dist.mjs","pack:check":"npm pack --dry-run","release:check":"npm run prepublish:check && npm run pack:check","prepublishOnly":"npm run prepublish:check","prepublish:check":"npm run typecheck && npm test"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"repository":{"url":"git+https://github.com/afria85/LogShield.git","type":"git"},"_npmVersion":"10.8.2","description":"Deterministic, rule-based CLI to sanitize secrets from logs. No AI. No cloud. No config.","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0","typescript":"^5.9.3","@types/node":"^25.0.3"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.7.0_1773785393112_0.9523948458441787","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"logshield-cli","version":"0.7.1","keywords":["log-sanitization","secret-detection","redaction","security","devops","cli","deterministic","no-ai"],"license":"Apache-2.0","_id":"logshield-cli@0.7.1","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"homepage":"https://logshield.dev","bugs":{"url":"https://github.com/afria85/LogShield/issues"},"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"20e99b2d163f69a541d870a5ca575f1139a20914","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.7.1.tgz","fileCount":5,"integrity":"sha512-4xUsWPNYpLrLRei/T1qIguo8I7jBv1Yh4ZVs90Rz2vOEaHoG16ZUB9GogZqg2jwG9b0fIkKyp2WAex1ealGgqg==","signatures":[{"sig":"MEUCIQCQBih9KP/NIL9WS+MYYkI5zahUArQC/5VZolaSOPn9lgIgAo56MsE62IDb8dtZqrso/MUGesN8/p/LmRjPgW5qEQY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52749},"type":"commonjs","engines":{"node":">=18"},"funding":{"url":"https://github.com/sponsors/afria85","type":"github"},"gitHead":"f6fb9d0251573e6269224644b2b2f5e5501b7e6a","scripts":{"dev":"node scripts/dev-docs-server.mjs","lint":"npm run typecheck","test":"vitest","build":"node scripts/build-cli.cjs","dev:lan":"node scripts/dev-docs-server.mjs --host 0.0.0.0","prepack":"npm run clean:dist && npm run build","pretest":"npm run build","typecheck":"tsc -p tsconfig.core.json && tsc -p tsconfig.cli.json --noEmit","build:blog":"node scripts/build-blog.js","clean:dist":"node scripts/clean-dist.mjs","pack:check":"npm pack --dry-run","release:check":"npm run prepublish:check && npm run pack:check","prepublishOnly":"npm run prepublish:check","prepublish:check":"npm run typecheck && npm test"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"repository":{"url":"git+https://github.com/afria85/LogShield.git","type":"git"},"_npmVersion":"10.8.2","description":"Deterministic, rule-based CLI to sanitize secrets from logs. No AI. No cloud. No config.","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","esbuild":"^0.25.0","typescript":"^5.9.3","@types/node":"^25.0.3"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.7.1_1776838996695_0.9031112534770465","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"logshield-cli","version":"0.7.2","keywords":["log-sanitization","secret-detection","redaction","security","devops","cli","deterministic","no-ai"],"license":"Apache-2.0","_id":"logshield-cli@0.7.2","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"homepage":"https://logshield.dev","bugs":{"url":"https://github.com/afria85/LogShield/issues"},"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"b8d4fa7c5160ca708c4094b97a1d1c847a63c5c9","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.7.2.tgz","fileCount":5,"integrity":"sha512-3EHStcMbpkLHjlpGfyfisSVjmOlONk29nj9aCwswBkWf18waTPvkQvQ7fYXdJNv/LnJhZIUDefHn2efbl/PItw==","signatures":[{"sig":"MEQCIDbrekponRV0ySP8hfhd5Eb3LOxSbGSLOKPao/ywpWLhAiA/z4JEeHK+z/CgjSgHHAEF9ZZ5+WVxZdIYykcB1YihqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53129},"type":"commonjs","engines":{"node":">=18"},"funding":{"url":"https://github.com/sponsors/afria85","type":"github"},"gitHead":"2c8a27ad3822a3d21ed8eff42279c72966d88452","scripts":{"dev":"node scripts/dev-docs-server.mjs","lint":"npm run typecheck","test":"vitest","build":"node scripts/build-cli.cjs","dev:lan":"node scripts/dev-docs-server.mjs --host 0.0.0.0","prepack":"npm run clean:dist && npm run build","pretest":"npm run build","typecheck":"tsc -p tsconfig.core.json && tsc -p tsconfig.cli.json --noEmit","build:blog":"node scripts/build-blog.js","clean:dist":"node scripts/clean-dist.mjs","pack:check":"npm pack --dry-run","release:check":"npm run prepublish:check && npm run pack:check","prepublishOnly":"npm run prepublish:check","prepublish:check":"npm run typecheck && npm test"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"repository":{"url":"git+https://github.com/afria85/LogShield.git","type":"git"},"_npmVersion":"10.8.2","description":"Deterministic, rule-based CLI to sanitize secrets from logs. No AI. No cloud. No config.","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.4.3","vitest":"^3.2.7","esbuild":"^0.25.0","typescript":"^5.9.3","@types/node":"^18.19.130"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.7.2_1784107405384_0.08641628514716171","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"logshield-cli","version":"0.8.0","keywords":["log-sanitization","secret-detection","redaction","security","devops","cli","deterministic","no-ai"],"license":"Apache-2.0","_id":"logshield-cli@0.8.0","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"homepage":"https://logshield.dev","bugs":{"url":"https://github.com/afria85/LogShield/issues"},"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"693c5690367dc41e2b4f43a8808f87810b9a0526","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.8.0.tgz","fileCount":5,"integrity":"sha512-Rd4hXgQhZkLzL8ZKxJCF8KvaY53OUbg9Znzj+0rZiEO4uJo1J64R8kdpabb8AR4MYf6TXExYCdvzL3KvRDJv9Q==","signatures":[{"sig":"MEQCIE1gbjuUniI6kKhF3nD97Ekn7JEnQ37ctlSO+IsMd463AiB8rPAMGpEyxwXNVYEc4HrcyYefDXjlWJckNaipLWIXuA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55548},"type":"commonjs","engines":{"node":">=18"},"funding":{"url":"https://github.com/sponsors/afria85","type":"github"},"gitHead":"59720e431ed4eb5449485db9209ff4362dec1dc3","scripts":{"dev":"node scripts/dev-docs-server.mjs","lint":"npm run typecheck","test":"vitest","build":"node scripts/build-cli.cjs","dev:lan":"node scripts/dev-docs-server.mjs --host 0.0.0.0","prepack":"npm run clean:dist && npm run build","pretest":"npm run build","typecheck":"tsc -p tsconfig.core.json && tsc -p tsconfig.cli.json --noEmit","build:blog":"node scripts/build-blog.js","clean:dist":"node scripts/clean-dist.mjs","pack:check":"npm pack --dry-run","release:check":"npm run prepublish:check && npm run pack:check","prepublishOnly":"npm run prepublish:check","prepublish:check":"npm run typecheck && npm test"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"repository":{"url":"git+https://github.com/afria85/LogShield.git","type":"git"},"_npmVersion":"10.8.2","description":"Deterministic, rule-based CLI to sanitize secrets from logs. No AI. No cloud. No config.","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.4.3","vitest":"^3.2.7","esbuild":"^0.25.0","typescript":"^5.9.3","@types/node":"^18.19.130"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.8.0_1785345501522_0.26061272140379765","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"logshield-cli","version":"0.8.1","keywords":["log-sanitization","secret-detection","redaction","security","devops","cli","deterministic","no-ai"],"license":"Apache-2.0","_id":"logshield-cli@0.8.1","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"homepage":"https://logshield.dev","bugs":{"url":"https://github.com/afria85/LogShield/issues"},"bin":{"logshield":"dist/cli/index.cjs"},"dist":{"shasum":"29c4a3c4817ce39121580b901a3b43aca9a7ea9f","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.8.1.tgz","fileCount":5,"integrity":"sha512-QJrFLu6EEvTJ87dYWjHUIx8n3rdv/PrtZrq43oxHKXP47zYr/S9T4tcyoBCUdTC9icUP5kI+XCAZkEYh2wTYqw==","signatures":[{"sig":"MEYCIQCW8T3v/JbMxFRjr3pbC3zj+yWDAhMF6TlvidsOtiWQVAIhAOWnZtxvGSV9MLwmEKSwY2oFlYRGs6YIaItgiBhJjKmO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55715},"type":"commonjs","engines":{"node":">=18"},"funding":{"url":"https://github.com/sponsors/afria85","type":"github"},"gitHead":"213e71fc954f6013f971604296db921558d79808","scripts":{"dev":"node scripts/dev-docs-server.mjs","lint":"npm run typecheck","test":"vitest","build":"node scripts/build-cli.cjs","dev:lan":"node scripts/dev-docs-server.mjs --host 0.0.0.0","prepack":"npm run clean:dist && npm run build","pretest":"npm run build","typecheck":"tsc -p tsconfig.core.json && tsc -p tsconfig.cli.json --noEmit","build:blog":"node scripts/build-blog.js","clean:dist":"node scripts/clean-dist.mjs","pack:check":"npm pack --dry-run","release:check":"npm run prepublish:check && npm run pack:check","prepublishOnly":"npm run prepublish:check","prepublish:check":"npm run typecheck && npm test"},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"repository":{"url":"git+https://github.com/afria85/LogShield.git","type":"git"},"_npmVersion":"10.8.2","description":"Deterministic, rule-based CLI to sanitize secrets from logs. No AI. No cloud. No config.","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.4.3","vitest":"^3.2.7","esbuild":"^0.25.0","typescript":"^5.9.3","@types/node":"^18.19.130"},"_npmOperationalInternal":{"tmp":"tmp/logshield-cli_0.8.1_1785346541071_0.8055285281149618","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"logshield-cli","version":"0.8.2","license":"Apache-2.0","type":"commonjs","bin":{"logshield":"dist/cli/index.cjs"},"scripts":{"build":"node scripts/build-cli.cjs","build:blog":"node scripts/build-blog.js","typecheck":"tsc -p tsconfig.core.json && tsc -p tsconfig.cli.json --noEmit","pretest":"npm run build","test":"vitest","lint":"npm run typecheck","clean:dist":"node scripts/clean-dist.mjs","prepack":"npm run clean:dist && npm run build","pack:check":"npm pack --dry-run","release:check":"npm run prepublish:check && npm run pack:check","prepublish:check":"npm run typecheck && npm test","prepublishOnly":"npm run prepublish:check","dev":"node scripts/dev-docs-server.mjs","dev:lan":"node scripts/dev-docs-server.mjs --host 0.0.0.0"},"devDependencies":{"@types/node":"^18.19.130","esbuild":"^0.25.0","typescript":"^5.9.3","vite":"^6.4.3","vitest":"^3.2.7"},"description":"Deterministic, rule-based CLI to sanitize secrets from logs. No AI. No cloud. No config.","keywords":["log-sanitization","secret-detection","redaction","security","devops","cli","deterministic","no-ai"],"repository":{"type":"git","url":"git+https://github.com/afria85/LogShield.git"},"homepage":"https://logshield.dev","bugs":{"url":"https://github.com/afria85/LogShield/issues"},"funding":{"type":"github","url":"https://github.com/sponsors/afria85"},"engines":{"node":">=18"},"_id":"logshield-cli@0.8.2","gitHead":"ef7198ca06efc688d8ec1c813a0e8defd338a5ad","_nodeVersion":"22.21.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-fH5Xhcqq8+sX8ZaWIyQpnQ9gBEH9PwKcvroTIne0jYnQPxuxQQH9pVBVcW8MpegIGWnfaMV/whBq3xMQyvn8uw==","shasum":"e0b4001062857855dead40c58e80e6d6bb1c75c8","tarball":"https://registry.npmjs.org/logshield-cli/-/logshield-cli-0.8.2.tgz","fileCount":5,"unpackedSize":57339,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDBDJ+/ngDzs+bKM05fQ63+TqijNAQ7SumgQStEgJ4UowIgI6AH8sDMIGkhxz/GGe0lnQqkGY63iIDfKGIQlXyEbow="}]},"_npmUser":{"name":"afria85","email":"hendra.afria85@gmail.com"},"directories":{},"maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/logshield-cli_0.8.2_1786305746657_0.3056366744745278"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-17T12:46:25.706Z","modified":"2026-08-09T20:02:26.964Z","0.1.0":"2025-12-17T12:46:25.969Z","0.2.0":"2025-12-17T14:48:11.846Z","0.1.1":"2025-12-17T14:53:57.867Z","0.2.1":"2025-12-17T15:47:14.887Z","0.2.2":"2025-12-17T16:15:50.714Z","0.2.3":"2025-12-17T16:20:56.881Z","0.2.4":"2025-12-17T16:22:44.960Z","0.2.5":"2025-12-17T16:28:30.036Z","0.2.6":"2025-12-17T16:33:22.790Z","0.2.7":"2025-12-17T16:42:02.668Z","0.2.8":"2025-12-17T21:39:46.104Z","0.2.9":"2025-12-17T21:42:03.705Z","0.3.0":"2025-12-18T10:04:42.189Z","0.3.1":"2025-12-18T10:17:05.020Z","0.3.2":"2025-12-18T11:24:20.211Z","0.3.3":"2025-12-22T15:18:26.590Z","0.3.4":"2025-12-22T15:32:20.978Z","0.3.5":"2025-12-24T21:11:05.040Z","0.3.6":"2025-12-25T03:33:54.655Z","0.4.0":"2026-01-07T11:23:21.186Z","0.4.1":"2026-01-07T19:26:06.348Z","0.4.2":"2026-01-08T15:29:37.626Z","0.4.3":"2026-01-08T19:51:06.069Z","0.4.4":"2026-01-13T10:06:36.401Z","0.5.0":"2026-01-31T20:01:06.413Z","0.6.0":"2026-02-08T05:56:51.047Z","0.7.0":"2026-03-17T22:09:53.260Z","0.7.1":"2026-04-22T06:23:16.841Z","0.7.2":"2026-07-15T09:23:25.513Z","0.8.0":"2026-07-29T17:18:21.686Z","0.8.1":"2026-07-29T17:35:41.219Z","0.8.2":"2026-08-09T20:02:26.808Z"},"bugs":{"url":"https://github.com/afria85/LogShield/issues"},"license":"Apache-2.0","homepage":"https://logshield.dev","keywords":["log-sanitization","secret-detection","redaction","security","devops","cli","deterministic","no-ai"],"repository":{"type":"git","url":"git+https://github.com/afria85/LogShield.git"},"description":"Deterministic, rule-based CLI to sanitize secrets from logs. No AI. No cloud. No config.","maintainers":[{"name":"afria85","email":"hendra.afria85@gmail.com"}],"readme":"# LogShield\n\n[![npm version](https://img.shields.io/npm/v/logshield-cli)](https://www.npmjs.com/package/logshield-cli)\n[![npm downloads](https://img.shields.io/npm/dm/logshield-cli)](https://www.npmjs.com/package/logshield-cli)\n[![CI](https://github.com/afria85/LogShield/actions/workflows/ci.yml/badge.svg)](https://github.com/afria85/LogShield/actions/workflows/ci.yml)\n[![license](https://img.shields.io/badge/license-Apache--2.0-3a3a3a)](https://github.com/afria85/LogShield/blob/main/LICENSE)\n[![Sponsor](https://img.shields.io/badge/sponsor-GitHub%20Sponsors-3a3a3a)](https://github.com/sponsors/afria85)\n\nYour logs already contain secrets. You just don't see them.\n\nLogShield is a small CLI that automatically redacts secrets from logs **before**\nyou paste them into CI, GitHub issues, Slack, or send them to third-party support.\n\nNo configuration. No cloud. Deterministic output.\n\n---\n\n## Quick start (30 seconds)\n\n```bash\n# Sanitize logs before sharing them\ncat app.log | logshield scan\n```\n\n**Example input**\n\n```txt\nPOSTGRES_URL=postgres://user:supersecret@db.internal\nAuthorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\n```\n\nThese are typical raw logs -- with secrets -- before you share them.\n\n**Output**\n\n```txt\nPOSTGRES_URL=postgres://user:<REDACTED_PASSWORD>@db.internal\nAuthorization: Bearer <REDACTED_TOKEN>\n```\n\nAfter LogShield, the same logs are safe to share.\n\n---\n\n## When should I use LogShield?\n\nUse LogShield whenever logs leave your system:\n\n- Before logs end up in CI output or artifacts\n- Before attaching logs to GitHub issues\n- Before sending logs to third-party support\n- Before sharing logs in Slack or email\n\n---\n\n## Preview before enforcing (dry-run)\n\n```bash\n# Preview what would be redacted (does not modify output)\necho \"email=test@example.com Authorization: Bearer abcdefghijklmnop\" | logshield scan --dry-run\n```\n\n```\nlogshield (dry-run)\nDetected 2 redactions:\n  AUTH_BEARER          x1\n  EMAIL                x1\n\nNo output was modified.\nUse without --dry-run to apply.\n```\n\nNotes:\n\n- The report is printed to **stdout** (human-readable)\n- No log content is echoed\n- In non-`--dry-run` mode, sanitized logs/JSON are written to stdout; summaries/errors go to stderr\n\n```bash\n# Enforce redaction (sanitized output)\necho \"email=test@example.com Authorization: Bearer abcdefghijklmnop\" | logshield scan\n```\n\n- Prefer `--dry-run` first in CI to verify you are not over-redacting.\n- Then switch to enforced mode once you are satisfied with the preview.\n\nIt is designed to be **predictable, conservative, and safe for production pipelines**.\n\n---\n\n## Website & Documentation\n\nThe website and documentation live in the `/docs` directory.\nThey are deployed to **https://logshield.dev** via Vercel.\n\n## Project links\n\n- Website: https://logshield.dev\n- Docs: https://logshield.dev/docs.html\n- GitHub: https://github.com/afria85/LogShield\n- Sponsor: https://github.com/sponsors/afria85\n\n## Why LogShield exists\n\nLogs are frequently copied into:\n\n- CI/CD logs\n- Error reports\n- Issue trackers\n- Chat tools\n- AI assistants\n\nOnce a secret appears there, it is already leaked.\n\nMost existing tools fail because they:\n\n- Redact too aggressively (false positives)\n- Behave differently across runs\n- Hide what was redacted and why\n\nLogShield intentionally avoids those failures.\n\n---\n\n## Core principles (non-negotiable)\n\n### 1. Deterministic output\n\nThe same input always produces the same output.\n\n- No randomness\n- No environment-dependent behavior\n- Safe for CI, audits, and reproducibility\n\n### 2. Prefer precision over recall\n\nLogShield must **not** redact non-secrets.\n\n- IDs, hashes, order numbers, references must survive\n- Losing debugging context is worse than missing a secret\n\nWhen in doubt, LogShield prefers **not** to redact.\n\n### 3. Explicit redaction markers\n\nEvery redaction is explicit and consistent.\n\nExamples:\n\n```\n<REDACTED_PASSWORD>\n<REDACTED_API_KEY>\n<REDACTED_TOKEN>\n<REDACTED_EMAIL>\n```\n\nNo generic `[REDACTED]` placeholders.\n\n---\n\n## What LogShield does\n\n- Scans plain-text logs\n- Applies a fixed, deterministic rule set\n- Replaces matched secrets with explicit markers\n\nIt does **not** learn, guess, or infer intent.\n\n---\n\n## What LogShield deliberately does NOT do\n\n- No AI / LLM inference\n- No entropy or probabilistic guessing\n- No silent behavior changes\n- No telemetry\n- No network calls\n\nThese are intentional design decisions.\n\n---\n\n## Installation\n\n```bash\nnpm install -g logshield-cli\n```\n\n---\n\n## CLI Usage\n\n```bash\nlogshield scan [file]\n```\n\nIf a file is provided, LogShield reads from that file. If no file is provided and input is piped, LogShield automatically reads from **STDIN**. Only one optional file is accepted; extra positional arguments exit with code `2`.\n\nNote: the npm package ships the CLI only; there is no supported JS API surface.\n\n### Limits\n\n- Maximum input size: **200KB** by UTF-8 byte length (safety cap). Oversized input exits with code `2`.\n- Maximum line length: **64KB** per line by UTF-8 byte length. If any single line exceeds the cap, LogShield exits with code `2` and a deterministic `Log line <n> exceeds 64KB limit` error.\n\n### Current safety posture\n\n- Normal successful scan/sanitize output remains stable by default.\n- Total input remains capped at **200KB**.\n- Each line remains capped at **64KB**.\n- Bounded input/usage failures continue to exit with code `2`.\n- Regex safety hardening keeps adversarial input behavior explicit and predictable.\n- v0.8.x adds operator ergonomics (`--quiet` and `--stats`) without changing redaction rules.\n- Output changes only when opt-in flags such as `--quiet`, `--stats`, `--json`, or `--summary` are used.\n\n\n### Windows note\n\nIf `logshield` is not found after a global install, ensure your npm global bin directory is on `PATH`.\n\nCheck it with:\n\n- `npm prefix -g` (add this directory to PATH)\n\nRestart your terminal after updating PATH.\n\n---\n\n## CLI Flags\n\n- `--strict`  \n  Aggressive, security-first redaction\n\n- `--stdin`  \n  Explicitly force reading from STDIN\n\n- `--dry-run`  \n  Detect sensitive data without modifying output\n\n- `--fail-on-detect`  \n  Exit with code `1` if any redaction is detected (CI-friendly)\n\n- `--summary`  \n  Print a compact redaction summary\n\n- `--stats`\n  Include line count and processing time with `--summary`\n\n- `--quiet`\n  Suppress human dry-run reports and summaries while preserving exit codes\n\n- `--json`  \n  JSON output (can be combined with `--dry-run`; output is empty in dry-run)\n\n- `--version`  \n  Print CLI version\n\n- `--help`  \n  Show help\n\n---\n\n## Basic usage\n\n### Scan a file\n\n```bash\nlogshield scan app.log\n```\n\n### Scan from STDIN (recommended for CI)\n\n```bash\ncat app.log | logshield scan\n```\n\n`--stdin` is optional; piped input is auto-detected when no file is provided. Use `--stdin` to force reading from stdin in TTY/paste workflows. Combining `--stdin` with a file is a usage error.\n\n---\n\n## Dry-run (REPORT MODE, CI-safe)\n\nUse `--dry-run` to **detect** sensitive data without modifying output.\n\n```bash\ncat app.log | logshield scan --dry-run\n```\n\n### Output\n\n```\nlogshield (dry-run)\nDetected 4 redactions:\n  AUTH_BEARER          x1\n  EMAIL                x1\n  OAUTH_ACCESS_TOKEN   x1\n  PASSWORD             x1\n\nNo output was modified.\nUse without --dry-run to apply.\n```\n\n### Properties\n\n- No log content is echoed\n- Deterministic and snapshot-friendly\n- Safe for CI pipelines\n\n---\n\n## Fail CI on detection\n\nUse `--fail-on-detect` to exit with code `1` when secrets are found.\n\n```bash\ncat app.log | logshield scan --dry-run --fail-on-detect\n```\n\nTypical CI pattern:\n\n```bash\nlogshield scan --dry-run --fail-on-detect < logs.txt\n```\n\nFor silent CI gates, add `--quiet`. Detection still exits with code `1`, but no human dry-run report is printed:\n\n```bash\nlogshield scan --dry-run --fail-on-detect --quiet < logs.txt\n```\n\n---\n\n## GitHub Actions (example)\n\nMinimal CI integration example:\n\n```yaml\nname: LogShield\n\non:\n  push:\n  pull_request:\n\njobs:\n  logshield:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n\n      - uses: actions/setup-node@v4\n        with:\n          node-version: 22\n\n      - run: npm install -g logshield-cli\n\n      - name: Scan logs\n        run: |\n          cat logs.txt | logshield scan --dry-run --fail-on-detect\n```\n\nThis will **fail the pipeline** if any secret is detected.\n\n---\n\n## Apply redaction\n\nTo actually sanitize logs, run **without** `--dry-run`:\n\n```bash\ncat app.log | logshield scan > sanitized.log\n```\n\n---\n\n## Strict mode\n\nEnable more aggressive detection rules:\n\n```bash\nlogshield scan --strict < logs.txt\n```\n\n---\n\n## Summary output\n\nPrint a compact rule-based summary:\n\n```bash\nlogshield scan --summary < logs.txt\n```\n\nExample:\n\n```\nLogShield Summary\n  API_KEY_HEADER  x1\n  PASSWORD        x2\n```\n\nNotes:\n\n- Sanitized log output is written to stdout\n- The summary is written to stderr\n- Rules are sorted alphabetically\n- Add `--stats` to include line count and processing time in the summary\n- `--stats` requires `--summary` and is not supported with `--dry-run`\n- `--quiet` suppresses summaries, including stats\n\n```bash\nlogshield scan --summary --stats < logs.txt\n```\n\nExample:\n\n```\nLogShield Summary\n  API_KEY_HEADER  x1\n  PASSWORD        x2\n\nStats\n  lines_processed  42\n  processing_ms    3\n```\n\n---\n\n## JSON output\n\nStructured output for tooling and automation:\n\n```bash\nlogshield scan --json < logs.txt\n```\n\nDetection-only JSON (safe to serialize; no log content):\n\n```bash\nlogshield scan --json --dry-run < logs.txt\n```\n\nNotes:\n\n- `--json` can be combined with `--dry-run` for machine-readable detection\n- In `--dry-run` JSON mode, `output` is intentionally an empty string\n- Usage errors exit with code `2`\n- Output is always newline-terminated\n\n---\n\n## Exit codes\n\n| Code | Meaning                                       |\n| ---: | --------------------------------------------- |\n|    0 | Success (detection does not change exit code) |\n|    1 | Detection found (`--fail-on-detect`)          |\n|    2 | Usage, bounded input, or runtime error        |\n\n---\n\n## What gets redacted\n\nLogShield uses a fixed, deterministic rule set. The exact coverage depends on the selected mode.\n\n### Default mode (recommended)\n\n- Passwords (quoted and JSON forms)\n- API key headers (e.g. `x-api-key: ...`)\n- API keys (e.g. `api_key=...`, `api-key: ...`)\n- Authorization Bearer tokens\n- JWTs\n- GitHub tokens (`ghp_`, `gho_`, `ghu_`, `ghs_`, `ghr_`, and `github_pat_...`)\n- Slack tokens (`xox*` and `xapp-...`)\n- npm access tokens (`npm_...`)\n- npmrc auth tokens (`:_authToken=...`)\n- PyPI API tokens (`pypi-...`)\n- SendGrid API keys (`SG.<...>.<...>`)\n- Private key blocks (PEM/OpenSSH)\n- Emails\n- URLs with embedded credentials\n- Database URL credentials (including `redis://...` and `mssql://...`)\n- Cloud credentials in explicit labeled forms (e.g. `AWS_SECRET_ACCESS_KEY=...`)\n\n### Strict mode (adds)\n\n- Stripe secret keys (e.g. `sk_live_...`, `sk_test_...`)\n- AWS access keys (`AKIA...`)\n- AWS secret keys (strict fallback)\n- Credit card numbers (Luhn-validated)\n\n---\n\n## Modes\n\n### Default mode (recommended)\n\n- Conservative\n- Low false positives\n- Safe for sharing logs publicly\n\n### Strict mode\n\n- Aggressive\n- Security-first\n- May redact more than necessary\n\n---\n\n## Guarantees\n\nLogShield guarantees:\n\n- Deterministic output\n- Stable behavior within the current minor line **v0.8.x**\n- No runtime dependencies\n- Snapshot-tested and contract-tested\n- No telemetry\n- No network access\n\n---\n\n## Non-goals\n\nLogShield is **not**:\n\n- A DLP system\n- A runtime security monitor\n- A secret rotation solution\n\nIt is a **last-line safety net**, not a primary defense.\n\n---\n\n## Status\n\n- Engine behavior locked\n- Rule set evolving conservatively\n- Open and free by design\n\n---\n\n## License\n\nApache-2.0 &mdash; see `LICENSE`.\n\n## Contributing\n\nSee `CONTRIBUTING.md`.\n\n## Security\n\nSee `SECURITY.md`.\n\n## Support\n\nSee `SUPPORT.md`.\n","readmeFilename":"README.md"}