Prepare for F-Droid publication. F-Droid requires a fully FOSS build with no proprietary
dependencies/services and declares "anti-features" for things like network telemetry and
non-free network services. This is treated as a hard constraint across the backlog.
Scope (checklist)
Audit dependencies for FOSS licenses; remove/replace any proprietary libs; ensure the
build is reproducible from source with no non-free Gradle plugins.
Anti-feature review of app behaviors:
Bug-report pipeline (#10/#11): strictly opt-in and user-initiated, documented — confirm
it doesn't trip "Tracking"/"NonFreeNet"; declare if unavoidable.
Google Backup (#21): off by default / opt-in; declare if needed.
Outlook OAuth uses a bundled client id against a proprietary service — document; Gmail is
app-password IMAP after #9 (no proprietary SDK).
Provide F-Droid metadata (fastlane/metadata), a build recipe, and confirm no
Google/Firebase dependencies.
Ensure the app builds without any secrets.properties-gated proprietary keys.
Acceptance criteria
A clean-room build yields an installable APK with a documented anti-feature list (ideally
none, or opt-in only).
Dependencies
Constrains #10/#11/#21 (F-Droid-safe decision). Relates to #20 (README data-flow docs).
## Context
Prepare for F-Droid publication. F-Droid requires a fully FOSS build with no proprietary
dependencies/services and declares "anti-features" for things like network telemetry and
non-free network services. This is treated as a **hard constraint** across the backlog.
## Scope (checklist)
- [ ] Audit dependencies for FOSS licenses; remove/replace any proprietary libs; ensure the
build is reproducible from source with no non-free Gradle plugins.
- [ ] Anti-feature review of app behaviors:
- Bug-report pipeline (#10/#11): strictly opt-in and user-initiated, documented — confirm
it doesn't trip "Tracking"/"NonFreeNet"; declare if unavoidable.
- Google Backup (#21): off by default / opt-in; declare if needed.
- Outlook OAuth uses a bundled client id against a proprietary service — document; Gmail is
app-password IMAP after #9 (no proprietary SDK).
- [ ] Provide F-Droid metadata (fastlane/metadata), a build recipe, and confirm no
Google/Firebase dependencies.
- [ ] Ensure the app builds without any `secrets.properties`-gated proprietary keys.
## Acceptance criteria
- A clean-room build yields an installable APK with a documented anti-feature list (ideally
none, or opt-in only).
## Dependencies
Constrains #10/#11/#21 (F-Droid-safe decision). Relates to #20 (README data-flow docs).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Context
Prepare for F-Droid publication. F-Droid requires a fully FOSS build with no proprietary
dependencies/services and declares "anti-features" for things like network telemetry and
non-free network services. This is treated as a hard constraint across the backlog.
Scope (checklist)
build is reproducible from source with no non-free Gradle plugins.
it doesn't trip "Tracking"/"NonFreeNet"; declare if unavoidable.
app-password IMAP after #9 (no proprietary SDK).
Google/Firebase dependencies.
secrets.properties-gated proprietary keys.Acceptance criteria
none, or opt-in only).
Dependencies
Constrains #10/#11/#21 (F-Droid-safe decision). Relates to #20 (README data-flow docs).