Privacy Policy
Last updated 30 August 2026
Ticker is a macOS time-tracking app for Jira and Tempo, made and operated by Jakub Heglas, a sole trader established in the Czech Republic (Botanická 24, 602 00 Brno). For anything in this policy, including requests about your own data, use the Contact page.
We are the data controller for the personal data described below. We are a one-person operation, not an advertising company. We do not sell your data, we do not build profiles of you, and we do not run any advertising or cross-site tracking.
At a glance
- Your Jira and Tempo data — issue keys, summaries, worklogs, comments — travels between your Mac and your own Atlassian and Tempo accounts. It is cached locally on your Mac. It does not pass through our servers.
- We receive what is needed to sell and license the app: your email address, your license key, and identifiers for the Mac you activated it on.
- The app sends anonymous usage and crash data by default. You can turn this off in Ticker’s Settings.
- This website measures page views and a handful of button clicks through PostHog. It stores nothing on your device, which is why there is still no cookie banner.
- If you submit feedback from inside the app, you choose whether to attach diagnostic logs. Those logs contain fragments of your Jira data. See Feedback and support below.
- We never see your payment card details. Stripe handles payment directly.
The Ticker app for macOS
What stays on your Mac
Most of what Ticker holds never leaves your computer. Stored locally, and removed when you delete the app and its data:
- A cache of Jira issues and worklogs you have viewed — issue keys, summaries, statuses, issue types, worklog start times, durations, and worklog comments.
- Your running timer, including any description you are typing, and a queue of worklogs that failed to sync so they are not lost.
- Your preferences, connected-site details (site name, site URL, site logo, your Jira display name, your Jira account ID, site time zone).
- In the macOS Keychain: your Atlassian access and refresh tokens, your Tempo OAuth client credentials where you have configured Tempo, and your license details. These Keychain items are marked device-only and are never synced to iCloud.
Idle detection
While a timer is running, Ticker checks how many seconds have passed since you last used your Mac, so it can ask whether to discard idle time. It reads a single number — the length of the gap. It does not read your keystrokes, your mouse movements, the names of apps you use, window titles, or anything on your screen, and it never sends this information anywhere.
Jira and Tempo
When you connect a Jira site, you authorise Ticker through Atlassian’s own consent screen. The app requests these scopes: read and write Jira work, read Jira user details, read boards, sprints and projects, and offline access so it can refresh its token. Write access is used because Ticker can create and edit work items, log and edit worklogs, and change issue statuses. Requests go directly from your Mac to Atlassian — they do not pass through us, and the issues and worklogs that come back are held on your Mac, not on our servers.
Tempo works the same way, using OAuth credentials you supply for your own Tempo instance.
One exception worth knowing about. Tempo lets an administrator configure a work attribute whose options are fetched from a web address of their choosing. If your Tempo administrator has set one up, Ticker will call that address, and the issue key and your Jira account ID are included in the call. That address belongs to whoever your administrator chose — it is not Atlassian and not us, and we have no control over what they do with it.
Signing in to Jira
Atlassian requires a confidential client secret to exchange OAuth codes for tokens. So that this secret is not embedded in an app anyone can download and inspect, the exchange runs through our server at api.tickertimer.app. Your Atlassian authorization code and refresh token pass through that server in transit. We do not store them and we do not log them — the only thing recorded is a line noting that a request happened, its outcome, and the IP address it came from. The Tempo sign-in redirect passes through the same server, which deliberately records nothing from the redirect address.
Licensing and activation
When you activate Ticker Pro, and roughly every twelve hours while the app is running, it contacts our license server at license.tickertimer.app and sends:
- your email address and your license key;
- a device fingerprint — a SHA-256 hash of your Mac’s platform UUID. We store the hash, not the UUID itself. It lets us count activations without identifying your hardware;
- your computer’s name, so you can tell your devices apart when managing activations. On macOS this is often something like “Jane’s MacBook Pro”, so it may contain your name;
- the operating system name, and the IP address the request came from.
The license server is software we host and run ourselves. Removing a license from the app deletes that device’s activation record.
Usage and crash data
Ticker sends anonymous product analytics through PostHog, on servers in the European Union. This is on by default; you can switch it off at any time in Ticker’s Settings, and nothing further is sent once you do.
What is sent:
- One event per calendar day recording that the app was used. Not what you did in it — no issue keys, no worklogs, no project names, no timer contents.
- Crash reports, including the technical stack trace of the failure inside Ticker’s own code.
- Technical context attached automatically to both: app version and build, macOS version, Mac model, device type, language, time zone, and screen dimensions.
- A random identifier generated on first launch, which lets us tell one installation from another. It is not linked to your email, your license, or your name. As with any network request, PostHog also observes the IP address the data arrives from.
Feedback and support
If you use Help › Submit Feedback, we receive your email address, your subject line, and your message. These become a support ticket in our Atlassian Jira Service Management project, which also creates a customer record for your email address there.
The form offers to attach diagnostics, and that option is ticked by default. If you leave it ticked, the submission also includes a technical summary of your Mac (model, macOS version, memory, disk space, display setup, language, time zone, uptime) and a portion of Ticker’s recent internal log. That log is not anonymous. It can contain your Jira site identifiers, issue keys you worked on recently, and excerpts of error messages returned by Jira or Tempo, which may themselves quote your data. Untick the box before sending if you would rather not share it, and we will still have your message. The log file is attached to the ticket privately, visible only to us.
Updates
Ticker checks updates.tickertimer.app for new versions. The check sends the app version and, unavoidably, your IP address. It does not send a system profile.
This website
We measure how this site is used with PostHog, on servers in the European Union, in its cookieless mode. Nothing is stored on your device — no cookie, no local storage, no session storage — which is why you still see no cookie banner here. There is no tracking pixel and no advertising tag, and nothing you do on this site is linked to anything you do anywhere else.
Instead of putting an identifier on your device, PostHog works one out on its own servers, by hashing your IP address and your browser’s user-agent string together with a secret value that changes every day. The IP address is discarded before the event is stored, and the day’s secret is deleted once that day’s events have been processed. The practical effect: we can tell that one visitor looked at the pricing page and then reached the confirmation page a few minutes later. We cannot tell that this was the same visitor as someone last week, and we cannot tell who any of them are.
Here is everything we record:
- A page view for each page you open, and a note of when you leave it — the address of the page, the address that referred you to it, and the technical details your browser sends anyway: browser, operating system, device type, screen size and language.
- A click on a download button — Download for Mac, or Download Free on the pricing page — and which button on which page it was.
- A click on a Subscribe or Buy Lifetime button, and which plan it was for.
- Reaching the confirmation page after a purchase, and whether your license key came through.
- If a script on this site crashes, the technical details of the failure: the error message, where it happened in our own code, and the page you were on. Not the contents of the page, and nothing you typed.
The address of the confirmation page you land on after paying contains a Stripe reference to your purchase. It is stripped in your browser before the page view is sent, so it never reaches us and the measurement stays disconnected from your order.
There is no opt-out switch for this the way there is in the app, because there is nothing switched on that is tied to you: no identifier is stored on your device, and no record here points back to you for us to find or delete. If you would rather not be counted at all, any content blocker will stop it, and we do not work around them.
That is the complete list. We do not record what you type, we do not capture form contents, we do not record your screen, and we do not automatically log every click on the page. Because PostHog is deriving an identifier from your IP address, it does not also derive your country from it — so we hold no location data for this website at all.
Other third parties involved in serving the site also see your IP address:
- Netlify hosts the site and keeps standard server logs of requests, including IP addresses.
- Google Fonts serves the site’s typeface. Your browser fetches it from Google on every page, which discloses your IP address and browser details to Google.
- Cloudflare Turnstile protects the contact form from bots. It runs only on the contact page, may set its own cookie on Cloudflare’s domain, and receives your IP address and browser signals to judge whether you are human.
- Stripe handles checkout and billing management, on Stripe’s own pages.
The contact form collects your email address, an enquiry type, a subject, and your message. Like in-app feedback, it becomes a ticket in our Jira Service Management project.
We record the IP address of requests to our API, briefly, to enforce rate limits and prevent abuse. See How long we keep things below.
Buying Ticker Pro
Payments are processed by Stripe. You enter your card details on Stripe’s pages, not ours. We never receive or store your card number. From Stripe we receive your email address, the plan you bought, and identifiers for your customer, subscription and payment records, which we store alongside your license so that renewals, refunds and cancellations update your license correctly.
Your license key is emailed to you through Resend. That is the only email we send. There is no newsletter and no marketing mail — we have no mailing list to put you on.
Why we are allowed to do this (GDPR)
- Performance of a contract — selling you a license, delivering the key, validating it, running the billing portal, and providing the app’s core functions.
- Legitimate interests — logging IP addresses to rate-limit our API and prevent abuse; collecting anonymous usage and crash data from the app to find bugs and decide what to build; and measuring how this website is used, so we know which pages work and where people give up. We have weighed these against your interests. The website measurement writes nothing to your device, so it needs no consent under the ePrivacy rules, and the IP address it briefly processes becomes a one-day hash and is then discarded. None of it is sold, none of it is used to profile you or advertise to you, and none of it can be tied to your purchase, your license or your email address. The app’s analytics can be switched off entirely in Settings.
- Consent — where you choose to attach diagnostic logs to a support request. You can withhold it by unticking the box, and withdraw it afterwards by asking us to delete the attachment.
- Legal obligation — retaining invoices and transaction records for the periods tax law requires.
Who else handles your data
- Netlify (United States) — website and API hosting, server logs.
- Atlassian — our support desk only. Tickets you raise from the app or from this website, and anything you attach to them, are stored in our Jira Service Management project.
- Stripe (United States) — payments, billing portal.
- Resend (United States) — sending your license email.
- PostHog (European Union) — anonymous usage and crash data from the app, and cookieless page measurement on this website.
- Cloudflare (United States) — bot protection on the contact form.
- Google (United States) — serving web fonts.
The Jira site you connect in the app is not on this list, and that is deliberate. It is your own account with Atlassian, under your own agreement with them. Ticker reads and writes it directly from your Mac using the access you granted, and none of it is copied to us: we do not receive, store or have any way to read your issues, worklogs, projects or comments. The only exception is whatever you choose to put in a support request yourself — see Feedback and support above.
Our license server runs open-source software that we host ourselves. There is no third-party licensing vendor involved, and no one but us has access to it.
Data leaving the EU
Several of the providers above are based in the United States, so some data is transferred outside the European Economic Area. Those transfers rely on the European Commission’s Standard Contractual Clauses, or on the EU–US Data Privacy Framework where the provider is certified. Analytics data stays in the EU. Our support desk is hosted by Atlassian in the region we selected for it. Where your own Jira site keeps its data is set by your agreement with Atlassian, not by us.
How long we keep things
- Rate-limiting records — IP addresses used for rate limiting are cleared once their time window has passed, by a job that runs daily.
- Server logs — retained by our hosting provider for a short period, on the order of a day, and then discarded. We do not copy them anywhere else.
- Support tickets, including any attached logs — kept while we may still need the history, and deleted on request.
- License records — kept for as long as the license exists. A cancelled or refunded license is suspended rather than deleted, so we can recognise it if you return.
- Purchase and invoice records — kept by Stripe and by us for the period required by Czech tax law, currently ten years.
- Analytics — retained by PostHog under their standard retention. Because it is anonymous, it cannot be traced back to you to remove individually. Website measurement carries only a hash that lasts a day, and the secret used to build it is deleted after that day, so from then on not even we could link it to a person.
- The checkout confirmation page — the link showing your license key after purchase stops working one hour after checkout.
Your rights
If you are in the EEA or the UK, you have the right to ask for a copy of your data, to have it corrected, to have it deleted, to restrict or object to how we use it, to receive it in a portable form, and to withdraw consent where we relied on it.
Use the Contact page and we will reply within 30 days. We handle these requests by hand across each of the systems listed above, so please tell us the email address you used to buy or to contact us — it is the only way we can find your records. Deleting your license will deactivate the app on your devices.
You can also complain to your local supervisory authority. In the Czech Republic that is the Office for Personal Data Protection (Úřad pro ochranu osobních údajů, uoou.gov.cz).
California residents
Over the past twelve months we have collected these categories of personal information: identifiers (email address, IP address, device fingerprint, computer name); commercial information (what you purchased); internet and device activity (app version, OS version, Mac model, crash diagnostics, and the pages you view on this website); and the contents of any support message you send us. The purposes are described throughout this policy.
We do not sell your personal information, and we do not share it for cross-context behavioural advertising. We have never done so. We do not use it to profile you, and we do not use sensitive personal information for inferring characteristics.
You have the right to know what we have collected, to delete it, to correct it, and not to be discriminated against for exercising those rights. Use the Contact page.
App Store disclosures
Mapped to Apple’s privacy categories, Ticker’s data collection is:
- Contact info — email address, linked to you, used for app functionality (licensing) and customer support.
- Identifiers — license key, device fingerprint and computer name, linked to you, used for app functionality. The analytics identifier is not linked to you.
- Usage data — one daily “app was used” event, not linked to you, used for analytics. Optional; you can switch it off.
- Diagnostics — crash data, not linked to you, used for app functionality and analytics. Optional. Diagnostic logs attached to a support request are linked to you, and are entirely under your control.
Ticker does not use any data for tracking as Apple defines it: nothing is linked to third-party data for advertising, and nothing is shared with a data broker.
Children
Ticker is a professional tool sold to adults. It is not directed at children, and we do not knowingly collect data from anyone under 16. If you believe a child has given us personal data, use the Contact page and we will delete it.
Security
Tokens, credentials and license details are stored in the macOS Keychain, encrypted at rest and marked device-only so they are never synced to iCloud. All network traffic uses HTTPS. Responses from our license server are cryptographically signed and verified by the app, so a tampered response is rejected. Payment card data never touches our systems.
No system is perfectly secure. If you find a vulnerability, please tell us via the Contact page rather than disclosing it publicly, and we will work with you on it.
Changes to this policy
If we change what we collect or who we share it with, we will update this page and move the date at the top. Material changes will be mentioned in the app’s release notes, so you are not expected to re-read this page to notice them.
Contact
Jakub Heglas, Botanická 24, 602 00 Brno, Czech Republic.
The easiest way to reach us is the Contact page. You can also write to the Contact page.