Honest Software

A set of principles for building software that respects people. Inspired by the Dogma 95 film movement — which stripped cinema down to its bare essentials — these rules strip software down to what it should have always been: useful, transparent, and free. No exceptions. No compromises.


  1. 1No data collection
    The application must not collect, store, or transmit personal data. No accounts, no cookies, no analytics, no tracking — not even anonymized. If the software doesn't need to know who you are, it won't ask.
  2. 2Minimal permissions
    The software must request only the permissions it cannot function without. No "just in case", no silent grabs. If you can't justify a permission in one sentence, you don't get it.
  3. 3No dark patterns
    The interface must not manipulate. No hidden unsubscribe flows, no pre-checked boxes, no fake urgency, no guilt-tripping, no deceptive defaults. The UI must respect the user's attention and intelligence.
  4. 4System theme only
    The application may support dark and light themes, but must not include a theme toggle. Use the system preference — nothing else. If a user wants to override your theme specifically, that's a signal your theme is broken, not a feature request.
  5. 5Free forever
    The software must be free. No subscriptions, no paid tiers, no in-app purchases, no "pro" versions. If you're thinking about monetization, you're thinking about the wrong thing.
  6. 6Open source
    All code must be open source and released under the MIT license — including the server-side. No proprietary backends, no hidden logic. If you can't read it, it shouldn't exist.
  7. 7Self-hostable
    The software must be self-hostable by design. Any person with basic technical knowledge should be able to run it on their own infrastructure. No mandatory cloud, no vendor lock-in.
  8. 8Data ownership
    If the software manages data on behalf of the user, that data must be fully exportable and importable at any time. The user owns their data — not the software, not the developer. If the project dies, the data survives.

Badge for your README
click to copy