Privacy Policy — Altimet

This Privacy Policy explains what personal data we process in connection with the Altimet app (Android) and this website, for what purposes, on what legal basis, and for how long. Altimet is designed as a local-first app: the large majority of its features work entirely without an internet connection and without any data transmission. Only when you actively switch on certain optional features do we process additional data — this policy describes exactly that in detail.


1. Controller

The controller’s identity and contact details (name and address) can be found at the end of this policy in Section 19.

No Data Protection Officer has been appointed, because the conditions of Art. 37(1) GDPR (public authority, large-scale monitoring activity, or large-scale processing of special categories of personal data) are not met. For any data-protection matter, please reach us at the email address above.


2. Overview: what data we process and why

Before we go into detail, here is the short version:

The following sections describe each of these processing activities in detail, including the applicable legal basis.


Every processing of personal data requires a legal basis under Art. 6(1) GDPR. Depending on the processing activity, this policy relies on one or more of the following four bases:

Which of these bases applies to a given processing activity is stated explicitly for each item in Section 4. In addition to the GDPR, German national law applies, in particular the Federal Data Protection Act (BDSG).


4. Data processing in detail

4.1 Local processing on your device (core principle)

Altimet is designed as a local-first app and works fully offline. Your tasks, routines, subtasks, reminders, notes, and settings are stored in a local SQLite database (Room) and in local preference files (androidx.datastore) on your device.

This data does not leave your device as a rule. A transmission to our servers or to any third party only happens if you explicitly enable one of the optional cloud features described below.

4.2 Firebase Authentication — only with cloud sync enabled

If you enable the optional premium cloud sync under Settings, then Account, then Cloud Sync, and sign in — either via Google Sign-In (through the Android Credential Manager) or via email and password — we process the following data through the Firebase Authentication service:

Data Purpose
Email address Account identification; delivery of verification and password-reset links; account recovery
Display name (if provided by your Google profile) Showing “Signed in as …” in Settings
Profile picture URL (Google Sign-In only) Showing your profile picture in the account area
Firebase user ID (UID) Uniquely scoping your cloud data to your account; the basis of the Firestore security rules
Auth token Technical authentication against Firebase services
Password hash (email/password sign-in only) Signing in without a Google account

We never receive your Google password; for Google Sign-In we request only the minimal OAuth scopes “email” and “profile”. Signing in is voluntary — Altimet works entirely without an account for purely local use.

4.3 Cloud Firestore — only with cloud sync enabled

With cloud sync enabled, we additionally store your task, routine, and subtask content in Cloud Firestore, to enable synchronization across multiple devices.

This feature is entirely optional and disabled by default. Without active sign-in and opt-in, no content data leaves your device.

4.4 Firebase Crashlytics — crash reporting, opt-in only

This feature is DISABLED by default. Crash reports are only processed if you have actively enabled this under Settings, then Privacy, then Crash reports.

Once you have opted in, in the event of a crash Crashlytics collects:

Explicitly not collected: the content of your tasks/routines, your name, or your email address. Crash data is not linked to your user account.

We explicitly do NOT use Firebase Analytics and do NOT use Firebase Cloud Messaging (push notifications via Google servers) — neither service is integrated into the app.

4.5 Firebase Installations

Part of Firebase’s technical infrastructure is an anonymous, randomly generated installation ID per app install. It serves purely internal technical purposes (e.g. associating diagnostic data with an installation, not with a person) and is not linked to your account.

4.6 Calendar access — local only

If you enable the optional calendar feature under Settings, then Data & Sync, then Calendar Sync (disabled by default), the app requests the runtime permissions READ_CALENDAR and WRITE_CALENDAR and accesses your device’s calendar provider through Android’s own CalendarContract interface (ContentResolver).

Calendar data is read and processed exclusively on your device, to create or update calendar events for your tasks/routines in the calendar you selected. It is never transmitted to our servers or to Google.

If the calendar you selected is itself an account-bound calendar (e.g. Google Calendar) that syncs server-side, that is a property of that calendar app and governed by its own privacy policy — it is not caused by Altimet.

4.7 No tracking, no advertising, no analytics services

We explicitly state:

The only exceptions to “no network access” are the opt-in crash reporting (Section 4.4) and the optional premium cloud sync (Sections 4.2 to 4.3) — both are disabled by default and/or require an active sign-in.

4.8 AI and machine learning

Altimet does not use your data for automated decision-making within the meaning of Art. 22 GDPR or for profiling (see Section 4.7). The app does not contain any AI or machine-learning model that produces decisions about you. We also do not use the content of your tasks, routines, or account data to train any AI or machine-learning model, whether operated by us or by any third party.

More broadly: Altimet does not use artificial intelligence or machine learning to process your tasks, habits, or notes at all. Its quick-capture parser is a deterministic rule-based parser that runs entirely on your device. Some of our translations and internal development tools use AI; no user data is involved. If we add AI-powered features in future, we will update this policy and ask for your consent before any of your content is processed by such a feature.

4.9 Shared routines (optional, invite-only)

If you create or join a shared routine — an optional, invite-only feature — we additionally process:

4.10 App Check / Play Integrity

Every build of the app includes Firebase App Check with the Play Integrity provider. On startup, the app asks Google Play services for an integrity verdict for your device and the app binary, and attaches the resulting short-lived attestation token to the requests it makes to our Firebase backend.

4.11 Backend processing and the subscription mirror (Cloud Functions for Firebase)

The server-side logic behind cloud sync, shared routines, and premium subscriptions runs on Cloud Functions for Firebase, hosted in the region europe-west3 (Frankfurt, Germany). These functions process your Firebase user ID, requests related to shared routines (Section 4.9), and Google Play’s subscription notifications and subscription-verification calls.

If you are a premium subscriber, we store a subscription record for your account in Cloud Firestore (document _meta/subscription under your account): your subscription status, the product you purchased, its expiry time, the latest Google order ID, its acknowledgement state, and a keyed hash (HMAC) of your Google Play purchase token — we never store the raw purchase token itself. This record is populated from two sources: Google Play real-time developer notifications, and the Google Play Developer API, which we also query once daily to check for voided purchases and keep subscription status accurate.

4.12 Wear OS (optional)

If you pair a Wear OS watch with your phone to use Altimet’s watch notifications and quick actions, your task and routine data needed for those notifications is exchanged directly between your phone and your watch over Google Play services’ Wearable Data Layer — a device-to-device channel that does not route through our servers.


5. Security measures

Taking into account the state of the art, implementation cost, and the nature, scope, and risks of the respective processing, we implement appropriate technical and organisational measures (Art. 32 GDPR) to ensure a level of protection commensurate with the risk. These include, in particular:

Despite these measures, we — like any provider of internet-based services — cannot guarantee absolute protection against every conceivable security risk.


6. Recipients and processors

For the cloud features described in Section 4, we use Google as a processor under Art. 28 GDPR:

Service Provider Purpose
Firebase Authentication Google Ireland Limited / Google LLC Sign-in, account identity
Cloud Firestore Google Ireland Limited / Google LLC Synchronization of content data
Firebase Crashlytics Google Ireland Limited / Google LLC Crash reporting (opt-in only)
Firebase Installations Google Ireland Limited / Google LLC Technical infrastructure
Google Play Billing Google Ireland Limited / Google LLC Handling premium subscriptions
Cloud Functions for Firebase Google Ireland Limited / Google LLC Backend logic for sync, shared routines, and subscriptions (europe-west3, Frankfurt)
Google Play Developer API Google Ireland Limited / Google LLC Verifying and reconciling your subscription status (Section 4.11)
GitHub Pages (web hosting of this site) GitHub, Inc. (a subsidiary of Microsoft Corporation) Serving this website

Processing with Google is carried out under the Google Cloud Data Processing Addendum, which is automatically incorporated when Firebase / Google Cloud is used.

If you create or join a shared routine (Section 4.9), the routine definition and your display name, join date, last completion date, and streak are additionally visible to the other members of that same group — this is not a processor relationship, but a consequence of the feature you chose to use.

We do not knowingly share your data with any other third party, and we do not sell personal data.


7. International transfers (USA)

The large majority of your personal data — the Firebase Authentication records and all Cloud Firestore content data — is stored within the European Union (EU multi-region eur3, see Section 4.3).

A transfer to a country outside the EU/EEA (a “third country”), in particular the USA, can occur in connection with the general Firebase / Google Cloud infrastructure (e.g. backend routing, security and abuse prevention), as well as with Firebase Crashlytics and the GitHub Pages hosting of this website. For these transfers, we rely cumulatively on two legal bases:

  1. The EU-US Data Privacy Framework (DPF) — the European Commission’s adequacy decision of 10 July 2023. Google LLC is self-certified under the DPF; GitHub, Inc. is covered via Microsoft Corporation’s DPF certification.
  2. Standard Contractual Clauses (SCCs) of the European Commission under Art. 46 GDPR, kept in place contractually as a documented fallback in addition to the DPF — independent of whether the DPF adequacy decision continues to apply.

Note on the DPF’s legal uncertainty: at the time this document was written, the EU-US Data Privacy Framework is under legal pressure. A ruling of the US Supreme Court dated 29 June 2026 concerning the independence of the US Federal Trade Commission (FTC) — the authority central to enforcing DPF commitments — raises questions about the continued stability of the DPF’s institutional basis. Should the European Commission’s adequacy decision subsequently be suspended, invalidated, or limited as a result, the Standard Contractual Clauses continue to apply unchanged as a contractual safeguard. You may request a copy of the Art. 46 GDPR safeguards at support@altimet.io.


8. Retention and deletion

Data Retention
Local database + settings on your device Until you uninstall the app, or until you run a Replace-mode restore under Settings, then Data & Sync.
Firestore content data (only if cloud sync is enabled) For as long as your account exists; deleted upon account deletion.
Firebase Authentication record For as long as your account exists; deleted upon account deletion.
Crashlytics crash records Firebase Crashlytics’ standard retention period, typically around 90 days.
Subscription record (Section 4.11: status, product, expiry, order ID, hashed purchase token) For as long as your account exists; order IDs additionally per the statutory periods in Section 8.2.
Shared routine membership (Section 4.9) Until you leave the group, are removed by the owner, the group is dissolved, or you delete your account.
Calendar entries on your device (Section 4.6) Not stored by us — exist only in your device calendar.

Account deletion: an in-app account-deletion path and a web form at altimet.io/account-deletion are available. Alternatively, email support@altimet.io with the subject “Account deletion”. Deletion normally completes within minutes; the app shows progress while it runs and lets you retry if a step does not finish. After deletion, we keep a content-free deletion record (your account identifier and the deletion and completion timestamps) so that an interrupted deletion is automatically completed by a nightly reconciliation process, and so a deleted account cannot rejoin a shared routine; this record contains no task, routine, or other content. We process deletion requests within the GDPR deadline of one month (Art. 12(3) GDPR, extendable by a further two months for complex cases with appropriate notice).

8.2 Statutory retention periods (Germany)

Independent of the feature-related periods above, for certain records — in particular in connection with payments for premium subscriptions — we are bound by statutory retention periods under German commercial and tax law. Where multiple periods apply to the same data, the longest one governs:

Once the original purpose has lapsed, such data is processed only for the purpose that justifies its continued retention (e.g. tax auditability), not for its original use.


9. This website — hosting and access data

This Privacy Policy and the other pages under altimet.io are hosted as a static website via GitHub Pages (GitHub, Inc., a subsidiary of Microsoft Corporation, One Microsoft Way, Redmond, WA 98052, USA) in conjunction with Porkbun DNS.

When you access this page, the hosting provider logs technically necessary access data server-side (including IP address, file requested, time of access, browser used) for a limited period, to deliver the content and to defend against disruptions and misuse.

This website does not use cookies and does not carry out tracking — no analytics scripts, no embedded third-party resources, no third-party fonts. Accordingly, no cookie-consent banner is shown, because no non-essential storage or read operations are performed on your device within the meaning of Section 25 TTDSG/TDDDG.


10. Your rights as a data subject

As a data subject you have the following rights under the GDPR — in particular Art. 15 to 21 GDPR:


11. US state privacy law (CCPA/CPRA) highlights

For users in California and other US states with comparable consumer-privacy statutes, the rights above are largely mirrored by the California Consumer Privacy Act (CCPA), as amended by the California Privacy Rights Act (CPRA):

We do not knowingly collect or sell the personal information of California consumers to third parties within the meaning of Cal. Civ. Code Section 1798.140.


12. Right to lodge a complaint with a supervisory authority

Without prejudice to any other administrative or judicial remedy, you have the right to lodge a complaint with a data-protection supervisory authority, in particular in the member state of your habitual residence, your place of work, or the place of the alleged infringement, if you consider that the processing of your personal data violates the GDPR.

The supervisory authority likely competent for our registered seat (Jena, Thuringia) is:

Thüringer Landesbeauftragter für den Datenschutz und die Informationsfreiheit (TLfDI)
Häßlerstraße 8
99096 Erfurt Germany

If you are located outside Germany, you may instead lodge a complaint with the data-protection supervisory authority of your own country or region.


13. Minors

Altimet is not specifically directed at children under 16 years of age. The app does not request any age-specific information and is rated “Everyone” (PEGI 3) under the Google Play age ratings, but its content is not tailored to younger children. Shared routines (Section 4.9) additionally require that you are at least 16 years old to create, join, or be a member of a group. Should we become aware that a child has transmitted personal data to us contrary to this policy, we will delete that data without delay. Please contact support@altimet.io in such a case.


14. Changes to this policy

We may update this Privacy Policy from time to time, for example when we add new features, change a processor, or address a regulatory update. For material changes:

Please check this page periodically for updates.


15. Definitions

For ease of understanding, we briefly explain the key terms used in this policy, insofar as they are not already defined by law (the statutory definitions in Art. 4 GDPR take precedence in case of doubt):


16. Contact

For questions about this policy or to exercise any of your rights:

Email: support@altimet.io
Post: Mathias Spitzer, Mittelstraße 50, 07745 Jena, Germany

We aim to respond to enquiries within one calendar month (Art. 12(3) GDPR).


17. Product safety contact (EU General Product Safety Regulation)

The EU General Product Safety Regulation (Regulation (EU) 2023/988, “GPSR”), in force since 13 December 2024, requires products placed on the EU market to carry contact details for their producer. The European Commission’s published Q&A takes the position that this requirement may extend to stand-alone software such as apps; this is not settled law, but the obligation is light, so we comply with it. Acting on that basis, the producer of Altimet and its contact details are:

Mathias Spitzer
Mittelstraße 50
07745 Jena, Germany

Email: support@altimet.io

The producer is established in the European Union (Germany), so no separate EU-based responsible person / authorised representative is required under Art. 16 GPSR.

If you believe Altimet presents a safety risk, or wish to report a product-safety incident, please contact us at the email address above. The European Commission also operates a Safety Business Gateway for this purpose.

This contact information is also reachable from the Google Play Store listing for Altimet (developer contact details) and from within the app itself (Settings, then Feedback & Support, then Privacy Policy).


18. Point of contact for illegal content (Digital Services Act)

Whether the EU Digital Services Act (Regulation (EU) 2022/2065, “DSA”) classifies the optional cloud-sync and shared-routines features described in Sections 4.2, 4.3, and 4.9 as a “hosting service” is not settled — sources are split. We do not concede that Altimet is an “online platform” within the meaning of the DSA: the app does not enable public dissemination of information. Content you store — including a shared routine’s definition and the completion status of its members — is visible only to the members of a closed group of at most 15 people whom you or the group’s owner have explicitly invited; there is no public discoverability, no sharing via public links, and no in-app chat between members. Articles 20-28 DSA, which apply only to online platforms that disseminate information to the public, therefore do not apply to us.

As a low-cost precaution, we nonetheless provide an electronic point of contact (Art. 11 DSA) and a route to notify us of content you believe to be illegal (Art. 16 DSA “notice and action”):

Email: support@altimet.io

We will acknowledge and act on well-founded notices without undue delay.


19. Controller

The controller responsible for this data processing within the meaning of the General Data Protection Regulation (GDPR) is:

Mathias Spitzer
Mittelstraße 50
07745 Jena
Germany

Email: support@altimet.io

For our VAT identification number and further provider details (Impressum pursuant to Section 5 DDG), please see our Terms of Service.


This version: 9 October 2026 — this policy applies to the Altimet Android app (Google Play package io.altimet.app) and to this website.