Telemetry that never leaves the jurisdiction you chose.
Most error tracking is American software running on American infrastructure, and a stack trace is not anonymous. This is the same category of tool, built and run inside the European Union, by a company with no parent outside it.
A stack trace is personal data, and pretending otherwise is the problem.
An exception carries the arguments the function was called with. A request context carries headers, a URL and often a session. A breadcrumb trail carries what the user clicked. On a busy application this adds up to a detailed record of what identifiable people did, minute by minute, and it is collected automatically by a library nobody reviews after the day it is installed.
That is why "it is only telemetry" does not survive contact with a data protection officer. Under the GDPR this is processing of personal data on your behalf, you are the controller, and the company holding it is your processor. Which company that is, and which legal system it answers to, is therefore a decision rather than a detail.
What we scrub on arrival
Passwords, tokens, authorisation headers, cookies, card numbers and IBANs, at any depth, before anything is written. You can add to that list per collector and you cannot remove from it.
What we never store in a column
The trace itself. It is gzipped JSON in your bucket with a pointer in the database, which is what makes deleting it a delete rather than a migration.
What we drop on purpose
The query string of a URL never reaches the events table, because that is exactly where a session token or an email address ends up.
The Cloud Act reaches an American company wherever the server is.
This is the part most European buyers have already been told and most vendor pages avoid. The United States CLOUD Act lets American authorities compel a provider subject to their jurisdiction to hand over data it controls, regardless of where that data is physically stored. An EU region does not change who owns the company, and ownership is what the Act attaches to.
Article 48 of the GDPR points the other way: a judgment or decision from a third country is only enforceable in the Union through a mutual legal assistance treaty. A European company receiving such an order is in a position to refuse it. An American one, or a European subsidiary of one, is not.
Bugtail is run by a Belgian company with no parent, no subsidiary and no branch outside the Union. There is nobody in the group for such an order to be served on. That is the whole claim; it is small, it is checkable, and it is the reason a hospital or a municipality can buy this without a legal memo.
A bucket of your own, not a prefix in ours.
When your organisation is created, so is object storage for it: your own bucket, in an EU region, holding only your payloads. It is not a folder inside a shared bucket where a wrong prefix is the only thing between two customers.
That choice pays off in three ordinary situations. Retention can be set per organisation rather than per platform. A security review can be answered with a boundary the object store enforces rather than with a promise about application code. And when somebody asks you to erase everything, the answer is that the bucket is gone, which is a much better sentence than describing a sweep.
Or bring your own
Point a collector at a bucket in your own account with your own credentials. Then we hold the counts and you hold the contents.
Nothing crosses by accident
Alert delivery to Slack or Teams does leave the EU, so it is opt-in per rule and it is in the processing agreement.
Priced in euro, invoiced the way European accounting expects.
Prices are in euro and exclude VAT, which is what a business price list quotes here. With a valid VAT number from outside Belgium the reverse charge applies and we charge none; the number is checked against VIES and never assumed, because shifting VAT on a number that turns out not to exist leaves the bill with us.
Every payment produces a real invoice with a number from a proper series, your company details as the tax administration holds them, and the period it covers. Subscriptions start on the first of the month, so a billing period is a calendar month and your bookkeeping does not have to pro-rate anything after the first one.
Where it all actually is
Named, because "in Europe" without a building is a sentence a compliance officer sends back with questions.
- Application and database
-
Hetzner Online GmbH
Germany - Payload storage
-
Hetzner Online GmbH
Germany, Finland - Who else can see anything
-
- Hetzner Online GmbH (Germany, Finland)
- netcup GmbH (Germany)
- Backblaze, Inc. (EU region) (The Netherlands)
- Mollie B.V. (The Netherlands)
- Billit NV (Belgium)
- Mailgun (EU region) (Germany)
- Cloudflare, Inc. (United States)
Against the American incumbents
What each of us does, rather than what we think of each other.
| What | Bugtail | US-owned providers |
|---|---|---|
| Company jurisdiction | Belgium, no parent outside the EU | United States, or an EU subsidiary of one |
| Reachable by the CLOUD Act | No | Yes, wherever the servers are |
| Where payloads sit | A bucket per organisation, inside the EU | Shared storage, region sometimes selectable |
| Bring your own bucket | Yes, with your own credentials | Rarely |
| Pricing model | Unlimited errors, storage capped, published | Per event, per seat, per host, often after a call |
| Going over the quota | Errors always recorded; the rest refused and counted unless you opted in | Usually billed automatically |
| Signed DPA | Included from Business, available on request below it | Usually enterprise tier |
| Connectors readable | Open source, Apache 2.0 | Mostly open source |
Written about the general shape of American-owned providers rather than about any one product. Individual vendors differ, several offer EU regions, and an EU region is a good thing; what it does not change is which company the region belongs to.
Questions people actually ask
Is an EU region from an American vendor not enough?
It helps, and it does not settle the question. An EU region addresses where the bytes rest; the CLOUD Act attaches to who controls them. A European subsidiary of an American group is still part of that group. Whether that matters to you depends on your sector and your customers, and for public bodies, health and finance it usually does.
Can you sign our data processing agreement?
Yes. We publish one you can read and sign as it stands, and on Business it is signed as part of onboarding. If your organisation insists on its own paper, send it and we will read it rather than refusing on principle.
Who can see our data inside your company?
Access to a customer bucket is limited to the accounts that run the platform and is used for support only when you ask. The application separates organisations by database and by bucket rather than by a where clause, so there is no screen inside the product that shows one customer another customers issues.
What happens to our data if we leave?
Export what you want through the management API, then ask for erasure. The bucket is deleted and the organisation database is dropped. Backups roll off on their own schedule, which is thirty days, and that window is in the processing agreement rather than left vague.
Do you use American sub-processors at all?
One, and it is better said here than found out. Cloudflare sits in front of every hostname, for TLS and protection against denial-of-service attacks, so what your SDKs send passes through it on the way in. It is used for transport only: the databases, the payloads and the backups are with Hetzner, netcup and Backblaze, all in the EU. The other processors on the list are in Germany, the Netherlands and Belgium. Slack and Microsoft Teams appear only if you configure an alert rule that delivers there, which is a choice you make per rule and which the agreement names explicitly.
Move one line of configuration and find out.
Your existing SDK, a new DSN, fourteen days of Team and no card. If it is not better, changing the line back costs the same as changing it.
No card. The trial ends by itself and drops to Free; nothing is charged unless you choose a plan.