Skip to content

h3xduck/Greta

Repository files navigation

Maintainability GitHub code size in bytes GitHub last commit

Greta

Greta is a lightweight yet powerful notes application built for Android which supports encryption and with a focus on security. It is completely free as in freedom, free of charge, and free of trackers or ads, forever.


Features (so far)

  • Notes are stored only locally, the app does not access the Internet at any time.
  • Material Design UI, dark mode by default. Simple but intuitive menus.
  • Create/View/Modify/Delete functionalities are clear and represented by icons, long-clicking on a note displays a larger menu.
  • Easy and secure encryption and decryption of notes:
    • Different passwords for each note.
    • After editing a previously encrypted note, it is re-encrypted automatically.
    • Encryption keys are securely generated from users' passwords:
      • Passwords or keys are never stored in your phone, either temporarily or permanently.
      • A different salt is generated for each encrypted note.
    • Notes can be encrypted/decrypted from the main screen by clicking on meaningful icons.
    • Technical details about encryption:
      • AES-128 bit keys.
      • CBC encryption mode, PKCS5 padding.
      • HMAC for integrity checking, hash function used is SHA256.
  • Notes can be marked as favourite, highlighted in color.
  • Export and Import of notes is supported:
    • Notes (encrypted or not) and preferences (favourites) can be easily exported into a JSON file.
    • Notes can be imported by selecting the corresponding JSON file. Warning: Currently overwrites the previous notes if any.
  • Notes can be ordered on screen according to different methods:
    • By date, descending.
    • By date, ascending.
    • Favourites first, then by date descending.
    • Favourites last, then by date ascending.
  • Includes Settings menu for easy access to different app options.
  • Licenses for third party libraries are clearly shown in About menu.

TODO

The full Kanban board will be publicly released once I clean it up. As a summary, Greta still needs to:

  • Refactoring is needed. Some fragments have too many responsibilities.
  • Include more bugs functionalities, similarly to other notes apps:
    • Support tags for notes, and filtering by tag.
    • Include a deleted/archived notes menu.
    • Support notes with different colors.
    • Etc...
  • Unit tests / espresso tests needed.

Disclaimer

Greta has been created as a side project with the purpose of practicing my Android, Databases and Cryptography skills, and of course for fun. I am still (self-)learning Android development, so please bear in mind that optimality and good design models are conspicuous by their absence.

Note that, although it has been released to the public and I am actively maintaining it, this app is of personal use and offered AS-IS I am not responsible for harm of any nature derived from its use.

In the future, Greta will be integrated into a larger, more ambitious project which I will eventually release as well.


License

This project is released under the GPL v3 license. See LICENSE.

About

Encrypted notes android application

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages