# SDK configuration

Use runtime-specific options instead of assuming every adapter captures the same things.


## Shared initialization

| Option | Meaning |
| --- | --- |
| `publicKey` | Required project ingestion key |
| `endpoint` | Collector API base URL; set it explicitly for your deployment |
| `environment` | Environment label attached to telemetry |
| `release` | Immutable build/version identifier |
| `component` | Component slug within the project |
| `serviceName` | Friendly event-series identity |
| `enabled` | Local capture switch |
| `flushIntervalMs` | Flush cadence; default 5,000 ms |
| `beforeSend` | Final local filter; return null to discard |
| `redactKeys` | Additional sensitive object-field names |
| `transport` | Timeout/retry bounds |

## Browser options

`captureRequests` and `capturePerformance` default to true. `sampleRate` controls non-error events. `maxBatch` defaults to 50. `consent` supplies analytics/replay permission state. `sessionReplay` is false by default and has separate masking, buffering, and sampling options.

The generic browser entry expects explicit options. Framework adapters can read/build in their documented `EVEROCK_*` variables. Importing a package does not necessarily initialize it.

## Node options

Node adds incoming request observation and `requestTimeoutMs` (default 30,000 ms). It instruments supported dependencies in that Node process; it cannot observe an unrelated server just because a hostname is known.

Node offers `requestHandler`, `withRequest`, `withSpan`, `webhook`, `track`, and MongoDB command-monitoring integration. Express request middleware belongs before your routes; error middleware belongs after them.

## Edge options

Edge provides explicit request wrapping and optional durable storage through an adapter. It does not expose the full set of browser replay/performance or Node driver-patching features.

## Delivery controls

`transport` accepts `requestTimeoutMs`, `maxAttempts`, `retryBaseMs`, and `retryBudgetMs`. `persistence` supports bounded event count, byte size, and age; browser/Node can disable it with false, while edge requires an explicit store to persist.

See [privacy](/docs/features/privacy), [reliability](/docs/features/reliability), and the framework-specific setup guides.

See the [SDK API reference](/docs/reference/sdk-api) for runtime-specific function signatures, identity, custom events, request wrappers, and lifecycle methods.
