@runhalo/cli 1.2.0 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +104 -16
- package/package.json +10 -3
package/README.md
CHANGED
|
@@ -1,64 +1,130 @@
|
|
|
1
1
|
# @runhalo/cli
|
|
2
2
|
|
|
3
|
-
**Halo CLI** — scan your codebase for
|
|
3
|
+
**Halo CLI** — scan your codebase for children's privacy violations across 13 jurisdictions.
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@runhalo/cli)
|
|
6
6
|
[](https://www.apache.org/licenses/LICENSE-2.0)
|
|
7
7
|
|
|
8
|
-
## What
|
|
8
|
+
## What It Does
|
|
9
9
|
|
|
10
|
-
One command scans your entire codebase for
|
|
10
|
+
One command scans your entire codebase for COPPA, ASAA, AADC, and 14 more regulatory frameworks. **180 rules across 17 packs covering 13 jurisdictions.** Three-tier analysis: regex pre-filter → AST structural analysis → AI Review Board (Pro).
|
|
11
|
+
|
|
12
|
+
**COPPA 2.0 enforcement begins April 22, 2026.** Penalties up to $53,088 per violation per day.
|
|
11
13
|
|
|
12
14
|
## Quickstart
|
|
13
15
|
|
|
14
16
|
```bash
|
|
15
|
-
# Scan current directory
|
|
17
|
+
# Scan current directory (free — 5 scans/day)
|
|
16
18
|
npx @runhalo/cli scan .
|
|
17
19
|
|
|
18
20
|
# Scan a specific directory
|
|
19
21
|
npx @runhalo/cli scan ./src
|
|
20
22
|
|
|
23
|
+
# AI Review Board (Pro — 3 agents verify every finding)
|
|
24
|
+
npx @runhalo/cli scan . --review --license-key YOUR_KEY
|
|
25
|
+
|
|
21
26
|
# JSON output for CI pipelines
|
|
22
27
|
npx @runhalo/cli scan . --format json
|
|
23
28
|
|
|
24
29
|
# SARIF output for GitHub Security tab
|
|
25
30
|
npx @runhalo/cli scan . --format sarif --output results.sarif
|
|
26
31
|
|
|
32
|
+
# PDF compliance report
|
|
33
|
+
npx @runhalo/cli scan . --report
|
|
34
|
+
|
|
27
35
|
# Filter by severity
|
|
28
36
|
npx @runhalo/cli scan . --severity critical,high
|
|
37
|
+
|
|
38
|
+
# Scan with specific regulatory pack
|
|
39
|
+
npx @runhalo/cli scan . --pack coppa,asaa
|
|
29
40
|
```
|
|
30
41
|
|
|
31
42
|
## Example Output
|
|
32
43
|
|
|
33
44
|
```
|
|
34
|
-
|
|
45
|
+
🔍 Scanning 847 files (180 rules · 13 jurisdictions)...
|
|
35
46
|
|
|
36
|
-
|
|
47
|
+
⚠ Found 12 issue(s) across 5 file(s) — 3 match active enforcement patterns
|
|
48
|
+
|
|
49
|
+
📊 COPPA Compliance Score: 62/100 (D)
|
|
37
50
|
|
|
38
51
|
src/auth/social-login.ts:24
|
|
39
52
|
coppa-auth-001 Unverified social login detected CRITICAL
|
|
53
|
+
│ Penalty: $53,088/violation/day (cf. FTC v. Epic Games, $275M)
|
|
54
|
+
│ Fix: Add age-gate before social authentication
|
|
40
55
|
|
|
41
56
|
src/services/analytics.ts:89
|
|
42
57
|
coppa-tracking-003 Third-party ad tracker found HIGH
|
|
58
|
+
│ Risk: $1.2M (cf. FTC v. OpenX, $2M, 2021)
|
|
59
|
+
|
|
60
|
+
src/pages/signup.tsx:42
|
|
61
|
+
asaa-av-004 Only checks under-13, not 13-17 CRITICAL
|
|
62
|
+
│ ASAA requires age verification for ALL minors under 18
|
|
63
|
+
|
|
64
|
+
💡 12 potential violations found — upgrade to Pro for AI-verified results.
|
|
65
|
+
┌─────────────────────────────────────────────────────┐
|
|
66
|
+
│ What Pro gives you on this scan: │
|
|
67
|
+
│ • AI Review Board eliminates ~85% of false positives│
|
|
68
|
+
│ • Dollar risk exposure per violation ($K-$M) │
|
|
69
|
+
│ • Comparable enforcement cases (FTC, ICO precedent) │
|
|
70
|
+
│ • Fix suggestions with code scaffolding │
|
|
71
|
+
└─────────────────────────────────────────────────────┘
|
|
72
|
+
```
|
|
43
73
|
|
|
44
|
-
|
|
45
|
-
|
|
74
|
+
## Regulatory Coverage
|
|
75
|
+
|
|
76
|
+
| Pack | Rules | Jurisdiction |
|
|
77
|
+
|:-----|:-----:|:-------------|
|
|
78
|
+
| COPPA 2.0 Core | 25 | US Federal |
|
|
79
|
+
| ASAA (App Store Accountability Act) | 20 | US Multi-State |
|
|
80
|
+
| UK Age Appropriate Design Code | 19 | United Kingdom |
|
|
81
|
+
| California AADCA | 15 | US — California |
|
|
82
|
+
| EU AI Act (Children) | 15 | European Union |
|
|
83
|
+
| AU Online Safety Act | 12 | Australia |
|
|
84
|
+
| EU DSA Article 28 | 10 | European Union |
|
|
85
|
+
| AI-Generated Code Audit | 6 | International |
|
|
86
|
+
| AU Safety by Design | 6 | Australia |
|
|
87
|
+
| GDPR Article 8 | 5 | European Union |
|
|
88
|
+
| Ethical Design | 5 | International |
|
|
89
|
+
| India DPDP Act | 5 | India |
|
|
90
|
+
| Utah SB 142 | 5 | US — Utah |
|
|
91
|
+
| Behavioral Design | 4 | International |
|
|
92
|
+
| Brazil LGPD | 4 | Brazil |
|
|
93
|
+
| Canada PIPEDA | 4 | Canada |
|
|
94
|
+
| South Korea PIPA | 3 | South Korea |
|
|
95
|
+
|
|
96
|
+
## AI Review Board (Pro)
|
|
97
|
+
|
|
98
|
+
Three AI agents verify every finding:
|
|
99
|
+
|
|
100
|
+
- **Knox** (Regulatory) — "If a regulator would flag this, I flag this."
|
|
101
|
+
- **Trace** (Code Context) — "I care about what the code actually DOES."
|
|
102
|
+
- **Reese** (Red Team Defense) — "Every false positive is a broken promise."
|
|
103
|
+
|
|
104
|
+
Only findings that survive all three agents reach you. 88% false positive dismiss rate.
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# Activate your Pro license
|
|
108
|
+
npx @runhalo/cli activate YOUR_LICENSE_KEY
|
|
46
109
|
|
|
47
|
-
|
|
110
|
+
# Run with AI Review Board
|
|
111
|
+
npx @runhalo/cli scan . --review
|
|
48
112
|
```
|
|
49
113
|
|
|
50
114
|
## Output Formats
|
|
51
115
|
|
|
52
116
|
| Format | Flag | Use Case |
|
|
53
117
|
|:-------|:-----|:---------|
|
|
54
|
-
| Text | `--format text` (default) | Terminal output |
|
|
118
|
+
| Text | `--format text` (default) | Terminal output with color |
|
|
55
119
|
| JSON | `--format json` | CI pipelines, tooling |
|
|
56
120
|
| SARIF | `--format sarif` | GitHub Security tab |
|
|
121
|
+
| HTML | `--format html` | Shareable web report |
|
|
122
|
+
| PDF | `--report` | Compliance documentation |
|
|
57
123
|
|
|
58
124
|
## GitHub Action
|
|
59
125
|
|
|
60
126
|
```yaml
|
|
61
|
-
name: Halo
|
|
127
|
+
name: Halo Compliance Scan
|
|
62
128
|
on:
|
|
63
129
|
pull_request:
|
|
64
130
|
paths: ['**.ts', '**.js', '**.tsx', '**.jsx', '**.py']
|
|
@@ -67,8 +133,8 @@ jobs:
|
|
|
67
133
|
scan:
|
|
68
134
|
runs-on: ubuntu-latest
|
|
69
135
|
steps:
|
|
70
|
-
- uses: actions/checkout@
|
|
71
|
-
- uses: actions/setup-node@
|
|
136
|
+
- uses: actions/checkout@v5
|
|
137
|
+
- uses: actions/setup-node@v5
|
|
72
138
|
with:
|
|
73
139
|
node-version: '20'
|
|
74
140
|
- run: npx @runhalo/cli scan . --format sarif --output results.sarif
|
|
@@ -77,21 +143,43 @@ jobs:
|
|
|
77
143
|
sarif_file: results.sarif
|
|
78
144
|
```
|
|
79
145
|
|
|
146
|
+
## Pricing
|
|
147
|
+
|
|
148
|
+
| Tier | Price | What You Get |
|
|
149
|
+
|:-----|:------|:-------------|
|
|
150
|
+
| **Free** | $0/forever | 5 scans/day, 25 COPPA rules, CLI + VS Code |
|
|
151
|
+
| **Pro** | $29/month | Unlimited scans, all 180 rules, AI Review Board, PDF reports |
|
|
152
|
+
| **Business** | $99/month | + Teams (5 seats), recurring scans, compliance attestation |
|
|
153
|
+
| **Enterprise** | Custom | + Custom rules, unlimited repos, SLA support |
|
|
154
|
+
|
|
155
|
+
[View pricing →](https://runhalo.dev/#pricing)
|
|
156
|
+
|
|
80
157
|
## Suppression
|
|
81
158
|
|
|
82
159
|
Suppress individual findings with inline comments:
|
|
83
160
|
|
|
84
161
|
```typescript
|
|
85
|
-
// halo-ignore coppa-auth-001
|
|
162
|
+
// halo-ignore coppa-auth-001 — age gate handled by middleware
|
|
86
163
|
const auth = signInWithPopup(provider);
|
|
87
164
|
```
|
|
88
165
|
|
|
89
166
|
Or use a `.haloignore` file at your project root.
|
|
90
167
|
|
|
91
|
-
##
|
|
168
|
+
## Languages Supported
|
|
169
|
+
|
|
170
|
+
TypeScript, JavaScript, TSX, JSX, Python, Swift, Go, Java, Kotlin, HTML
|
|
92
171
|
|
|
93
|
-
|
|
172
|
+
## Links
|
|
173
|
+
|
|
174
|
+
- [Website](https://runhalo.dev)
|
|
175
|
+
- [VS Code Extension](https://marketplace.visualstudio.com/items?itemName=runhalo.halo-vscode)
|
|
176
|
+
- [GitHub](https://github.com/runhalo/halo)
|
|
177
|
+
- [Report an Issue](https://github.com/runhalo/halo/issues)
|
|
94
178
|
|
|
95
179
|
## License
|
|
96
180
|
|
|
97
181
|
Apache 2.0 — [Mindful Media](https://mindfulmedia.org)
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
*Halo is a developer tool that identifies potential compliance risks. It is not legal advice. Consult qualified legal counsel for your specific compliance obligations.*
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@runhalo/cli",
|
|
3
|
-
"version": "1.2.
|
|
4
|
-
"description": "Halo CLI — child online safety compliance scanner.
|
|
3
|
+
"version": "1.2.2",
|
|
4
|
+
"description": "Halo CLI — child online safety compliance scanner. 180 rules across 17 packs, 13 jurisdictions. COPPA, ASAA, UK AADC, EU DSA, GDPR, and more. Three-agent AI Review Board.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"bin": {
|
|
@@ -21,15 +21,22 @@
|
|
|
21
21
|
},
|
|
22
22
|
"keywords": [
|
|
23
23
|
"coppa",
|
|
24
|
+
"coppa-2",
|
|
24
25
|
"privacy",
|
|
25
26
|
"child-safety",
|
|
27
|
+
"children",
|
|
26
28
|
"compliance",
|
|
27
29
|
"aadc",
|
|
30
|
+
"asaa",
|
|
28
31
|
"dsa",
|
|
32
|
+
"gdpr",
|
|
29
33
|
"online-safety",
|
|
34
|
+
"age-verification",
|
|
30
35
|
"cli",
|
|
31
36
|
"scanner",
|
|
32
|
-
"linter"
|
|
37
|
+
"linter",
|
|
38
|
+
"regulatory",
|
|
39
|
+
"ai-review"
|
|
33
40
|
],
|
|
34
41
|
"repository": {
|
|
35
42
|
"type": "git",
|