This quickstart is the fastest reliable way to get an app live in Errova. The high-level goal is simple: create the project, use the right DSN type for the runtime, send one test event, confirm it in the UI, then tighten security before rollout.
1. Create an Organization and Project
- Create or select an organization.
- Create a project for one app or service at a time.
- Pick the platform closest to the runtime you are instrumenting.
- Use stable environment names such as
production,staging, ordevelopment(recommended).
2. Choose the Correct DSN Key Type
- Use browser_public for browser-delivered events. Protect it with allowed origins and roll out
report_onlybeforeenforce(recommended). - Use server_signed for backend services, workers, cron jobs, and private APIs (recommended). This requires a one-time secret and HMAC-signed headers on every request.
3. Install the Right SDK or Use Direct Ingest
- JavaScript and TypeScript stacks: start with JavaScript SDKs and Support Tiers.
- Python services: use Python Setup.
- Custom runtimes, edge workers, centralized event relays, or strict transport control: use Direct Ingest API.
4. Set Metadata Before Sending Traffic
- Set
environmentso test and production traffic never mix. - Set
releaseso you can answer “what changed?” after a deploy. - Review Releases, Environments, and Grouping before you standardize names across services.
5. Send a Test Event and Verify It
- Trigger one intentional exception or warning after initialization completes.
- Open the project and confirm it appears in Events or Issues.
- If nothing arrives, use the No Events Arriving checklist before changing code at random.
6. Tighten the Production Posture
- Browser projects: set exact allowed origins, start with
report_only, then move toenforce. - Backend services: store
ERROVA_DSN_SECRETserver-side only. - Automation: create machine tokens from the UI or Management API instead of reusing personal sessions.
Success Checklist
- The event shows the correct project, environment, and release.
- The stack trace or message is useful enough to triage immediately.
- The project uses the correct key type for the runtime.
- Secrets are not exposed in browser code, logs, or capture context.