Home Privacy Policy Imprint Contact Open Source Licenses

Privacy Policy

Last updated: October 15, 2026

This Privacy Policy explains how WTFlow ("we", "us") handles data when you use the WTFlow Chrome extension ("the extension"). In short: your Jira data never leaves your browser. The extension can send pseudonymous usage and error data to help us improve it — but only after you switch this on in its settings.

1. Controller

Christoph Hornfischer
Pappelweg 145
53177 Bonn
Germany
Email: info@whattheflow.io

We are the controller for the processing described in section 4. We are not the controller of your Jira data (section 2) — we have no access to it. See also our Imprint.

2. Your Jira data stays on your device

The extension calls the API of your own Jira instance, using the browser session you are already signed in with. The answers — issues, status changes, board configuration — are stored locally in your browser so the extension can compute flow metrics without asking Jira again.

None of it reaches us or any third party. All of this processing happens in your browser and serves only to make the extension work. Storing it on your device is strictly necessary to provide the service you asked for (§ 25(2) no. 2 TDDDG).

3. Settings on your device

Your settings — Jira address, chosen boards, active enhancements, filters — are stored in your browser on the same basis as section 2.

4. Usage and error data — optional, off by default

The extension can send usage and error data so we can see where setup gets stuck, where the extension has bugs, and which features are worth building. This is switched off by default. You can switch it on in the extension's settings and switch it off again at any time.

The data is pseudonymous, not anonymous: it carries a random id for your installation. We cannot link that id to a person, but it connects the events of one installation.

Legal basis: your consent under Art. 6(1)(a) GDPR, and § 25(1) TDDDG for storing the installation id on your device. Without your consent, nothing is sent and no id is created.

What is sent

  • Which setup step you reached — Connect, Board, Metrics
  • Which enhancement you switched on — its internal id, e.g. cycle-time-badge
  • Which enhancement you switched off again — the same id, so we can tell what people keep from what they only try
  • That a request to Jira failed: the class of failure ("permission", "rate-limited", "server-error"), which area it was in ("search", "board"), and whether your Jira is Cloud or Data Center. Never the error message, never the address, never which board or issue
  • What the extension learned about your Jira: whether it is Cloud or Data Center (only once a check has confirmed it), whether that check corrected an assumption, that the check got no usable answer, and which area ("search") your Jira does not offer. Never the address, never the version, never which board or issue
  • That the extension recognised no cards on a Jira board: which of its known board layouts the address suggested, what it found instead, and the shape of the address ("people", "software-projects"). Never the address itself, never which board, project or issue
  • What happened when you switched or removed your Jira: whether the old data was cleared after restarting or not — and if not, whether storage or the database failed — and roughly how long clearing took. Never the address, never which Jira, never what was cleared
  • That an error slipped past every handler or was caught by a screen's error boundary: which part of the extension it was in ("the Jira page", "the charts page"), the kind of error ("TypeError"), and where in the extension's own code it happened: file, function, line. Never the error message, never anything from your Jira, never what you were doing at the time

With every event

  • The version of the extension
  • A random id for this installation — created when you switch reporting on, deleted when you switch it off
  • Your IP address — every request over the internet carries one, so the recipient sees it. We never send it as a value. PostHog discards it for our project on receipt and derives no location from it.

Never sent

  • Issue keys, titles, descriptions, comments
  • Project or board names, field names, JQL
  • The address of your Jira instance
  • Your name, your email address, your Jira account
  • Screen recordings — the feature is not built in

This limit is technical, not merely a promise: the extension can only send the values listed above.

5. Recipient and transfers outside the EU

The data from section 4 is processed on our behalf by PostHog Inc. (posthog.com) under a data processing agreement pursuant to Art. 28 GDPR, concluded on October 1, 2026. It is stored in PostHog's EU data center (Frankfurt).

PostHog is based in the USA, so part of the processing — support and some sub-processors — also takes place outside the EU/EEA. These transfers are safeguarded by PostHog's certification under the EU-US Data Privacy Framework and by the EU Standard Contractual Clauses. You can obtain a copy of these safeguards from us at the address in section 1. PostHog's sub-processors are listed at posthog.com/subprocessors.

We do not sell data, do not use it for advertising, and do not share it with anyone else.

6. Retention

  • Data on your device: until you clear it in the extension or uninstall it.
  • Usage and error data at PostHog: [at most 15 months] — then it is deleted.
  • The installation id on your device: deleted the moment you switch reporting off.

7. Your rights

You have the right of access (Art. 15 GDPR), rectification (Art. 16), erasure (Art. 17), restriction of processing (Art. 18), data portability (Art. 20) and to object (Art. 21). Contact us at the address in section 1.

Because we store neither your name nor your IP address, we cannot link usage data to a person. For this data, the rights under Art. 15 to 20 therefore apply only if you give us information that makes such a link possible (Art. 11(2) GDPR). We answer every request within one month.

You can withdraw your consent at any time with effect for the future (Art. 7(3) GDPR) — the switch is in the extension's settings. Withdrawing deletes the installation id on your device. It does not affect the lawfulness of processing before the withdrawal.

You also have the right to lodge a complaint with a supervisory authority (Art. 77 GDPR). Ours is the State Commissioner for Data Protection and Freedom of Information of North Rhine-Westphalia (LDI NRW), Düsseldorf.

8. Voluntary, and no automated decisions

Providing usage and error data is required neither by law nor by contract. The extension works fully without it, and declining has no disadvantage for you. There is no automated decision-making or profiling.

9. Chrome Web Store compliance

Our use of information received from Google APIs adheres to the Chrome Web Store User Data Policy, including the Limited Use requirements.

10. Changes to this policy

We may update this policy when the extension changes. The "Last updated" date above will be revised accordingly. If a new recipient or a new kind of data is added, the extension will ask for your consent again.