~/SaffronList/privacy.md
user@SaffronList:~$ cat privacy.md

# SaffronList — Privacy

updated:2026-07-21 scope:on-device only tldr:SaffronList collects nothing, transmits nothing, and contains no network code — everything you make stays on your device. contact:[email protected]

// SaffronList is a colour-palette generator: you drag a harmony wheel, lock the shades you want to keep, shuffle the rest, and save palettes to a library that lives entirely on your device.

[01] Information collected // inputs

None. SaffronList never asks for your name, email address, phone number, or any other identifying information. The display name you can set on the Profile screen is stored only on your device and is never sent anywhere — it exists purely so the app has something to call you. No device identifier, advertising ID, or any other identifier of any kind is used.

[02] Local storage // on-device

Written to a Hive database in the app's private sandbox and never uploaded:

  • Palettes you save — their five colours, names, mood, harmony rule, star status, and creation date.
  • Collections you create — their names and which palettes belong to them.
  • Profile — the display name and avatar mark you pick.
  • Counters — how many palettes you have generated, copied out, and shuffled with locked swatches, driving the stats and merits on the Profile screen.
  • Preferences — your settings (uppercase hex, shade names, degree ticks, reduced motion, default export format) and whether you have completed onboarding.

The 24 starter palettes shipped with the app are seeded into this same local storage on first launch. Uninstalling the app deletes every byte.

[03] Permissions // runtime

SaffronList requests no runtime permissions at all. The released Android app declares no permissions in its manifest, and the iOS app declares no permission usage descriptions. There is no camera, location, microphone, contacts, photo, or notification access, because the app needs none of them.

[04] Network // egress

SaffronList is fully offline. It contains no networking code and no networking libraries. It does not call any server, API, or cloud service, and it cannot — there is nothing in the app that opens a connection. It works identically in airplane mode. The Share and Copy actions simply hand text to your device's own share sheet or system clipboard; SaffronList does not see, store, or transmit anything through that flow.

[05] Third parties // vendors

None are integrated. SaffronList contains no analytics, no crash reporting, no advertising, no attribution, no tracking, and no remote configuration. It uses only open-source Flutter packages for on-device work such as local storage, charting, and typography — none of which contact any service.

[06] Children // coppa/gdpr-k

SaffronList is safe for users of any age. Because the app collects nothing, transmits nothing, and contains no advertising, user-generated content shared off-device, or social features, there is no personal data to protect and nothing that could be exposed. It is compliant with COPPA and GDPR-K by construction rather than by policy.

[07] Your rights // you

Your data never leaves your device, so there is nothing for us to access, correct, export, or delete on your behalf — and no way for us to do so even if asked. You stay in full control: delete an individual palette from its detail screen, delete a collection from the Collections sheet, or uninstall SaffronList to remove the app's local storage and every palette, collection, preference, and counter with it, permanently.

[08] Changes // changelog

If this policy changes, the updated field at the top of this page will be revised. Because the app has no network access, any policy change arrives with a new version of the app.