一 · Data controller
Who's responsible for your data
Battery Sensei is operated by Sandro Thabiso Schaier, self-employed individual (živnostník), with business seat at Korunní 2569/108, 101 00 Prague 10, Czech Republic. References to "we" / "us" on this page mean that operator.
Contact for any privacy-related question, request, or complaint: info@battery-sensei.app. We try to reply within a working day.
二 · The app
What the macOS app does on your Mac
Battery Sensei is a native macOS app that runs entirely on your Mac. Reading your battery, your charging, and the next few hours of your calendar all happens on-device — none of it passes through a server we operate.
The app contains no telemetry, no analytics SDK, no crash reporter and no cloud account. Your battery history is stored only on your Mac. Calendar event titles are read locally to time your meeting alerts and never leave your device.
The only network connection the app makes on its own is an update check: it periodically fetches an update feed (an "appcast") from battery-sensei.app to see whether a newer version exists. That request reaches our host the same way any web request does, appears only in short-lived server logs, and carries no account or device identifier. If an update is available, the new version is downloaded from GitHub — see the next section.
三 · Downloads & updates
Downloading the app and its updates
We host the app's installer and its release notes in a public GitHub repository (github.com/schaier-io/battery-sensei-releases). When you click "Download for Mac", or when the in-app updater installs a new version, your device connects directly to GitHub to fetch the file. No GitHub account is required.
Like any web server, GitHub receives your IP address, the file you requested and your browser's user-agent in order to serve the download, and may log that data and set its own cookies if you browse the repository in a browser. For this connection GitHub, Inc. (a Microsoft company) acts as an independent controller under its own privacy statement. We never receive a list of who downloaded the app.
GitHub's handling of these requests is governed by the GitHub Privacy Statement. If you open an issue or comment on the repository, whatever you write — and your GitHub username — is shared with GitHub and is publicly visible.
四 · What we collect
The full list, by surface
This section is about the marketing website at battery-sensei.app and the order flow on it — the app itself is covered above and collects nothing. On the website we keep data to a minimum:
- Language preference cookie — a first-party cookie called
bs_locale, written only after you change language via the site switcher. Stores your two-letter locale (e.g.de), expires after one year, never shared. - Purchase-confirmation flag — a session-scope sessionStorage entry called
bs_purchase_trackedthat prevents duplicate conversion events when you refresh the thank-you page. Cleared the moment you close the tab. - Cookieless analytics — anonymized pageview counters and Core Web Vitals via Vercel Analytics and Vercel Speed Insights, plus a single anonymous "purchase complete" event on the thank-you page (which plan you bought, and the Polar order reference) so we can count completed checkouts. No cookies, no cross-site identifiers; visitor IP addresses are hashed once at the edge before any storage.
- Email-signup data — only if you submit the "get the download" form: the email address you typed, the locale of the page, your IP and user-agent (for abuse triage), plus a timestamp.
- Contact-form data — only if you write to us via the contact form: name, email, message subject and body, plus IP / user-agent / referring origin for spam protection.
- Checkout data — only if you click Buy: the Polar checkout iframe collects your billing details directly. We never touch the card number; we only see what Polar reports back to us (email used, country, receipt id, fulfillment status).
- Server logs — short-lived request logs at Vercel containing path, status, user-agent and a truncated IP. Used for debugging and abuse triage. Vercel rotates these on a rolling 30-day window.
五 · Why we collect it
Purpose and legal basis
- Site functionality — language cookie, purchase-confirmation flag. Legal basis: legitimate interest (Art. 6(1)(f) GDPR) and Recital 30 of the ePrivacy Directive (strictly functional storage).
- Operating the order flow — checkout data, license key delivery, refund handling. Legal basis: performance of contract (Art. 6(1)(b) GDPR).
- Release-alert and new-app emails — only the email addresses you explicitly submit through the signup form, confirmed by double opt-in (we email you a link and add you only once you click it). Legal basis: consent (Art. 6(1)(a) GDPR), withdrawable at any time via the unsubscribe link in every email, or by writing to info@battery-sensei.app.
- Cookieless analytics + server logs — a minimum signal of "the site is up and people are reading it". Legal basis: legitimate interest (Art. 6(1)(f) GDPR) in operating and improving the service. No profiling, no advertising re-targeting.
- Abuse / fraud signals — IP and user-agent on the contact and signup forms. Legal basis: legitimate interest (Art. 6(1)(f) GDPR) in protecting the service from spam, scraping and fraudulent purchase attempts.
We do not engage in any automated decision-making or profiling with legal or similarly significant effects on you (Art. 22 GDPR).
六 · Third-party processors
Who stores your data
We use a small set of processors. Each has its own privacy policy, linked below. No data we hold is sold or shared with advertising networks.
- Vercel Inc. — US-based hosting provider, serves the site, runs the server functions, hashes IPs at the edge. Vercel is certified under the EU-US Data Privacy Framework. Policy: vercel.com/legal/privacy-policy.
- Polar Software, Inc. — merchant of record for all purchases. Handles payment processing, VAT, refunds, license issuance. Card data is collected directly by Polar; we never see it. Transfers to Polar (US) rely on Standard Contractual Clauses. Policy: polar.sh/legal/privacy.
- Resend, Inc. — sends release-alert and transactional emails (purchase receipt, key resend, contact-form confirmation). Email addresses you submit through our forms are mirrored to Resend audiences. Transfers to Resend (US) rely on Standard Contractual Clauses; Resend is also self-certified under the EU-US Data Privacy Framework. Policy: resend.com/legal/privacy-policy.
- Neon (a Databricks company) — serverless PostgreSQL host (Neon, LLC), provisioned through the Vercel Marketplace. Holds the newsletter-signup table and the contact-form table; the database lives in the EU (AWS, Frankfurt / eu-central-1). Your purchase and license records are not stored here — those are held by Polar. Neon, LLC is covered by Databricks' EU-US Data Privacy Framework certification, and any transfers also rely on Standard Contractual Clauses. Policy: databricks.com/legal/privacynotice.
七 · Retention
How long we keep what
- Email-signup records — kept while you stay subscribed. If you unsubscribe, we keep your address on a short suppression record so we honour your opt-out and don't silently re-add you if the form is submitted again; you can ask us to erase it entirely at any time.
- Contact-form messages — kept up to 24 months from the last reply on the thread, then purged.
- Purchase / fulfillment data — Polar, as merchant of record, retains the underlying tax invoice and license record for the legally required period (typically 10 years under Czech Act No. 563/1991 Coll.). We do not keep a copy of your purchase or license in our own database; when you need support we look it up in Polar by order id.
- Server logs — rotated by Vercel within 30 days of the request.
八 · Your rights
What you can ask us to do
Under the GDPR (and the Czech Act No. 110/2019 Coll.) you have the right to:
- Request access to the personal data we hold about you (Art. 15 GDPR).
- Ask us to correct data that is inaccurate or incomplete (Art. 16).
- Ask us to delete your data when it's no longer needed (Art. 17). For purchase data we have to retain accounting records under Czech tax law.
- Ask us to restrict processing while a correction is being assessed (Art. 18).
- Receive a portable copy of your data in a machine-readable format (Art. 20).
- Object to processing based on legitimate interest (Art. 21).
- Withdraw consent at any time. The unsubscribe link is at the bottom of every newsletter email.
To exercise any of these rights, email info@battery-sensei.app. We will reply within one month of receipt and may extend this by up to two further months for complex requests, in which case we will notify you within the first month and explain why. You also have the right to lodge a complaint with the Czech Office for Personal Data Protection (Úřad pro ochranu osobních údajů, uoou.gov.cz) or with the data protection authority in your country of residence.
九 · Changes
When this page is updated
When we change a material practice (a new processor, a different retention window, a new type of data collected), we update the "last updated" date at the top of this page. If a change affects your consent (for example, a new newsletter type), we will email you separately and ask before opting you in.