Privacy Policy
What we collect, why we collect it, and what you can ask us to do about it.
Effective · Enyon Software Limited
This policy explains how Enyon Software Limited ("we") handles personal data in BulbQA. It covers the hosted service at app.bulbqa.com, this website, and the desktop Runner.
The short version. We collect the minimum needed to run a test management service: who you are, what organization you belong to, and the testing work you record. Your source code never reaches us, because the Runner executes it on your own machine. We do not sell personal data, we do not advertise, and we do not train models on your data.
Who the controller is
For account and billing data we are the controller. For the testing data your organization puts into the service we are a processor, acting on your organization's instructions — those arrangements are set out in our Data Processing Agreement.
Enyon Software Limited, registered in England and Wales under number 14598599, registered office Union House, 111 New Union Street, Coventry, West Midlands, CV1 2NT, United Kingdom.
What we collect
| Category | What it is | Why |
|---|---|---|
| Account | Name, email address and profile image, from the Google or SSO account you sign in with | To identify you, and to show teammates who did what |
| Organization | Organization name, membership and roles, invitations | To decide what you can see and do |
| Testing data | Suites, test cases and steps, plans, runs, verdicts, notes, and the run snapshots that keep history accurate | To provide the service. This is your organization's data, held on its behalf |
| Run artifacts | Screenshots, logs and reports a run produced, where your team uploads them | To attach evidence to a result |
| Billing | Billing contact, company details and subscription status. Card details go to Stripe and never reach us | To take payment and meet accounting obligations |
| Technical | Server logs — IP address, request path, timestamp, errors | To keep the service running and secure |
| Error reports | Redacted stack traces from our servers and from the desktop Runner, sent to our error tracking provider. The request that caused the error is never attached, and the Runner's reports carry no message or file paths at all — see below | To find and fix a failure we would otherwise never hear about |
What we do not collect
- Your source code. The Runner opens your repository locally and executes it locally. Its contents are not transmitted to us. What we store is the identity of a test — a name and a stable id — not the code behind it.
- Your credentials or environment. Scripts run with whatever your machine already has. We never see those secrets.
- Anything sent to a model provider. See below.
A note on error reports
We send error reports to Better Stack, our error tracking provider, from the desktop Runner and from our own servers. Both are reconstructed from a fixed allowlist rather than filtered, so a field nobody permitted is dropped rather than sent by omission.
The Runner's reports are the stricter of the two, because the Runner sits next to your repository: file paths are replaced with an opaque build identifier, the error message is replaced with a fixed string, and source lines, local variables and function names are removed entirely. Nothing identifies you, your organization, your machine, your repository or your test data, and only crashes are sent — there is no usage analytics anywhere in the app.
Reports from our servers keep the error message and the stack, since that is our own code, but the request behind the error is never attached: no body, no headers, no query string, no cookies, and no user or organization identifier. Messages are scrubbed for credentials, email addresses and database detail lines before they leave. The Subprocessors page sets out exactly what each kind of report contains.
A note on AI features
Some features — reviewing a regression plan, drafting a bug report — use a coding agent CLI that is already installed on your own machine, running under your own account with that provider. The request goes from your machine to that provider directly. It does not pass through our infrastructure, we do not see it, and the provider is not our subprocessor. Your relationship with that provider, and its data handling, are governed by its own terms.
Why we are allowed to (legal bases)
- Contract — to provide the service you or your organization signed up for.
- Legitimate interests — to keep the service secure, prevent abuse, and improve it. We balance this against your interests and keep the data to a minimum.
- Legal obligation — to keep accounting and tax records.
- Consent — for anything optional, such as marketing email. You can withdraw it at any time.
Where your data is
The service runs entirely in AWS eu-west-1 (Ireland). Data is encrypted in transit with TLS, and encrypted at rest by our infrastructure providers.
Some of our subprocessors are based outside the UK and EEA. Where data reaches them, transfers are covered by the UK International Data Transfer Addendum and the EU Standard Contractual Clauses. The current list is on our Subprocessors page, which we keep up to date.
How long we keep it
- Account data — while your account exists, and 30 days after it is closed.
- Testing data — while your organization's subscription is active. Suites and cases you delete are recoverable for 90 days and then permanently destroyed by an automated job.
- After termination — we keep your organization's data for 30 days so you can export it, then delete it.
- Billing records — six years, as UK accounting law requires.
- Server logs — 30 days.
Who we share it with
Only the subprocessors listed on our Subprocessors page, each bound by contract to process data only on our instructions. We also share data where the law requires it, and we would tell you unless legally prevented.
We do not sell personal data, and we never have.
Cookies
We use cookies that are strictly necessary to sign you in and keep you signed in. We do not use advertising cookies or third-party trackers. Because these cookies are essential to a service you asked for, no consent banner is required — and we would rather not show you one.
Your rights
Under UK and EU data protection law you can ask us to:
- give you a copy of your personal data, or send it to someone else;
- correct data that is wrong;
- delete your data, where we have no overriding reason to keep it;
- restrict or object to how we use it;
- stop processing based on consent, by withdrawing that consent.
Email privacy@enyon.dev and we will respond within one month. If the data is held on your organization's behalf we will direct you to them, and help them answer you.
If you are unhappy with how we have handled your data you can complain to the UK Information Commissioner's Office at ico.org.uk, or to your local supervisory authority. We would rather you told us first.
Changes
We will update this page when our processing changes, and change the effective date at the top. For material changes we will email organization owners.
Contact
Privacy questions and rights requests: privacy@enyon.dev. Security reports: security@enyon.dev.