Skip to content

Skip to content

Production error tracking, focused

One job. Production errors. Done properly.

Stack traces, fingerprinting, release tags, regression detection and alerts. No APM. No replay. No profiling. No dashboards. The bits you actually use, without the rest.

Closed beta · GBP pricing on the page at GA · EU residency built in · Built by an engineer who'd rather ship than babysit a platform.

The problem

You bought an observability platform. You use 15% of it.

Errors are the load-bearing signal. Everything else — APM, replay, profiling, custom dashboards — is rarely opened, expensive, and accidentally a privacy surface. The bundle is bigger than the job.

Bills priced for the bundle

Per-event ceilings keep moving. You pay for the dashboards you never open and the replay seats you never used.

PII leaks via convenience

Full session replays and request bodies tagged with user context end up archived for years. Compliance teams notice eventually.

Tools collect features, not focus

Every quarter the suite grows. The error-triage workflow you actually do every day gets buried under new tabs.

What's in the box

Just what an engineer actually needs to triage an error.

No upsell tier hiding the useful bits. No marketplace of third-party add-ons. One product, twelve features that fit together.

Smart fingerprinting

Stack-trace-aware deduplication groups the same crash into one issue even when the message string drifts.

Releases + suspect commits

Tag every event with the release that produced it. Newer release than the resolve? Automatic regression.

Triage that sticks

Resolve, ignore, assign, leave notes. Notes are plain text and stay forever — the team remembers what they tried.

AI prompt in one click

Copy a fully-formed Claude or ChatGPT prompt with the stack, breadcrumbs, and the right framing. Paste, ask, fix.

Signed webhook alerts

HMAC-SHA256 signed payloads to any URL — n8n, Slack incoming, custom. First-seen plus configurable frequency rules.

PII scrubbing on by default

Email, IPs, auth tokens, common secret patterns get masked at ingest. Unredacted data never reaches disk.

Per-project rate limits

Per-minute caps so a runaway loop in one customer's deploy doesn't blow your monthly bill or starve another tenant.

Tenant subdomains

Every customer lives at their own subdomain with parent-domain SSO. Links are unambiguous; tenants can't see each other.

EU residency, real

A separate ingest endpoint pinned to EU infrastructure. Not aspirational — contractually different.

Setup

Five lines of code. Thirty seconds.

Most error-tracking SDKs work with ErrLens today via the standard envelope wire protocol. Drop in your DSN, deploy, you're done.

1. Install
npm install @sentry/node
2. Initialise
import * as Sentry from "@sentry/node";

Sentry.init({
  dsn: "https://<key>@in.errlens.dev/<project-token>",
  tracesSampleRate: 1.0,
});

Most popular error-tracking SDKs work today with a single env var change. Branded @errlens/* packages for the top eight stacks land in phase 2.

Quietly serious about the boring stuff

The bits security review will ask about.

Built in from the start, not bolted on for compliance.

Multi-layer tenant isolation

Your data and another customer's data are separated at the URL, the application, and the database. Cross-tenant access is structurally prevented, not just code-reviewed.

PII scrubbed before storage

Common patterns — emails, IPs, auth tokens — get masked at ingest. Unredacted data never lands on disk.

Signed outbound webhooks

Every alert payload carries a per-destination signature. Your receiver verifies before acting on it.

EU residency, contractual

A separate ingest endpoint pinned to EU infrastructure. Pick it once; we stay there.

Single sign-on across your team

One login covers every project. Role-gated triage and admin. Viewers stay read-only by design.

No proprietary lock-in

Standard wire protocol means an export-and-migrate path always exists. Switching is a competitive choice, not a moat.

Closed beta. EU first. US coming soon.

One person built this. If you want to talk shape before you commit, the founder picks up the email.