diff --git a/src/pages/agendula/privacy.astro b/src/pages/agendula/privacy.astro new file mode 100644 index 0000000..5addcd9 --- /dev/null +++ b/src/pages/agendula/privacy.astro @@ -0,0 +1,328 @@ +--- +import BaseLayout from '../../layouts/BaseLayout.astro'; +import { LEGAL } from '../../consts'; + +// App privacy policy for Agendula — required as a public URL by the Google Play +// Console (mandatory for every app) and linked from the app's About card. +// Deliberately separate from /datenschutz, which covers this website only. +// +// Kept in English because SITE.lang is 'en' and Play's default store listing is +// en-US; /datenschutz and /impressum stay German for legal reasons. +// +// Source of truth for the facts below: the Agendula repository (docs/PRIVACY.md, +// docs/SYNC.md, AndroidManifest.xml, backup_rules.xml). Unlike Calendula, +// Agendula *does* hold INTERNET — it has its own CalDAV sync — so the wording +// here turns on "only to the server you entered", not on the absence of the +// permission. If sync, permissions or data paths change, update this page and +// the "Last updated" date. +const lastUpdated = '9 September 2026'; +--- + + +
+

Privacy Policy — Agendula

+ +

+ Last updated: {lastUpdated}
+ Applies to the Android app Agendula{' '} + (package de.jeanlucmakiola.agendula), all versions and all + distribution channels. +

+ +

In short

+

+ Agendula has no servers, no user accounts and no analytics. Your tasks live + on your device. They leave it in exactly one case: if you set up a CalDAV + account yourself, they are synchronised with the server you + entered — and with nothing and no one else. Nothing is ever sent + to the developer. +

+ +

1. Controller

+

+ {LEGAL.business}
+ {LEGAL.street}
+ {LEGAL.city}
+ Email: {LEGAL.email} +

+ +

2. No data collection by the developer

+

+ Agendula contains no analytics, no tracking, no advertising, no + crash-reporting SDK and no third-party service that reports anything + anywhere. No user profile is created, no advertising or device + identifier is generated, and no data is shared with or sold to anyone. + There is no Agendula account, and the developer operates no server that the + app talks to. +

+

+ All of this is verifiable in the{' '} + source code, + which is public. +

+ +

3. Where your tasks live — your choice

+

+ Agendula offers two storage modes, and you pick one: +

+ + +

4. CalDAV sync — the only case where your tasks leave the device

+

+ Sync is optional and off until you add an account. If you add one, + everything below happens between your device and the server you + nominated, and nowhere else. +

+ +

What is stored on your device

+

+ The server address, your username, and your password or app password. The + password is encrypted with a key held in the Android Keystore, which cannot + be exported from the device. +

+ +

What is transmitted, and to whom

+ +

+ Under Google Play's Data Safety definitions this counts as{' '} + collected — Play defines collection as transmitting data + off the device, regardless of who receives it — and not + shared, because the only recipient is the server you chose. Data is + encrypted in transit. +

+ +

Finding your server

+

+ When you type a server address or an email domain, Agendula follows the + standard discovery procedure (RFC 6764): a DNS lookup for the{' '} + _caldavs._tcp service record of that domain, then{' '} + /.well-known/caldav on the host. The DNS query goes to whichever + resolver your device or network uses, and the requests go to the domain you + typed — no directory of servers is consulted and no lookup is sent to the + developer. +

+ +

Signing in to a Nextcloud

+

+ If the server is a Nextcloud, Agendula uses Nextcloud's Login Flow v2: your + browser opens your own server's login page, you authorise there, + and the server hands the app a dedicated app password. Agendula never sees + your actual account password. The app password appears in your server's + “Devices & sessions” list as Agendula (Android), and you can + revoke it there at any time. Removing the account in Agendula revokes it too, + where the server supports that. +

+ +

Your server's own policy

+

+ Your CalDAV provider has its own privacy policy, and your data on their + server is governed by it. Agendula has no relationship with them. +

+

+ A note on certificates: Agendula trusts private certificate authorities that + you have installed in your device's user store, because self-hosted servers + routinely use them. That is a deliberate trade-off in favour of + self-hosters — any CA installed on your device (for example by an employer's + management profile) can, in principle, intercept traffic from the app, as it + can from other apps that make the same choice. +

+ +

5. Other data Agendula handles on your device

+ +

Reminders and notifications

+

+ Due-date reminders are scheduled by the app itself and displayed as local + notifications. Nothing is sent to a push service — there is no push service. +

+ +

Export files

+

+ You can export your tasks as standard iCalendar .ics files. + Agendula writes exactly the file you select through Android's system file + picker, and has no access to other files. +

+ +

App settings

+

+ Your preferences (theme, language, list and reminder defaults and similar) + are stored locally on your device and are removed when you uninstall the + app. +

+ +

6. Backups

+

+ If Android Auto Backup is enabled on your device, your tasks and settings + may be backed up to your own Google account, under Google's terms — the + developer has no access to it. Two things are deliberately excluded from + that backup: your stored CalDAV password, and Agendula's per-device sync + bookkeeping. After restoring onto a new device you therefore sign in to your + server again. +

+ +

7. Crash reports

+

+ If Agendula crashes, it offers to report the problem. Nothing is sent + automatically, even though the app has network access. The report is copied + to your clipboard and your browser is opened with the project's issue + tracker, the text pre-filled. You see the full content, you decide + whether to submit it, and you can edit or discard it. +

+

Such a report contains:

+ +

+ It is built from that fixed list and nothing else: no task + data, no server address or credentials, no{' '} + account names, no log files and no personal + identifiers. +

+

+ If you choose to submit it, the report becomes a public issue on the + project's issue tracker at Codeberg, operated by Codeberg e. V. + Their privacy policy then applies to that submission. +

+ +

8. External links

+

+ The app links to the source code, the licence, the issue tracker, the + translation platform (Weblate) and a voluntary donation page (Ko-fi). + Following one of these links opens your browser and leaves the app; the + privacy policy of the respective website then applies. Agendula transmits no + data of yours in the process — it only opens the address. +

+ +

9. Permissions and why they exist

+ +

+ Agendula publishes no content provider of its own and declares no + permissions that other apps could request. +

+ +

10. Distribution channels

+

+ Agendula is distributed via F-Droid, Obtainium, a self-hosted repository + and, where applicable, the Google Play Store. When you download or update + the app, the operator of that channel processes data (such as your IP + address) under their own privacy policy. This is outside the developer's + control and unrelated to the app's own behaviour. +

+ +

11. Children

+

+ Agendula is not directed at children and collects nothing about anyone. +

+ +

12. Deleting your data

+ +

+ Data on your CalDAV server is deleted on that server; data in an external + tasks provider is deleted in that app. +

+ +

13. Your rights

+

+ The developer stores no personal data of yours — the only data transfer the + app performs is between your device and a server you operate or chose. There + is therefore no data held by the developer to which rights of access, + rectification, erasure, restriction, data portability or objection + (Art. 15–21 GDPR) could apply. Your tasks are exportable as standard{' '} + .ics files from within the app at any time. You may contact the + address above with any question, and you have the right to lodge a complaint + with a supervisory authority. +

+ +

14. Changes to this policy

+

+ Should the app's functionality change in a way that affects data processing, + this policy will be updated and the date at the top adjusted. The version + history is publicly traceable in the project's source repository. +

+
+