Privacy Policy
SpendWise ("we", "us", "the app") is an expense-tracking and bill-splitting app built for individual users in India. This policy explains what we collect, why, where it lives, and what you can do about it. We aim for plain language; if anything is unclear, email support@highserpent.com and we'll clarify.
1. Who we are
SpendWise is operated by Sahil Gakhar under the highserpent umbrella. Server infrastructure: Hostinger VPS, region India. Backend: Node.js + PostgreSQL. There is no third-party analytics SDK, no ad network, no tracking pixel.
2. What we collect, and why
2.1 Account data
- Phone number — used to sign you in via OTP. We store it hashed-and-salted server-side. The OTP itself is delivered through Twilio (their privacy policy: twilio.com/legal/privacy).
- Display name — shown to friends you split bills with.
2.2 Contacts (on-device)
If you grant the Contacts permission, SpendWise reads your phone book locally to match contact names to phone numbers and show you "you owe Priya ₹250" instead of "you owe +91-98XXX-XXXXX". The full contact list does not leave your device. Only the phone numbers you actively split a bill with get sent to our backend (so the friend on the other side can see the same balance).
2.3 Expenses you create
The amount, merchant name, category, date, and any note you write — stored on our server so you can access them across devices. If you split with a friend, those rows are visible to both of you.
2.4 Notifications (only if you opt in)
SpendWise can read transaction notifications from a small whitelist of ride-hailing apps (Uber, Rapido, Ola) to auto-create expenses. This requires you to explicitly enable Notification Access in Android settings — there is no silent collection. The text of the notification is parsed on-device; only the extracted amount, merchant, and timestamp are saved as an expense entry. We do not read messaging-app, banking, or personal notifications.
2.5 Bluetooth (only on supported devices)
Used to find friends in person and exchange contact info during a split. No location data is derived; we use Android's neverForLocation flag.
2.6 What we do not collect
- SMS messages (the Play Store version of the app does not request SMS permission)
- Location
- Camera, microphone, photos
- Browsing or app-usage history
- Advertising identifiers
- Biometric data
3. Where your data is stored
All server-side data lives on a Hostinger VPS located in India (region: Mumbai). Connections between the app and our server are encrypted with TLS 1.2+ via Let's Encrypt certificates. The PostgreSQL database is not exposed to the public internet — only the API process can reach it.
4. How long we keep your data
- Account + expense data: as long as your account exists.
- OTP codes: 10 minutes, then deleted.
- Server logs (with your phone number redacted): 30 days.
- Backups: 7 days, encrypted at rest.
5. Your rights
You can:
- Access your data — visible in the app at all times.
- Correct any expense by editing or deleting it.
- Delete your account — Settings → Profile → Delete Account. We wipe your user record, expenses, splits, and balances within 24 hours. Group expenses you created remain visible to other group members but with your name replaced by "Deleted user".
- Export your data — email support@highserpent.com from the registered phone's email address; we'll send a JSON dump within 7 days.
- Withdraw consent for any optional permission (notifications, contacts, Bluetooth) from your phone's settings.
6. Sharing with third parties
We do not sell, rent, or trade your personal data. We share data only in two narrow cases:
- Twilio — receives your phone number to deliver the OTP. They process it under their privacy policy; we do not authorise them to use it for anything else.
- Friends you split with — when you add a friend by phone number to a split, that friend (if they're also on SpendWise) sees the expense's amount, your name, and the date. They do not see your other expenses.
If we are ever legally compelled to disclose data (Indian court order, etc.), we will. We will notify the affected user unless legally barred from doing so.
7. Security
JWT-based auth, refresh-token rotation, TLS in transit, hashed credentials at rest, no public DB exposure. Server access is restricted to the operator's SSH key. We are a small team and we treat security as a primary concern, not an afterthought.
8. Children
SpendWise is not designed for or marketed to children under 18. We do not knowingly collect data from minors. If you believe a minor has registered, email us and we'll delete the account.
9. Changes to this policy
If we change this policy, we will update the "Effective" date above and notify users via the app on their next launch. Material changes (new data categories, new sharing) will require explicit re-consent.
10. Contact
Privacy questions, deletion requests, data exports — write to support@highserpent.com. We aim to respond within 7 working days.