Privacy Policy
Last updated:
This page says exactly what spendx stores about you, who else sees it, where it lives, how long it survives, and how to exercise your rights. It describes the app as it is today; when a feature that touches your data ships, this page changes on the same day and the date above moves.
Who is responsible
spendx is operated by Nguyen An Nguyen, an individual based in Vietnam. For anything about your personal data, write to support@spendxapp.com and a person will reply.
Personal data is handled under Vietnam's Decree 13/2023/ND-CP on personal data protection. spendx is built for people in Vietnam and does not run a GDPR or CCPA compliance program; the rights listed below are available to every User wherever they are.
What spendx stores about you
Everything below is created by you using the app. spendx has no analytics, no advertising identifiers, no crash reporting, and never reads your contacts, location, photos, or files.
Your account
- your email address, and whether you have proved control of it (Email Verification);
- your Username and Display Name;
- a password hash if you set a password. The password itself is never stored and cannot be recovered from the hash;
- if you use Sign in with Google or Sign in with Apple, a Linked Identity: the stable account identifier (the "subject") that lets Google or Apple vouch for you next time. No Google access token or refresh token is stored. For Apple, spendx keeps the one refresh token Apple issues at sign-in, for a single purpose: Apple requires that the app revoke your Sign in with Apple grant when you delete your account, and that call needs the token. It is never used for anything else and goes with your account;
- your Locale (English or Vietnamese) and your Preferred Currency;
- when the account was created, when it last changed, and when its credentials last changed.
What you log
- every Expense: its description, its Original Amount (the amount and currency exactly as entered), Category, Expense Date, when it was logged, and its Visibility (Private, Friend-only, or Public);
- each Expense's Conversion Snapshot: the amount expressed in every Supported Currency at the exchange rate of the day it was logged, frozen at that moment;
- every Like you give;
- every Report you file about another User's Expense: which Expense, the reason you chose, and any detail you typed. A Report stays after it has been reviewed, whatever the outcome.
Who you are connected to
- your Friendships, pending Friend Requests sent and received, and Blocks you have made.
Short-lived security data
- One-Time Codes, the 6-digit codes emailed to you for Email Verification and Password Reset, stored only as a hash. Each is deleted when used, replaced by any newer code for the same purpose, and expires on its own (15 minutes for a Password Reset, 24 hours for Email Verification).
- your IP address, seen by the server on every request. It is held in memory for up to one minute to limit how many requests one address may make, and it may appear in server logs. Logs are capped at 30 MB per service (three files of 10 MB) and overwrite themselves from the oldest entry; nothing is exported from them.
Only on your device
- your sign-in token, your Appearance setting, and the Daily Reminder. The Daily Reminder is a notification the app schedules and shows on the device itself. It sends nothing to spendx or to anyone else, and whether it is on and at what time is stored only on that device.
Who else sees it
Visibility is your control. Every Expense carries a Visibility you choose when you log it and can change at any time:
- Private: only you.
- Friend-only: you. Its amount and Category are counted into the Shareable Spend your Friends see on the Leaderboard; the Expense itself, its description, location, image, date, and Likes, is never shown to anyone else.
- Public: every signed-in User, on the Feed, except anyone you have blocked or who has blocked you.
Whoever can see an Expense can also see its Likes, and can Like it. Friends see your Shareable Spend on the Leaderboard, the sum of your Friend-only and Public Expenses, as a total and as a breakdown by Category; your Private Expenses are never counted into anything anyone else sees.
Your Username and Display Name are shown wherever you appear to other Users: on your Expenses, your Likes, Friend Requests, and the Leaderboard. Anyone who knows your exact Username can find you. Your email address is never shown to other Users. Blocking someone is not announced to them.
Moderation. When an Expense is Reported, an admin reviews it by hand. The admin sees that Expense in full whatever its Visibility, its image if it has one, the Reports on it, and the account fields of both its author and each reporter: Username, Display Name, email address, whether the email is verified, and how the account signs in. An admin never sees an unreported Private Expense. The outcome is one of: nothing, the Expense is hidden (only you and admins can still see it, and your Visibility setting is kept), or the account is banned (sign-in is refused and everything the account posted is invisible to other Users, deleted nothing). You are told in the app when your Expense is hidden or your account is banned. Separately from Reports, spendx keeps a list of offensive words and phrases in English and Vietnamese. An Expense whose description or location contains one is shown only to you, for as long as it does; nobody is notified, no admin is involved, and your Visibility setting is kept. The Terms say what the rules are; this page only says who sees what.
spendx does not sell personal data, does not share it with advertisers, and does not use it for anything other than running the service.
Where it lives
Your data is stored in Vietnam, on a server rented from Nhân Hòa. Four providers outside Vietnam handle a narrow slice of it, each for one purpose only:
- Cloudflare R2 (Cloudflare, Inc., United States) holds nightly backups of the database, encrypted at rest, for up to 30 days. Backups exist for disaster recovery of the whole service only. They are never used to restore an individual account, nor to bring back anything a User deleted. Cloudflare also serves this website, described below.
- Resend (Resend, Inc., United States) delivers email on spendx's behalf. It receives your email address and the content of the message, which is always one of the two emails listed in the next section.
- Google (Google LLC, United States) is involved only if you use Sign in with Google. Google tells spendx your Google account identifier, your email address, whether Google has verified that address, and your name, which the app offers as your Display Name when you first sign up. spendx keeps the identifier and the account fields you confirm, and no Google token. What Google does with your sign-in is governed by Google's own privacy policy.
- Apple (Apple Inc., United States) is involved only if you use Sign in with Apple. Apple tells spendx your Apple account identifier, your email address or the private relay address you chose instead, and, on your first sign-in only, your name, which the app offers as your Display Name. spendx keeps the identifier, the account fields you confirm, and the refresh token described above, and asks Apple to revoke your grant when you delete your account. What Apple does with your sign-in is governed by Apple's own privacy policy.
Daily exchange rates come from a public dataset and involve no personal data. Nothing else about your account leaves Vietnam.
Emails spendx sends
spendx sends exactly two kinds of email, both only when you ask for them in the app:
- an Email Verification code, when you sign up (unless Google or Apple has already vouched for your address) or when you ask to verify your address from the Profile tab;
- a Password Reset code, when you tap "Forgot password?".
There is no newsletter, no marketing email, and no notification email. If you ever receive anything else claiming to be from spendx, it is not from us.
How long it survives
- Your account and everything in it: for as long as the account exists.
- Reports: for as long as both the reporter's account and the reported Expense exist.
- A record of each moderation decision, which admin took it, what it was, and when: permanently. It refers to your account or Expense only by an internal identifier, never by name, email, or content, so it holds nothing about you once your account is gone.
- One-Time Codes: until used, replaced, or expired, whichever comes first.
- IP addresses: in memory for up to one minute; in server logs until the cap described above rolls them off.
- Backups: up to 30 days after the night they were taken.
Deleting your account
Account Deletion is immediate and irreversible. It removes your account, every Expense you logged whatever its Visibility, every Like you gave and received, your Friendships, Friend Requests, Blocks, Linked Identities, and One-Time Codes. Reports you filed and Reports on your Expenses go with them. There is no grace period, and a later sign-up with the same email, Google account, or Apple account is a new account with no link to the old one. If you signed in with Apple, spendx asks Apple to revoke that grant before the account is removed; if Apple cannot be reached at that moment, the deletion is refused and you can try again. The one caveat is backups: a backup, encrypted at rest, may hold a copy for up to 30 days after deletion, after which no copy remains.
You can delete your account yourself with Delete account in the Profile tab, or by email if you no longer have the app. The Account Deletion page has both procedures.
Your rights
Under Decree 13/2023/ND-CP you have the right to know what spendx holds about you and to control it. In practice:
- Access. Everything spendx stores about you is visible in the app: the Profile tab shows your account fields and your blocked accounts, the Expenses tab shows every Expense with its Visibility, and the Leaderboard shows your Friends. Email us for a copy of your data in a readable format.
- Correction. Change your Locale and Preferred Currency in the Profile tab. Edit an Expense's description, Category, Expense Date, and Visibility from the Expense itself. The Original Amount is fixed by design; to correct it, delete the Expense and log it again. Username and Display Name cannot yet be changed in the app; email us and we will correct them by hand.
- Deletion. Delete any Expense at any time, or the whole account as described above.
- Withdrawal of consent. Using spendx is the only consent it relies on. Withdraw it by deleting your account; there is nothing to opt out of separately, because there is no marketing and no optional data collection.
- Complaint. Write to support@spendxapp.com first; we answer every request. You also have the right to complain to the competent Vietnamese authority for personal data protection.
To act on a request we need to know it comes from you. Requests sent from the email address on your account, naming your Username, are enough. We cannot act on a request about an account from an address that is not the account's own.
Children
spendx is not for anyone under 16. We do not knowingly hold an account for a child; if you believe one exists, email us and it will be deleted.
This website
spendxapp.com is a static site served by Cloudflare Pages (Cloudflare, Inc., United States), separately from the app's server in Vietnam. It sets no cookies, runs no scripts, and loads nothing from any other origin. Like any web host, Cloudflare sees the requests it serves and keeps its own operational logs under its own privacy policy; spendx adds no tracking of its own and receives nothing about your visit.
Changes
When this policy changes, the date at the top changes with it. Nothing new is collected, and nobody new gets to see your data, before this page says so.