Privacy Policy
This policy explains what personal data pennivault collects, why, who we share it with, how long we keep it, and your rights. We've kept it in plain English. For the short version, read What we store.
Who we are
pennivault is a personal budgeting app run by Yves Kwameh in Nigeria ("pennivault", "we", "us"). We decide how and why your personal data is used, so we're the data controller under the Nigeria Data Protection Act 2023.
Contact for privacy questions: contact@pennivault.xyz. Write to us here first about anything in this policy, and we'll try to sort it out quickly.
The data we collect
| Category | What it includes | Where it comes from |
|---|---|---|
| Account | First and last name, email address, password (stored as a one-way hash), Google account ID if you sign up with Google | You, or Google if you use Google sign-in |
| Profile and settings | Display currency, notification preferences, and optional photo or phone number | You |
| Budget and transactions | Income sources, expense categories, planned amounts, transactions (amount, date, category, description, reference), and for imported transactions a numeric fingerprint used to spot duplicates | You, or Gmail import |
| Gmail import (optional) | Connected Gmail address, Gmail access tokens, IDs of processed emails, banks detected, import progress, and the text of bank alert emails while they're processed | Gmail, only after you connect it |
| Devices and sessions | The devices you're logged in on and the session tokens that keep you logged in | Your browser or app |
| Messages | Your name, email and message when you contact us | You |
| Technical | Your IP address, saved with each login session and used to stop repeated requests, plus app logs that help us keep the service secure and fix errors | Your browser |
We don't collect bank logins, card numbers, PINs or your BVN.
Why we use it and our lawful basis
| Purpose | Lawful basis (NDPA s.25) |
|---|---|
| Creating and running your account, budget, transactions and reports | Performance of our contract with you |
| Importing bank alerts from Gmail | Your consent, which you give when you connect Gmail and can withdraw at any time |
| Sending verification codes, security notices and replies to your messages | Performance of our contract, and legitimate interest in keeping accounts secure |
| Keeping the service secure and fixing problems | Legitimate interest |
| Website and app analytics (PostHog) | Your consent: the cookie banner on the website, or the Analytics & diagnostics switch in the app. You can change either at any time |
| Meeting legal obligations | Legal obligation |
Gmail import
Gmail import is optional. When you connect it, you give pennivault read-only access to your Gmail through Google. We use it only to find bank alert emails and turn them into transactions in your account.
- How alerts are read. We send the text of each bank alert to an AI model on Amazon Web Services (AWS Bedrock), which pulls out the amount, date, description and direction of the transaction. AWS processes it for us and doesn't use it to train its models.
- What we keep. The resulting transaction, the email's ID, and a numeric fingerprint of the transaction (made by an Amazon model on AWS Bedrock) that lets us spot the same transaction arriving twice. We don't keep the email's content with your transaction. A temporary working copy can stay in our processing system for up to 72 hours, and then it's deleted automatically.
- What we never do. We don't use Gmail data for advertising, sell it, use it to train or improve AI models, use it to assess credit or lending, or let anyone read it except where needed to run the feature, keep it secure, or comply with the law.
- Limited Use. pennivault's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
- Stopping it. You can pause or remove Gmail in Dashboard → Email sync, or revoke access in your Google Account. Removing Gmail stops new imports. Transactions already imported stay in your account until you delete them.
Automated processing
The AI model suggests the amount, date and category for imported transactions. These suggestions only organise your own budget. They don't make decisions that have legal or similarly significant effects on you, and you can change any of them. If we're unsure, the transaction is marked Needs attention for you to check. You can also object to this processing by pausing or removing Gmail, or ask us to look at an imported transaction.
International transfers
Your data is stored and processed outside Nigeria. Your account and budget data is stored in South Africa (MongoDB Atlas). It's processed in the United States (AWS, Resend) and, for analytics you accept, in the European Union (PostHog). The Nigeria Data Protection Commission hasn't made an adequacy decision for these countries, and their laws may protect your data differently from Nigerian law, including how authorities there can ask for it.
We transfer it because we can't run pennivault without these providers, so the transfer is needed to perform our contract with you, and because you agree to it when you create your account. Each provider is bound by a contract to use your data only to run pennivault for us and to keep it secure.
How we protect it
- Data travels over encrypted connections (HTTPS).
- Transaction descriptions and references, and Gmail access tokens, are encrypted with AES-256 before they're stored.
- Passwords are stored as one-way hashes.
- Each account can only reach its own data. Our servers check this on every request.
- The whole database is encrypted at rest by our host, MongoDB Atlas.
No system is perfectly secure. If a breach is likely to put your rights at risk, we'll tell the NDPC within 72 hours, and if the risk to you is high, we'll tell you straight away with what happened and what you can do.
How long we keep it
| Data | How long |
|---|---|
| Account, budget and transaction data | While your account is open |
| After you delete your account | Deleted straight away: your account, budget, transactions, Gmail connection and any messages you sent us from that email address. Only security logs stay, for the time below. |
| Bank alert working copies | Up to 72 hours |
| Gmail tokens | Until you delete your account. Removing Gmail stops new imports, but the tokens are only deleted with your account. |
| Messages to us | 2 years, or until you delete your account |
| Security logs | 1 year |
Your rights
Under the NDPA you have the right to:
- be told how your data is used (this policy)
- get a copy of your personal data
- correct data that's wrong
- have your data deleted
- restrict or object to some processing
- not be subject to decisions based only on automated processing that significantly affect you
- receive your data in a structured, machine-readable format
- withdraw consent at any time, as easily as you gave it, for example by removing Gmail, without affecting what happened before
To use any of these rights, contact us or email contact@pennivault.xyz. We'll reply within 30 days.
Complaints
If you're unhappy with how we've handled your data, contact us first and we'll try to fix it.
Cookies
pennivault uses cookies and similar browser storage to keep you logged in and remember your theme. These are needed for the service to work, so they don't need consent.
We also use analytics cookies from PostHog, but only if you accept them in the cookie banner on your first visit. PostHog records pages visited and buttons clicked so we can improve pennivault. It never records amounts, transactions, email content or what you type into forms. You can accept or reject them, and change your choice any time from the Cookie settings link in the footer.
In the app, analytics is off until you turn on Settings → Data & privacy → Analytics & diagnostics. It then records which features you use, for example that a budget was created or a report was opened. It never records amounts, transactions, email content or what you type, and your email address isn't sent to PostHog. Turn the switch off to stop it.
Children
pennivault isn't meant for anyone under 16. If you're 16 or 17, you need a parent's or guardian's permission to use it, and you confirm that you have it when you create your account. We don't verify ages. If we learn that an account belongs to someone under 16, or to someone under 18 without that permission, we'll close it and delete its data.
Changes to this policy
When we make important changes, we'll update the date at the top and tell you by email or in the app before they take effect.