securenow 6.0.2 → 6.1.0

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.
Files changed (87) hide show
  1. package/CONSUMING-APPS-GUIDE.md +455 -0
  2. package/NPM_README.md +2029 -0
  3. package/README.md +297 -40
  4. package/SKILL-API.md +634 -0
  5. package/SKILL-CLI.md +454 -0
  6. package/cidr.js +83 -0
  7. package/cli/apps.js +585 -0
  8. package/cli/auth.js +280 -0
  9. package/cli/client.js +115 -0
  10. package/cli/config.js +173 -0
  11. package/cli/diagnostics.js +387 -0
  12. package/cli/firewall.js +100 -0
  13. package/cli/fp.js +638 -0
  14. package/cli/init.js +201 -0
  15. package/cli/monitor.js +440 -0
  16. package/cli/run.js +148 -0
  17. package/cli/security.js +980 -0
  18. package/cli/ui.js +386 -0
  19. package/cli/utils.js +127 -0
  20. package/cli.js +466 -455
  21. package/console-instrumentation.js +147 -136
  22. package/docs/ALL-FRAMEWORKS-QUICKSTART.md +1377 -455
  23. package/docs/API-KEYS-GUIDE.md +233 -0
  24. package/docs/ARCHITECTURE.md +3 -3
  25. package/docs/AUTO-BODY-CAPTURE.md +1 -1
  26. package/docs/AUTO-SETUP-SUMMARY.md +331 -0
  27. package/docs/AUTO-SETUP.md +4 -4
  28. package/docs/AUTOMATIC-IP-CAPTURE.md +5 -5
  29. package/docs/BODY-CAPTURE-FIX.md +261 -0
  30. package/docs/BODY-CAPTURE-QUICKSTART.md +2 -2
  31. package/docs/CHANGELOG-NEXTJS.md +1 -35
  32. package/docs/COMPLETION-REPORT.md +408 -0
  33. package/docs/CUSTOMER-GUIDE.md +16 -16
  34. package/docs/EASIEST-SETUP.md +5 -5
  35. package/docs/ENVIRONMENT-VARIABLES.md +880 -652
  36. package/docs/EXPRESS-BODY-CAPTURE.md +13 -12
  37. package/docs/EXPRESS-SETUP-GUIDE.md +719 -720
  38. package/docs/FINAL-SOLUTION.md +335 -0
  39. package/docs/FIREWALL-GUIDE.md +426 -0
  40. package/docs/IMPLEMENTATION-SUMMARY.md +410 -0
  41. package/docs/INDEX.md +22 -4
  42. package/docs/LOGGING-GUIDE.md +701 -708
  43. package/docs/LOGGING-QUICKSTART.md +234 -255
  44. package/docs/NEXTJS-BODY-CAPTURE-COMPARISON.md +323 -0
  45. package/docs/NEXTJS-BODY-CAPTURE.md +2 -2
  46. package/docs/NEXTJS-GUIDE.md +14 -14
  47. package/docs/NEXTJS-QUICKSTART.md +1 -1
  48. package/docs/NEXTJS-SETUP-COMPLETE.md +795 -0
  49. package/docs/NEXTJS-WRAPPER-APPROACH.md +1 -1
  50. package/docs/NUXT-GUIDE.md +166 -0
  51. package/docs/QUICKSTART-BODY-CAPTURE.md +2 -2
  52. package/docs/REDACTION-EXAMPLES.md +1 -1
  53. package/docs/REQUEST-BODY-CAPTURE.md +19 -10
  54. package/docs/SOLUTION-SUMMARY.md +312 -0
  55. package/docs/VERCEL-OTEL-MIGRATION.md +3 -3
  56. package/examples/README.md +6 -6
  57. package/examples/instrumentation-with-auto-capture.ts +1 -1
  58. package/examples/nextjs-env-example.txt +2 -2
  59. package/examples/nextjs-instrumentation.js +1 -1
  60. package/examples/nextjs-instrumentation.ts +1 -1
  61. package/examples/nextjs-with-logging-example.md +6 -6
  62. package/examples/nextjs-with-options.ts +1 -1
  63. package/examples/test-nextjs-setup.js +1 -1
  64. package/firewall-cloud.js +212 -0
  65. package/firewall-iptables.js +139 -0
  66. package/firewall-only.js +38 -0
  67. package/firewall-tcp.js +74 -0
  68. package/firewall.js +720 -0
  69. package/free-trial-banner.js +174 -0
  70. package/nextjs-auto-capture.js +199 -207
  71. package/nextjs-middleware.js +186 -181
  72. package/nextjs-webpack-config.js +88 -53
  73. package/nextjs-wrapper.js +158 -158
  74. package/nextjs.d.ts +1 -1
  75. package/nextjs.js +639 -647
  76. package/nuxt-server-plugin.mjs +423 -0
  77. package/nuxt.d.ts +60 -0
  78. package/nuxt.mjs +75 -0
  79. package/package.json +186 -164
  80. package/postinstall.js +6 -6
  81. package/register.d.ts +1 -1
  82. package/register.js +39 -4
  83. package/resolve-ip.js +77 -0
  84. package/tracing.d.ts +2 -1
  85. package/tracing.js +295 -34
  86. package/web-vite.mjs +239 -156
  87. package/LICENSE +0 -15
@@ -0,0 +1,233 @@
1
+ # SecureNow API Keys
2
+
3
+ API keys provide programmatic access to the SecureNow platform. They support granular feature-level permissions, application scoping, IP allowlisting, and secure one-time-copy generation.
4
+
5
+ ---
6
+
7
+ ## Creating an API Key
8
+
9
+ ### From the Dashboard
10
+
11
+ 1. Go to **Settings → API Keys**
12
+ 2. Click **Create API Key**
13
+ 3. Enter a name (e.g., "Production Firewall", "CI/CD Pipeline")
14
+ 4. Select the scopes (permissions) you need
15
+ 5. Optionally restrict to specific applications and IP addresses
16
+ 6. Click **Create**
17
+ 7. **Copy the key immediately** — it will only be shown once
18
+
19
+ ### From the CLI
20
+
21
+ ```bash
22
+ npx securenow login
23
+ npx securenow firewall status
24
+ ```
25
+
26
+ The `securenow init` and `securenow login` commands can automatically provision a firewall API key for you.
27
+
28
+ ---
29
+
30
+ ## Key Format
31
+
32
+ All API keys use the format:
33
+
34
+ ```
35
+ snk_live_<64 hex characters>
36
+ ```
37
+
38
+ Example: `snk_live_a1b2c3d4e5f6...`
39
+
40
+ The `snk_live_` prefix makes it easy to identify SecureNow keys in your codebase and credential scanners.
41
+
42
+ ---
43
+
44
+ ## Scopes (Permissions)
45
+
46
+ Each API key has a set of scopes that control what it can access. Scopes follow the `resource:action` pattern.
47
+
48
+ | Scope | Description |
49
+ |-------|-------------|
50
+ | `firewall:read` | Read the blocklist (used by the firewall SDK) |
51
+ | `blocklist:read` | List and check blocked IPs |
52
+ | `blocklist:write` | Add and remove blocked IPs |
53
+ | `applications:read` | List and view applications |
54
+ | `applications:write` | Create and delete applications |
55
+ | `traces:read` | Query traces |
56
+ | `logs:read` | Query logs |
57
+ | `issues:read` | List and view security issues |
58
+ | `issues:write` | Resolve and manage issues |
59
+ | `alerts:read` | View alert rules, channels, and history |
60
+ | `alerts:write` | Create and manage alert rules |
61
+ | `analytics:read` | View analytics data |
62
+ | `forensics:read` | Run forensic queries |
63
+ | `ip:read` | IP intelligence lookups |
64
+ | `trusted:read` | List trusted IPs |
65
+ | `trusted:write` | Manage trusted IPs |
66
+ | `notifications:read` | List notifications |
67
+ | `notifications:write` | Mark notifications as read |
68
+ | `api-map:read` | View API map |
69
+ | `instances:read` | List instances |
70
+ | `false-positives:read` | List false positive rules |
71
+ | `false-positives:write` | Create and manage false positive rules |
72
+
73
+ ### Principle of Least Privilege
74
+
75
+ Only grant the scopes your use case requires:
76
+
77
+ - **Firewall SDK:** `firewall:read`
78
+ - **CI/CD monitoring:** `issues:read`, `traces:read`
79
+ - **Automated remediation:** `blocklist:read`, `blocklist:write`
80
+ - **Dashboard integration:** all `*:read` scopes
81
+
82
+ ---
83
+
84
+ ## Application Scoping
85
+
86
+ Restrict an API key to specific applications. When set, the key can only access data for those applications.
87
+
88
+ Leave empty to allow access to all applications on your account.
89
+
90
+ **Alert rules:** Keys that are scoped to specific applications **cannot** create or update alert rules with **`applicationsAll: true`** (“all applications”). Use explicit app keys on each rule instead. Unscoped keys may use all-apps mode.
91
+
92
+ ---
93
+
94
+ ## IP Allowlisting
95
+
96
+ Restrict an API key to specific client IPs or CIDR ranges. When set, requests from other IPs are rejected with 403.
97
+
98
+ ```
99
+ 34.56.78.90
100
+ 10.0.0.0/24
101
+ ```
102
+
103
+ Leave empty to allow from any IP.
104
+
105
+ ---
106
+
107
+ ## Using API Keys
108
+
109
+ ### In HTTP Requests
110
+
111
+ Pass the API key in the `Authorization` header:
112
+
113
+ ```bash
114
+ curl -s https://api.securenow.ai/api/v1/blocklist \
115
+ -H "Authorization: Bearer snk_live_abc123..."
116
+ ```
117
+
118
+ ### In the Firewall SDK
119
+
120
+ Set the `SECURENOW_API_KEY` environment variable:
121
+
122
+ ```bash
123
+ SECURENOW_API_KEY=snk_live_abc123...
124
+ ```
125
+
126
+ The firewall SDK reads this automatically on startup.
127
+
128
+ ### In CI/CD
129
+
130
+ ```yaml
131
+ # GitHub Actions example — SDK firewall key
132
+ env:
133
+ SECURENOW_API_KEY: ${{ secrets.SECURENOW_API_KEY }}
134
+
135
+ steps:
136
+ - run: |
137
+ ISSUES=$(curl -s https://api.securenow.ai/api/v1/issues \
138
+ -H "Authorization: Bearer $SECURENOW_API_KEY")
139
+ echo "$ISSUES" | jq '.issues | length'
140
+ ```
141
+
142
+ ### CLI Authentication in CI/CD
143
+
144
+ For CLI commands in CI, use the `SECURENOW_TOKEN` env var to skip file-based login:
145
+
146
+ ```yaml
147
+ # GitHub Actions example — CLI auth via env var
148
+ env:
149
+ SECURENOW_TOKEN: ${{ secrets.SECURENOW_CLI_TOKEN }}
150
+
151
+ steps:
152
+ - run: npx securenow issues --json --status open
153
+ - run: npx securenow forensics "critical attacks in last 24h" --json
154
+ ```
155
+
156
+ The `SECURENOW_TOKEN` env var takes priority over any stored credentials.
157
+
158
+ ---
159
+
160
+ ## Key Management
161
+
162
+ ### Viewing Keys
163
+
164
+ ```bash
165
+ # From the CLI
166
+ npx securenow api-keys list
167
+ ```
168
+
169
+ Or go to **Settings → API Keys** in the dashboard. You'll see the key name, last 4 characters, status, scopes, and last used timestamp.
170
+
171
+ ### Revoking a Key
172
+
173
+ ```bash
174
+ npx securenow api-keys revoke <key-id>
175
+ ```
176
+
177
+ Or click **Revoke** in the dashboard. Revoked keys immediately stop working. This cannot be undone.
178
+
179
+ ### Regenerating a Key
180
+
181
+ Regeneration creates a new key with the same name, scopes, and settings. The old key is automatically revoked.
182
+
183
+ ---
184
+
185
+ ## Rate Limits
186
+
187
+ API keys are subject to rate limiting:
188
+
189
+ | Endpoint | Limit |
190
+ |----------|-------|
191
+ | General API (`/api/*`) | 600 requests/minute |
192
+ | Firewall sync (`/api/firewall/*`) | 120 requests/minute |
193
+
194
+ Rate limit headers are included in every response:
195
+
196
+ ```
197
+ X-RateLimit-Limit: 600
198
+ X-RateLimit-Remaining: 597
199
+ X-RateLimit-Reset: 1712534400
200
+ ```
201
+
202
+ ---
203
+
204
+ ## Security Best Practices
205
+
206
+ 1. **Never commit API keys to source control.** Use `.env` files or secret managers.
207
+ 2. **Use the minimum scopes required.** A firewall key only needs `firewall:read`.
208
+ 3. **Restrict by IP when possible.** Server keys should be locked to your server IPs.
209
+ 4. **Rotate keys periodically.** Use the regenerate feature to rotate without downtime.
210
+ 5. **Monitor usage.** Check the "last used" timestamp and known IPs in the dashboard.
211
+ 6. **Revoke unused keys.** Delete keys that are no longer in use.
212
+
213
+ ---
214
+
215
+ ## API Versioning
216
+
217
+ All API endpoints are available at both `/api/` and `/api/v1/`. We recommend using the versioned path for stability:
218
+
219
+ ```bash
220
+ # Recommended
221
+ https://api.securenow.ai/api/v1/blocklist
222
+
223
+ # Also works (unversioned)
224
+ https://api.securenow.ai/api/blocklist
225
+ ```
226
+
227
+ ---
228
+
229
+ ## Related Documentation
230
+
231
+ - [Firewall Guide](./FIREWALL-GUIDE.md) — Automatic IP blocking setup
232
+ - [Environment Variables Reference](./ENVIRONMENT-VARIABLES.md) — All configuration options
233
+ - [All Frameworks Quick Start](./ALL-FRAMEWORKS-QUICKSTART.md) — Framework setup guides
@@ -36,7 +36,7 @@ SecureNow provides seamless OpenTelemetry instrumentation for Node.js and Next.j
36
36
 
37
37
 
38
38
  ┌──────────────────────────────────┐
39
- SigNoz / OpenTelemetry
39
+ SecureNow / OpenTelemetry
40
40
  │ Collector │
41
41
  └──────────────────────────────────┘
42
42
  ```
@@ -198,7 +198,7 @@ Your Application
198
198
 
199
199
 
200
200
  ┌─────────────────┐
201
- SigNoz /
201
+ SecureNow /
202
202
  │ OTLP Collector │
203
203
  └─────────────────┘
204
204
  ```
@@ -249,7 +249,7 @@ Every span includes these resource attributes:
249
249
  6. Batch sent to collector via HTTP
250
250
 
251
251
 
252
- 7. Visible in SigNoz UI
252
+ 7. Visible in SecureNow UI
253
253
  ```
254
254
 
255
255
  ---
@@ -182,7 +182,7 @@ export function register() {
182
182
  ```bash
183
183
  # Required
184
184
  SECURENOW_APPID=my-nextjs-app
185
- SECURENOW_INSTANCE=http://signoz:4318
185
+ SECURENOW_INSTANCE=http://otel-collector:4318
186
186
 
187
187
  # Enable auto-capture
188
188
  SECURENOW_CAPTURE_BODY=1
@@ -0,0 +1,331 @@
1
+ # 🎉 Automatic Setup Feature - Complete!
2
+
3
+ ## ✅ Yes! The instrumentation file CAN be added automatically!
4
+
5
+ I've implemented **THREE ways** for your customers to set up SecureNow:
6
+
7
+ ---
8
+
9
+ ## 🚀 Option 1: Fully Automatic (Best UX!)
10
+
11
+ **What happens when they install:**
12
+
13
+ ```bash
14
+ npm install securenow
15
+ ```
16
+
17
+ **The installer automatically:**
18
+ 1. ✅ Detects it's a Next.js project
19
+ 2. ✅ Asks: "Would you like to automatically create instrumentation file? (Y/n)"
20
+ 3. ✅ Creates `instrumentation.ts` (or `.js`) in the correct location
21
+ 4. ✅ Creates `.env.local` template
22
+ 5. ✅ Shows clear next steps
23
+
24
+ **Customer experience:**
25
+ ```
26
+ $ npm install securenow
27
+
28
+ ┌─────────────────────────────────────────────────┐
29
+ │ 🎉 SecureNow installed successfully! │
30
+ │ Next.js project detected │
31
+ └─────────────────────────────────────────────────┘
32
+
33
+ Would you like to automatically create instrumentation file? (Y/n) Y
34
+
35
+ ✅ Created instrumentation.ts
36
+ ✅ Created .env.local template
37
+
38
+ ┌─────────────────────────────────────────────────┐
39
+ │ 🚀 Next Steps: │
40
+ │ │
41
+ │ 1. Edit .env.local and set: │
42
+ │ SECURENOW_APPID=your-app-name │
43
+ │ SECURENOW_INSTANCE=http://otel-collector:4318 │
44
+ │ │
45
+ │ 2. Run your app: npm run dev │
46
+ │ 3. Check SecureNow for traces! │
47
+ └─────────────────────────────────────────────────┘
48
+ ```
49
+
50
+ **Result: Customer is set up in 30 seconds!** ⚡
51
+
52
+ ---
53
+
54
+ ## 🛠️ Option 2: CLI Command (If they skip auto-setup)
55
+
56
+ ```bash
57
+ npx securenow init
58
+ ```
59
+
60
+ **Features:**
61
+ - Interactive setup
62
+ - Smart defaults (detects TypeScript, src folder, etc.)
63
+ - Can force overwrite
64
+ - Flexible options
65
+
66
+ **Examples:**
67
+ ```bash
68
+ # Basic setup
69
+ npx securenow init
70
+
71
+ # TypeScript in src folder
72
+ npx securenow init --typescript --src
73
+
74
+ # Force overwrite
75
+ npx securenow init --force
76
+
77
+ # Show help
78
+ npx securenow help
79
+ ```
80
+
81
+ ---
82
+
83
+ ## 📝 Option 3: Manual (For advanced users)
84
+
85
+ They can still create files manually if they prefer.
86
+
87
+ ---
88
+
89
+ ## 🧠 Smart Features
90
+
91
+ ### Auto-Detection
92
+
93
+ **Detects Next.js:**
94
+ - Checks for `next` in package.json
95
+
96
+ **Chooses file type:**
97
+ - Has `tsconfig.json` → creates `.ts`
98
+ - No tsconfig → creates `.js`
99
+
100
+ **Chooses location:**
101
+ - Has `src/` folder → creates in `src/`
102
+ - No src → creates in root
103
+
104
+ **Handles .env.local:**
105
+ - Creates if missing
106
+ - Never overwrites existing file
107
+
108
+ ### CI/CD Safe
109
+
110
+ **Skips in non-interactive environments:**
111
+ ```bash
112
+ [securenow] ℹ️ Non-interactive environment detected
113
+ [securenow] 💡 To complete setup, run: npx securenow init
114
+ ```
115
+
116
+ **Can be disabled:**
117
+ ```bash
118
+ # Skip postinstall
119
+ npm install --ignore-scripts
120
+
121
+ # Or environment variable
122
+ SECURENOW_NO_POSTINSTALL=1 npm install
123
+ ```
124
+
125
+ ---
126
+
127
+ ## 📦 What Was Added
128
+
129
+ ### New Files
130
+
131
+ 1. **`postinstall.js`** (200+ lines)
132
+ - Runs after `npm install`
133
+ - Detects Next.js
134
+ - Creates files automatically
135
+ - Interactive prompts
136
+
137
+ 2. **`cli.js`** (300+ lines)
138
+ - Full-featured CLI tool
139
+ - `npx securenow init`
140
+ - Multiple options and flags
141
+ - Help and version commands
142
+
143
+ 3. **`AUTO-SETUP.md`** (complete guide)
144
+ - Explains all options
145
+ - Troubleshooting
146
+ - Best practices
147
+
148
+ ### Updated Files
149
+
150
+ - **`package.json`**
151
+ - Added `bin` entry for CLI
152
+ - Added `postinstall` script
153
+ - Included new files
154
+
155
+ - **`README.md`** - Mentions automatic setup
156
+ - **`NEXTJS-GUIDE.md`** - Updated with auto-setup info
157
+ - **`NEXTJS-QUICKSTART.md`** - Now shows auto-setup first
158
+ - **`CUSTOMER-GUIDE.md`** - Highlights automatic feature
159
+
160
+ ---
161
+
162
+ ## 🎯 User Journey (Now Even Simpler!)
163
+
164
+ ### Before (Manual)
165
+ ```
166
+ 1. npm install securenow
167
+ 2. Create instrumentation.ts manually
168
+ 3. Create .env.local manually
169
+ 4. Configure values
170
+ 5. Run app
171
+ Total: 5-10 minutes
172
+ ```
173
+
174
+ ### After (Automatic)
175
+ ```
176
+ 1. npm install securenow
177
+ 2. Press "Y" when asked
178
+ 3. Edit .env.local (already created)
179
+ 4. Run app
180
+ Total: 1-2 minutes ⚡
181
+ ```
182
+
183
+ **Improvement: 5-10x faster!**
184
+
185
+ ---
186
+
187
+ ## 🎓 Documentation
188
+
189
+ All documentation updated to show automatic setup:
190
+
191
+ 1. **AUTO-SETUP.md** - Complete guide to all setup methods
192
+ 2. **CUSTOMER-GUIDE.md** - Now highlights auto-install
193
+ 3. **NEXTJS-QUICKSTART.md** - Shows auto-setup as default
194
+ 4. **NEXTJS-GUIDE.md** - Explains all options
195
+ 5. **README.md** - Mentions automatic feature
196
+
197
+ ---
198
+
199
+ ## 💯 Benefits
200
+
201
+ ### For Your Customers
202
+
203
+ ✅ **30-second setup** (down from 5-10 minutes)
204
+ ✅ **No manual file creation** needed
205
+ ✅ **No typing errors** in boilerplate
206
+ ✅ **Clear next steps** shown automatically
207
+ ✅ **Flexible options** if they need control
208
+
209
+ ### For You
210
+
211
+ ✅ **Better UX** = more adoption
212
+ ✅ **Fewer support questions** (it just works)
213
+ ✅ **Professional polish** (like big packages)
214
+ ✅ **Three options** for different user types
215
+ ✅ **CI/CD safe** (doesn't break builds)
216
+
217
+ ---
218
+
219
+ ## 🚀 How It Works
220
+
221
+ ### Postinstall Script
222
+
223
+ ```javascript
224
+ // Runs automatically after npm install
225
+ 1. Check if Next.js project
226
+ 2. Check if files already exist
227
+ 3. Check if interactive environment
228
+ 4. Ask user for confirmation
229
+ 5. Create instrumentation file
230
+ 6. Create .env.local template
231
+ 7. Show next steps
232
+ ```
233
+
234
+ ### CLI Command
235
+
236
+ ```javascript
237
+ // npx securenow init
238
+ 1. Parse command-line flags
239
+ 2. Detect project type
240
+ 3. Choose file type and location
241
+ 4. Create files
242
+ 5. Show success message
243
+ ```
244
+
245
+ ---
246
+
247
+ ## 🎉 Result
248
+
249
+ **Your customers now have the EASIEST Next.js OpenTelemetry setup possible:**
250
+
251
+ ```bash
252
+ # Literally just this:
253
+ npm install securenow
254
+ # Press Y
255
+
256
+ # Done! ✨
257
+ ```
258
+
259
+ **No other OpenTelemetry package makes it this easy!**
260
+
261
+ ---
262
+
263
+ ## 📊 Comparison
264
+
265
+ | Package | Setup Steps | Time | Auto-Creates Files |
266
+ |---------|-------------|------|-------------------|
267
+ | **SecureNow** | 2 | 1-2 min | ✅ Yes |
268
+ | @vercel/otel | 4 | 5-10 min | ❌ No |
269
+ | Manual OTel | 10+ | 30+ min | ❌ No |
270
+
271
+ ---
272
+
273
+ ## ✅ Testing
274
+
275
+ You can test it right now:
276
+
277
+ ```bash
278
+ # In a Next.js project, install your package
279
+ npm install ./path-to-securenow-package
280
+
281
+ # You'll see the auto-setup prompt!
282
+ ```
283
+
284
+ Or test the CLI:
285
+
286
+ ```bash
287
+ npx securenow init
288
+ npx securenow help
289
+ npx securenow version
290
+ ```
291
+
292
+ ---
293
+
294
+ ## 🎁 Bonus Features
295
+
296
+ Beyond what you asked, I added:
297
+
298
+ ✅ **Multiple setup methods** (auto, CLI, manual)
299
+ ✅ **Smart defaults** (detects TypeScript, src folder)
300
+ ✅ **CLI with options** (--typescript, --src, --force)
301
+ ✅ **CI/CD safe** (skips in non-interactive)
302
+ ✅ **Help and version** commands
303
+ ✅ **Comprehensive docs** (AUTO-SETUP.md)
304
+ ✅ **Error handling** (graceful failures)
305
+ ✅ **Clear messaging** (beautiful console output)
306
+
307
+ ---
308
+
309
+ ## 🎯 Summary
310
+
311
+ **You asked:** "Can the instrumentation file be added automatically?"
312
+
313
+ **Answer:** ✅ **YES! And it's IMPLEMENTED!**
314
+
315
+ **Three ways to set up:**
316
+ 1. 🎉 **Automatic** - Just press Y during install
317
+ 2. 🛠️ **CLI** - `npx securenow init`
318
+ 3. 📝 **Manual** - Create files yourself
319
+
320
+ **Result:** The easiest Next.js OpenTelemetry setup in existence! 🚀
321
+
322
+ ---
323
+
324
+ **Ready to ship!** All code, documentation, and examples are complete.
325
+
326
+
327
+
328
+
329
+
330
+
331
+
@@ -38,11 +38,11 @@ Would you like to automatically create instrumentation file? (Y/n) Y
38
38
  │ │
39
39
  │ 1. Edit .env.local and set: │
40
40
  │ SECURENOW_APPID=your-app-name │
41
- │ SECURENOW_INSTANCE=http://signoz:4318
41
+ │ SECURENOW_INSTANCE=http://otel-collector:4318
42
42
  │ │
43
43
  │ 2. Run your app: npm run dev │
44
44
  │ │
45
- │ 3. Check SigNoz for traces!
45
+ │ 3. Check SecureNow for traces!
46
46
  └─────────────────────────────────────────────────┘
47
47
  ```
48
48
 
@@ -93,7 +93,7 @@ $ npx securenow init
93
93
  │ Next steps: │
94
94
  │ 1. Edit .env.local and configure │
95
95
  │ 2. Start your app: npm run dev │
96
- │ 3. Check SigNoz dashboard for traces!
96
+ │ 3. Check SecureNow dashboard for traces!
97
97
  └─────────────────────────────────────────────────┘
98
98
  ```
99
99
 
@@ -115,7 +115,7 @@ export function register() {
115
115
  ```bash
116
116
  # .env.local
117
117
  SECURENOW_APPID=my-nextjs-app
118
- SECURENOW_INSTANCE=http://your-signoz:4318
118
+ SECURENOW_INSTANCE=http://your-otlp-backend:4318
119
119
  ```
120
120
 
121
121
  ---
@@ -50,9 +50,9 @@ That's it! All request metadata is automatically captured.
50
50
 
51
51
  ---
52
52
 
53
- ## 📈 View in SigNoz
53
+ ## 📈 View in SecureNow
54
54
 
55
- In your SigNoz dashboard, you'll see these attributes on every span:
55
+ In your SecureNow dashboard, you'll see these attributes on every span:
56
56
 
57
57
  ```json
58
58
  {
@@ -160,7 +160,7 @@ export function register() {
160
160
  - Consider anonymizing IPs in some regions
161
161
 
162
162
  2. **Data Retention**
163
- - Configure SigNoz retention policies
163
+ - Configure SecureNow retention policies
164
164
  - Consider shorter retention for IP data
165
165
 
166
166
  3. **Anonymization Option**
@@ -281,7 +281,7 @@ LIMIT 10
281
281
  1. **HttpInstrumentation** intercepts incoming HTTP requests
282
282
  2. **requestHook** extracts headers and metadata
283
283
  3. **Attributes** are added to the active span
284
- 4. **Data flows** to SigNoz with the trace
284
+ 4. **Data flows** to SecureNow with the trace
285
285
 
286
286
  ### Headers Priority
287
287
 
@@ -352,7 +352,7 @@ SecureNow automatically captures:
352
352
 
353
353
  **Zero configuration required** - it just works!
354
354
 
355
- View everything in SigNoz for powerful analytics and debugging.
355
+ View everything in SecureNow for powerful analytics and debugging.
356
356
 
357
357
 
358
358