Docs/Getting Started/Introduction

Introduction

Unseenr is a multi-tenant SaaS platform for error tracking, session replay, and uptime monitoring. It is fully hosted in the EU (Hetzner Cloud, Germany and Finland) and DSGVO/GDPR compliant.

What Unseenr Does

Unseenr captures errors, performance data, structured logs, and browser session recordings from your applications. It also monitors the uptime of your websites and services across multiple regions.

Error Tracking

Unseenr automatically groups errors into Issues based on fingerprinting. Each issue shows:

  • Error message, stack trace, and culprit
  • First seen and last seen timestamps
  • Event count and affected user count
  • Environment and release information
  • Breadcrumbs and custom context

Session Replay

Record browser sessions using rrweb. Replays are stored as gzip-compressed chunks in Hetzner S3 (EU). Sensitive inputs are masked by default.

Uptime Monitoring

Monitor your services with 13 different check types across our EU regions (Nuremberg, Helsinki); a third region (Ashburn, USA) is planned. Get alerted through 21 notification channels when something goes down.

Structured Logs

Capture structured log entries with levels (DEBUG, INFO, WARNING, ERROR, FATAL), trace correlation, and custom attributes.

Performance Monitoring

Track transactions with HTTP timings, database queries, and custom spans.

Key Features

  • Sentry SDK compatible: Use the standard @sentry/browser or @sentry/node SDK, or the native @unseenr/node SDK
  • EU hosted: All data stored on Hetzner Cloud in Germany/Finland
  • GDPR/DSGVO compliant: PII scrubbing, data retention policies, data export
  • 21 alert channels: Email, Discord, Slack, PagerDuty, Telegram, and more
  • Public status pages: Show your uptime to customers
  • 6 plans: From free forever to enterprise scale

Architecture Overview

Unseenr uses a three-layer tenant isolation model:

  1. PostgreSQL Row-Level Security (RLS) on all tables by organizationId
  2. Prisma Extension with createTenantClient(orgId) that auto-scopes all queries
  3. API Middleware Chain: authMiddleware > orgMiddleware > roleMiddleware > projectMiddleware

Events are ingested via the public /api/{projectId}/envelope endpoint, rate-limited and quota-checked, then queued via BullMQ for async processing by the worker.

Also available in:Deutsch