Effective Date: April 21, 2026
PennyHelm ("we," "us," or "our") is a personal finance management application. We take your privacy seriously and are committed to protecting the personal and financial information you entrust to us. This Privacy Policy explains what data we collect, how we use it, how we store and protect it, and your rights regarding your information.
All financial data is entered voluntarily by you. This may include:
If you choose to connect a bank account, we use Plaid Inc. to securely retrieve:
We do not access or store your bank login credentials. Plaid handles authentication directly with your financial institution. We do not currently import or store transaction history.
Plaid's access tokens (used to refresh your balances) are stored securely on our servers and are never exposed to your browser or device. For more information, see Plaid's End User Privacy Policy.
If you enable bill reminders on the mobile app, we store your preferences:
Notifications are scheduled locally on your device. We do not use push notification servers or send notifications from our servers.
The mobile app collects limited usage telemetry to help us identify bugs and improve the experience:
Telemetry data is associated with your user ID for debugging purposes, is accessible only to administrators, and is automatically deleted after 30 days. No financial data is included in telemetry events.
When you arrive at a PennyHelm marketing landing page — currently just pennyhelm.com/switch, used for paid ads on platforms like Reddit — we record a small amount of information so we can measure which ads are working and which aren't. This tracking runs only on those landing pages, never inside the app itself.
What we record on a landing-page visit:
localStorage. This is a random identifier we generate — it is not linked to your name, email, or any account. Its only purpose is to let us tell whether the person who clicked the "Start Free Trial" button is the same person who saw the page five minutes earlierutm_source, utm_medium, utm_campaign, utm_content, utm_term) from the URL, if present. These tell us which ad platform and creative brought you heredocument.referrer), if your browser sends one/switch)We do not use Meta Pixel, Google Tag Manager, or any off-platform behavioral-tracking script on landing pages or inside the app. The one exception is a single Google Ads conversion tag that fires only on the sign-up event itself (see §1.9 below) — we use it to count completed signups, not to profile visitors. The attribution data listed above is sent to PennyHelm servers only and never shared with the ad platform beyond the conversion count the platform requires.
Records are stored in a protected Firestore collection readable only by PennyHelm administrators and automatically deleted after 90 days. You can clear the anonymous visitor ID at any time by clearing your browser's site data for pennyhelm.com.
To understand how many people actually use PennyHelm — e.g. daily and monthly active user counts — we record, once per calendar day per user, a small activity marker containing:
2026-04-20)No page, action, bill, balance, or financial detail is recorded — the marker only says "this user opened the app today." Markers are stored in a protected Firestore collection readable only by administrators and automatically deleted after 90 days. They are used solely to compute aggregate active-user counts and are never shared externally.
When you successfully create a PennyHelm account via pennyhelm.com/login, we fire a single Google Ads conversion event so that when we run paid ads on Google, we can measure how many of those ad clicks resulted in a completed signup. This is used only to count signups, never to show you ads or build a profile about you.
What gets sent on a single conversion ping:
pennyhelm.comgclid), if you arrived from a Google Ads clickWe do not send your email address, name, user ID, or any financial data to Google. The tag loads only on the login page, never inside the app, and never on any page where you are viewing bills, balances, or transactions.
EEA / UK / Switzerland visitors (Consent Mode v2): we implement
Google Consent Mode v2 in advanced mode.
All consent categories (ad_storage, ad_user_data, ad_personalization,
analytics_storage) default to denied until you click "Accept" on the cookie
banner shown on /switch. If you decline or never choose, the conversion ping still fires but is
sent in cookieless mode — no identifiers are stored in your browser and Google can only use the
aggregate signal for statistical modeling. Your choice is remembered in your browser's
localStorage under the key pennyhelm-consent; you can change it any time by
clearing site data for pennyhelm.com.
Non-EEA visitors: the conversion tag runs with consent granted by default, consistent with US/other jurisdictions where prior opt-in is not legally required. You can still block the tag by installing any standard ad blocker.
Self-hosted installations: the Google Ads tag is not loaded in self-hosted builds. If you run PennyHelm on your own server, nothing about your signup is ever sent to Google.
We use your information solely to provide and improve the PennyHelm service:
You can invite others (a partner, financial planner, or CPA) to access your financial data. When you send an invite:
We never share your data with anyone you have not explicitly invited.
| Service | Purpose | Data Shared |
|---|---|---|
| Firebase (Google Cloud) | Authentication, data storage, cloud functions | Email, display name, encrypted financial data |
| Plaid | Bank account linking and balance retrieval | Bank credentials (handled by Plaid, not PennyHelm) |
| SMTP Email Provider | Sending invite and account setup emails | Recipient email address, email content |
| Google Ads (cloud hosting only) | Counting completed signups from paid ad clicks — see §1.9 | A single conversion ping at signup time (no email, name, or user ID). Cookieless in EEA/UK/CH unless consent is granted. |
We do not sell, rent, or trade your personal information to any third party.
You have full control over your data:
PennyHelm is not intended for use by anyone under the age of 18. We do not knowingly collect personal information from children. If we become aware that we have collected data from a child under 18, we will take steps to delete it promptly.
We may update this Privacy Policy from time to time. If we make material changes, we will notify you by updating the effective date at the top of this page. We encourage you to review this policy periodically.
If you have questions about this Privacy Policy or your data, please contact us: