I've got information security as high as possible with my Flutter app so far with encryption and proper storage for data at rest as well as data in transit. With this question I'm only aiming for protecting data at rest.
If I did something like in this "sketch" below:
- Load data from persistent memory (also decrypt)
- Do something with the data immediately (load into list view or something)
- Immediately re-encrypt data in memory with different cryptography than used for persistent storage and re-store encryption keys in secure storage
- Repeat the process if data becomes required again
- Lastly, delete data from memory manually upon page exit or app kill (deleted data would always be encrypted first just in case)
As an FYI my software won't be too much of a resource pig so there shouldn't be a major issue with eating memory or processor time.
Would this be overkill or good practice? Or any other recommendations, help etc?