Security
Praana is a small app handling data people would rather not lose control of. These are the specific decisions behind that, not a statement of intent.
Keys
No secrets ship inside the app
An API key compiled into a mobile app is not hidden. On Android it is a constant in the DEX file; on iOS it is a string in the binary. Either takes minutes to pull out with free tools.
So Praana's AI key does not live in the app at all. Calls go to a Cloudflare Worker, the Worker holds the key and talks to the provider, and the app never sees it. The files that hold local credentials are excluded from version control and stay that way.
Clients
The backend checks who is calling
Firebase App Check runs on both platforms: App Attest on iOS, Play Integrity on Android. The server can tell a request from a real, unmodified build of Praana from a script pointed at the same endpoint.
Without it, a public endpoint is a public endpoint, and the first thing that finds it is a bot spending your AI budget.
Rules
Database rules live in files
Firestore security rules are kept in the repository and deployed from there, not edited in a web console. A rule changed in a console is a rule nobody can review and nobody can roll back.
On the device
What the phone protects
- Health data sits in Apple Health or Health Connect, under the operating system's encryption and your passcode.
- The journal can be locked behind Face ID, Touch ID or your fingerprint.
- Praana asks only for the health permissions it uses. Five Health Connect permissions were removed after an audit found nothing was reading them.
Accounts
Sign-in and deletion
Sign-in is handled by Firebase Authentication, including Sign in with Apple and Google. Praana never sees or stores your password for those.
Account deletion runs server-side and purges the stored collections rather than flagging a row as inactive.
Honest limits
What is not claimed
- Praana has not been through a third-party penetration test or a formal audit.
- It is not HIPAA-certified, and is not intended for use by covered entities.
- It is one developer's work, reviewed carefully but not by a security team.
Reporting
If you find something
Email it. Include enough detail to reproduce the issue, and please do not test against other people's accounts or publish before there has been a chance to fix it. You will get an acknowledgement within two working days.
Report a vulnerability to support@orinthia.app with “security” in the subject. For what is stored and where, see Your data.