Production security for Node.js apps: investigate live attacks, block IPs, tune detections.
OpenTelemetry instrumentation for Node.js and Next.js applications - send traces and logs to SigNoz or any OTLP-compatible backend.
Official npm package: securenow
The easiest way to add observability to Next.js!
# Just install - setup is automatic!
npm install securenow
π The installer will automatically:
instrumentation.ts (or .js).env.local templateJust answer "Y" when prompted!
Then configure your .env.local:
SECURENOW_APPID=my-nextjs-app
SECURENOW_INSTANCE=http://your-signoz-server:4318
Alternative: Use the CLI command
npx securenow init
Done! π See Next.js Complete Guide for details.
# 1. Install
npm install securenow
# 2. Set environment variables
export SECURENOW_APPID=my-app
export SECURENOW_INSTANCE=http://your-signoz-server:4318
# 3. Run with preload
NODE_OPTIONS="-r securenow/register" node app.js
# or
NODE_OPTIONS="-r securenow/register" npm start
# 1. Install
npm install securenow
# 2. Set environment variables
export SECURENOW_APPID=my-app
export SECURENOW_INSTANCE=http://your-signoz-server:4318
export SECURENOW_LOGGING_ENABLED=1
# 3. Run with preload (adds logging)
NODE_OPTIONS="-r securenow/register -r securenow/console-instrumentation" node app.js
# Now all console.log/info/warn/error automatically go to SigNoz!
npm install securenow
# or
yarn add securenow
# or
pnpm add securenow
# Required: Your application identifier
SECURENOW_APPID=my-app-name
# Optional: Your SigNoz/OTLP collector endpoint
# Default: https://freetrial.securenow.ai:4318
SECURENOW_INSTANCE=http://your-signoz-server:4318
# Optional: Enable Logging
SECURENOW_LOGGING_ENABLED=1 # Enable automatic log collection
# Optional: Additional configuration
SECURENOW_NO_UUID=1 # Don't append UUID to service name
OTEL_LOG_LEVEL=info # debug|info|warn|error
SECURENOW_DISABLE_INSTRUMENTATIONS=fs,dns # Disable specific instrumentations
OTEL_EXPORTER_OTLP_HEADERS="x-api-key=..." # Authentication headers
# Optional: Request body capture (for debugging)
SECURENOW_CAPTURE_BODY=1 # Capture request bodies in traces
SECURENOW_MAX_BODY_SIZE=10240 # Max body size in bytes
SECURENOW_SENSITIVE_FIELDS="field1,field2" # Additional fields to redact
export securenow=<API-KEY>
export securenow_instance='http://<dedicated_instance>:4318'
SecureNow automatically instruments:
ISC
Source-derived launch command. Check the maintainerβs required arguments and credentials before running:
npx -y securenowMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"ai-securenow-securenow": {
"command": "npx",
"args": [
"-y",
"securenow"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the clientβs tool list, then try a read-only example from its documentation.
Claude Desktop setup referencesecurenownpmSecureNow works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.