European Error Tracking

A map of Europe with three hosting locations marked, beside three server racks
tags: Europe

With managed Bugsink, your application data is stored and processed in the European Union. The service is built and run by Bugsink B.V., a Dutch company.

Bugsink collects errors from your applications and gives your team stacktraces, local variables, request context and alerts. You get the information you need to debug production failures, with a European provider responsible for running the service.

EU data processing

Error reports can contain the same sensitive data as the application they come from: user identifiers, request headers, form values and whatever happened to be in a local variable when something broke. That context is useful for debugging, and it makes where your error data goes a practical part of choosing an error tracker.

We use EU-based providers for application data:

  • Hetzner provides the infrastructure for storing and processing error events.
  • Scaleway delivers transactional email, including invitations and alerts.

Our Data Processing Agreement names these providers and commits us to storing and processing hosted personal data in the EU. Stripe handles payments; we do not send error events, logs or application data to Stripe.

A Dutch supplier

The location of a server and the company you buy the service from answer different questions. If your organization requires a European supplier, an EU hosting region alone does not tell you whether that requirement is met.

Your service provider is Bugsink B.V. in the Netherlands. The company building Bugsink is also responsible for operating your hosted instance. You can find our address and contact details on the About page.

Under the DPA, your organization determines what application data is submitted and why it is processed. We process that data on your behalf, solely to provide the service. The agreement is governed by Dutch law.

We were using Sentry, but our customers asked us to use European providers. With our existing integration, the switch to Bugsink was really easy.
Thomas Koscheck
Thomas Koscheck
Co-founder, SEC AUDITOR

Your instance and data

Your name.bugsink.com address has its own users, teams, projects and settings. Each managed customer gets a separate database and file-storage area, keeping events and uploaded files apart at the storage layer.

We take care of infrastructure, monitoring, upgrades, TLS certificates and automatic backups of your database and stored error files. Access to production systems is restricted, and we apply operating-system and dependency security updates. The managed service page explains what we operate for you.

Raw error events are retained for 60 days. Derived information, such as counts, first-seen timestamps and tags, remains until you remove it. When the agreement ends, the DPA provides for your application data to be returned or deleted within 30 days.

You still decide what leaves your application. SDK settings and callbacks such as before_send let you remove values or discard events before they reach Bugsink. The SDK recommendations and GDPR page cover that part of handling production data.

Self-Hosting remains an option

If your error data needs to stay on infrastructure your organization operates, you can run Bugsink yourself. You choose the provider and location, and take responsibility for updates, backups and access. Bugsink B.V. does not receive your application error events in that setup.

The software runs in a single container or a Python virtualenv, with SQLite by default. It does not need an external message queue. See Self-Hosted Error Tracking for the deployment model and installation instructions to get started.

Self-Hosted installations send aggregate usage and deployment metadata in a documented phone-home message. That message contains no application error events; the Privacy Policy lists what it does contain.

Connect your applications

Bugsink accepts events from the established Sentry SDKs. Set the SDK’s DSN to your Bugsink instance and error reports go directly there. If your application already uses a Sentry SDK, you can keep the instrumentation and change the DSN. Historical events stay where they are.

The quickstart walks through creating a project and sending your first event. Managed plans have fixed monthly prices based on incoming event volume; the pricing table has the available volumes and prices.

Start with the free plan for up to 15K events per month, or try a paid plan free for 28 days. We run your instance in the EU.