Skip to content
Twin Leaf

Twin Leaf by Angel Gate Solutions

Privacy Policy

Effective Date: October 17, 2026
Last updated: October 17, 2026

This Privacy Policy explains what Twin Leaf collects, what it can and cannot see, and your rights. It is part of our Terms of Service. It describes the Service as it actually works today; where something is planned but not offered, we say so.

The short version

This summary is for convenience only. The full text below is what governs.

1. Introduction & Scope

This Privacy Policy describes how Angel Gate Solutions, LLC ("we," "us") collects, uses, shares, and protects personal information in connection with Twin Leaf, our personal budgeting web application at twinleaf-app.web.app (the "Service"). It applies to people who sign in to or use the Service, visitors to its public pages, and anyone who contacts us about it.

It is incorporated into our Terms of Service. Our Cookie & Local Storage Notice, Security & Data Protection page, and Account & Data Deletion page give more detail and form part of this Policy. Other Angel Gate Solutions products have their own policies.

2. Who Is Responsible

Angel Gate Solutions, LLC

Product: Twin Leaf (twinleaf-app.web.app)

State of formation: Florida

Address: Available on request via support@angelgatesolutions.com

Email: support@angelgatesolutions.com

Used for: support, privacy and data requests, legal notices, arbitration opt-outs, copyright (DMCA) notices, and security reports. For a security report, use the subject "Twin Leaf Security Report".

For people in the European Economic Area, Switzerland, or the United Kingdom, Angel Gate Solutions, LLC is the controller of the personal data described here. We have not appointed an EU or UK representative because the Service is directed to people in the United States; you may contact us directly.

3. What We Can and Cannot See

When you set up Twin Leaf, your browser creates a random data key and uses it to encrypt everything you add — transactions, accounts, balances, bills, budgets, goals, rules, notes, paycheck details, holdings, and settings — on your device, before it is stored. The data key is stored only in wrapped (encrypted) form that opens with your passcode (which also needs a counted answer from our key service for every guess) or with your recovery code. We do not receive your passcode, your recovery code, or your data key.

InformationWho can see it
The contents of your financial dataYou, on your device, after unlocking. We and Google store it encrypted and do not see its contents in the ordinary course (see the limits below).
Your passcode and recovery codeYou. They are not sent to us. (If you use the recovery code's Copy or Download button, the copy is wherever you put it.)
Statement and export files you importYou. Files are read on your device and are not uploaded.
Emails you let Twin Leaf read (Gmail; only if you connect it, Section 9D)You, on your device. Your browser reads them directly from Google with a short-lived, read-only permission. They are not sent to us and we do not see them. Google holds your mailbox under its own terms.
Sign-in details (name, email or Apple relay address, profile photo link, provider and Firebase identifiers, account creation, last sign-in and last token-refresh times)Angel Gate Solutions and Google (Firebase Authentication), and Apple or Google as your sign-in provider.
Facts about your encrypted data (Section 4, "Encrypted-data metadata")Angel Gate Solutions and Google.
Key-service logs (Section 13)Angel Gate Solutions.
Support tickets and feature requests you file in the app (Section 4)Angel Gate Solutions.
Transactions you choose to share with Help improve Twin Leaf (off by default; Section 9A)Angel Gate Solutions' developers, de-identified and filed under a random number, not your account.

Limits of this protection

  • Your PIN. New accounts are opened with a six-digit PIN. Every guess at it has to go through our key service, which allows about 30 wrong tries before it stops answering until your recovery code is used, so someone with a copy of the database or a stolen session gets 30 guesses out of a million. But we hold both the key service's secret and administrative access to the database that stores the wrapped keys, and with both, every six-digit PIN could be tried offline in hours. We do not do this, and we restrict and protect both secrets, but it is technically possible for us, for an attacker who compromised both, or for someone who lawfully compelled us. A passcode you set before October 5, 2026 keeps working; a long one (12+ random characters including letters) makes this impractical.
  • Your signed-in session. Someone who takes over your signed-in Google or Apple session, or who copies the database, gets only about 30 counted guesses at your passcode from our key service before it stops answering.
  • Code delivery. Twin Leaf is a web app; the encryption code is downloaded from our hosting each time you open it. Altered code could capture your passcode or data when you unlock.
  • Optional AI chat. If you use Coach Plus, a question sends decrypted information about your own numbers (Section 9).
  • Optional data sharing. If you turn on Help improve Twin Leaf, your device sends de-identified transactions to our server (Section 9A).

The Security & Data Protection page explains these limits and what we do about them. We do not use the contents of your financial data for advertising, analytics, profiling, or model training, and we have no process to recover it for you if you lose both your passcode and your recovery code.

4. Categories of Personal Information We Collect

The table below lists the categories of personal information we collect, their sources, why we use them, and to whom we disclose them. We provide it in the format used by the California Consumer Privacy Act and similar state laws, whether or not those laws apply to us (Section 16).

CategoryExamplesSourceDisclosed to
IdentifiersName, email address (or an Apple private-relay address), Firebase user ID, the Apple or Google account identifier, profile photo link if your provider supplies one; IP addressYou, via your sign-in provider; your browserGoogle (Firebase Authentication, Hosting, Firestore) as our service provider; Tailscale (IP address, to route connections to our key service)
Account recordsAccount creation time, last sign-in and last token-refresh times, sign-in providerFirebase AuthenticationGoogle as our service provider
Financial information (encrypted)Transactions, account names and last four digits, balances, bills, paychecks, budgets, goals, debts, holdings you enter — encrypted on your deviceYouStored as encrypted data by Google as our service provider
Email-derived information (only if you connect Gmail)Charges, payments, deposits and balances you accept from emails (merchant, amount, date, account, last four digits); short one-way fingerprints of emails already offered; small sender patterns your device has learned (no email text)Your Gmail, read on your deviceStored encrypted with the rest of your data; nothing about it is sent to us in readable form
Encrypted-data metadataWhich calendar months have transactions (document names such as 2026-09); the number of your accounts, bills, budgets, goals, and import records; whether optional records exist (for example records named "paystubs", "holdings" or "reflections", the last of which exists only if you turned on Reflection Saving and saved a reflection); document sizes (which roughly reflect how many transactions a month has); creation and update times; a revision counter; wrapped keys, salts, and key-derivation settingsGenerated by the ServiceGoogle as our service provider
Terms acceptance recordWhich version of the Terms you accepted and when — stored inside your encrypted settingsGenerated by the ServiceStored encrypted by Google; not readable by us
Security informationCount of passcode attempts answered for your account and any temporary lockout, filed under a tag derived from your user ID with our server key; rate-limit counters (in memory only, cleared on restart) by IP address and account tagOur key serviceNot disclosed
Network activity and logsIP address and browser information processed to deliver pages and protect the Service; device and interaction signals collected by Google's reCAPTCHA to detect abuse; key-service log lines (Section 13)Your browserIP processing by Google and Tailscale to route connections; reCAPTCHA signals by Google (Section 10.1); logs not disclosed
Membership recordsIf you start Coach Plus: whether it is active, when it renews, the Stripe customer and subscription identifiers, and any free hardship months you took, filed under an identifier derived from your user ID with our server key. Not your name, email, card or amount historyStripe; youStripe as our payment processor
CommunicationsEmails you send us and our repliesYouCloudflare (routes email to our support address) and our email provider, as service providers
Support tickets (only if you file one)What you type in the app's ticket form — the kind (problem, feature request, question or account), a subject and a description — plus the app page you filed it from, the app version, optionally a diagnostics summary if you tick "Include diagnostics" (the same app version, device class, browser, page name, load times and scrubbed error text as in Section 9B, shown to you before you send), when it was filed and updated, its status and our reply. Your email address only if you tick "you may email me about this"; it comes from your sign-in, not from the form. Filed under a tag derived from your user ID with our server key, not the ID itself. The form sends no transactions, balances or other financial data, so please don't type any into itYouNot disclosed; kept on our own server
App performance and error reports (only if you turn them on)Load and page-draw times in milliseconds, counts of which screens you open, the type, a scrubbed short message and code location of any app error, the page name it happened on, the app version, and your device class (phone, tablet or computer), browser and operating system. No user ID, IP address, amounts, account numbers, merchants or decrypted content (Section 9B)Your deviceNot disclosed; added to totals on our own server
Bank connections (Plaid) — not available yetIf we turn this on and you connect a bank: your bank's name, account names, masks and balances as Plaid returns them, and your transactions; our server keeps a Plaid access token for each connection (Section 9C)Plaid, from your bank, after you agreePlaid is our service provider; nothing is disclosed to anyone else
Consent records (key service)Each consent you give or withdraw: Terms, the Ask Twin Leaf helper, Help improve Twin Leaf, the optional email connection (Gmail), and app performance and error reports. We store the document, its version, the server time, and how you agreed. Your name and email are not stored with it. Kept while your Account exists. After you delete your Account, kept six years so we can prove what you agreed to (Section 13). Erasing your data does not start that clock.
Staff access log (key service)What staff did with a support ticket or account, the time, and the staff role. Staff codes, never your name or email. Kept two years (Section 13).
AI chat questions (Coach Plus only, after your agreement)Your question and the small summary it needs (Section 9); not stored by usYou, from your decrypted data on your deviceGroq, Inc., our processor, through our server
AI plan review (only if you ask for it, after your agreement)The budget plan the app built and three household facts (Section 9); not stored by us. We keep only when you last used the review, filed under a tag derived from your user ID with our server key. The review you get back is saved, encrypted, with your own data so you can reopen itYou, from your decrypted data on your deviceGroq, Inc., our processor, through our server
InferencesNone. We do not build profiles about you.——

Weekly savings reflections. Once a week, Ask Twin Leaf asks what you did that saved you money. Your answer is read on your device by matching keywords and compared with your own transactions there, to give an estimate; the answer is not sent anywhere to be read: not to our key service, and not to any AI, including Groq. Nothing about it is kept unless you choose "Save reflections" when the app asks (once), or turn on Settings › Reflection Saving. With it on, each reflection is encrypted on your device and then saved with the rest of your encrypted data in Cloud Firestore: your own words (with anything that looks like a card or account number removed first), the habit it matched, the merchant names involved, the estimated amounts and how confident the estimate is, and the date. Like the rest of your data, we do not see their contents in the ordinary course (Section 3). The app keeps the newest 100. With it off, reflections are still answered but nothing is stored, on our side or in your browser's storage. The only record when it is off is, inside your encrypted settings, your choice and the week the question was last asked, so it is asked only once a week. You can delete saved reflections in Settings at any time; they are also deleted by Erase my data and when you delete your Account.

We do not collect bank or card login credentials, full account or card numbers, Social Security numbers, government ID numbers, precise geolocation, contacts, biometric or genetic data, or health information. You could choose to type such information into a note; like all your financial data, it would be encrypted on your device.

5. Sensitive Personal Information

California Privacy Rights Act — Cal. Civ. Code § 1798.121

Certain personal information, including account log-in credentials and financial account information, is "sensitive" and carries a right to limit its use.

Pay statement PDFs. When you check a pay statement PDF, your browser reads it on your device. The file is never uploaded to us or to any other service, and it is not saved. The check compares the figures on that one statement with each other and shows you the result; the check result is not kept. If you instead type or paste a statement's figures, those figures are saved encrypted on your device with the rest of your data. The employer name is not saved. Each deposit is linked to the bank account it went into, and the account number shown on the statement is used only to find that account and is not kept. The first pasted statement also teaches Twin Leaf your state tax rate and year-to-date pay; that profile is saved encrypted and holds no employer name or account number.

Your answers about each job. For each job, you can say whether it pays overtime, holidays, and holidays you take off. These answers are saved encrypted on your device with the rest of your data. If a saved statement shows a holiday or overtime line paid, Twin Leaf asks which job it came from; choosing "Not sure" stops the question for that statement.

Your financial information may be sensitive personal information under some laws. We store it only in encrypted form and use it for one purpose: storing it so that you can use the Service. We do not use or disclose sensitive personal information to infer characteristics about you. We do not sell sensitive personal information, including under the Florida Digital Bill of Rights (Fla. Stat. § 501.715) and the Texas Data Privacy and Security Act.

Sensitive categoryDo we collect it?Purpose
Account log-in credentialsNo passwords. Sign-in is handled by Apple or Google; Firebase issues session tokens to your browserAuthentication and security
Financial account informationOnly what you enter or import, encrypted on your deviceProviding the Service to you
Precise geolocation; other sensitive categoriesNo—

6. How We Collect Information

6.1 From You

When you sign in, choose a passcode, import files, enter information, or contact us. Everything you enter or import into the app is encrypted on your device before it reaches us.

6.2 From Your Sign-In Provider

When you choose "Continue with Apple" or "Continue with Google," Apple or Google shares your name, email address, an account identifier, and (Google) a profile photo link with Firebase Authentication, according to the permissions you grant. With Apple, you may hide your email address, in which case we receive a private-relay address.

6.3 Automatically

Your browser sends technical information, such as your IP address, browser type, and the pages requested, to the servers that deliver the Service and to our key service. We do not use cookies, pixels, third-party analytics, fingerprinting, or session-recording tools to collect information about your browsing. The one exception is the optional app performance and error reports you can turn on yourself (Section 9B). See our Cookie & Local Storage Notice.

6.4 We Do Not Buy Data

We do not obtain information about you from data brokers, advertising networks, or other third parties.

7. How We Use Information

We use the limited personal information we can access only to:

  • create and authenticate your Account and keep you signed in;
  • store, synchronize, and serve your encrypted data to your devices;
  • answer your passcode-lock requests, count attempts and slow down passcode guessing, and check with Google that your sign-in session has not been revoked;
  • protect the Service against fraud, abuse, attacks, and quota exhaustion, including by rate limiting and by diagnosing faults on our server;
  • respond to your requests, provide support, and send essential notices about your Account, our policies, or security;
  • comply with law, enforce our Terms, and establish, exercise, or defend legal claims; and
  • maintain the reliability of the Service using aggregate operational measures (for example, total storage used); and
  • only if you turn on app performance and error reports, find slow pages and crashes and measure whether fixes work (Section 9B); and
  • only if you turn on Help improve Twin Leaf, fix mistakes and improve Twin Leaf's categories, forecasts, budgets and plans using the de-identified transactions you share (Section 9A).

7.1 What We Do Not Do

  • We do not sell personal information or share it for cross-context behavioral advertising.
  • We do not show advertisements.
  • We do not use your financial data to train artificial intelligence models, and our AI processor is set not to either. Transactions you choose to share (Section 9A) are never sent to an AI service and never used to train a third-party AI model.
  • We do not read your email. If you connect Gmail (Section 9D), your browser reads it on your device; we never receive it, do not use it for advertising and do not use it to train any shared model.
  • We do not send marketing email.

7.2 Essential Notices

If we have your email address, we may send notices that are necessary for the Service, such as material changes to our policies, security notices, or a breach notification. These are transactional messages, not marketing; you cannot opt out of them while you keep an Account.

9. AI Features (Coach Plus)

Only the optional Coach Plus chat and the optional AI plan review use an AI service, only when they are switched on, and only after you agree in the app. Twin Leaf's built-in coach, its budget builder, its quick questions and the weekly savings reflection never send anything.

When you ask the chat a typed question, your device decrypts the small summary that question needs and sends it, with your question, over an encrypted connection to our key service, which forwards it to Groq, Inc. (our processor, through its business API) and returns the answer. Specifically:

  • What is sent: your question; the current date; the category list; and only the slices of your data that the question needs, chosen on your device by topic: for example totals and top categories for a spending question, cards with balances, rates and minimums for a debt question, upcoming bills for a bills question, the coach's notes, and a few relevant recent transactions (date, merchant name, amount, category) when the question is about specific charges. Never your full history, account numbers, notes, or sign-in details. The app shows which topics were used under each answer.
  • Retention: Twin Leaf stores no question, summary, or answer; our server holds them in memory while the request runs. Our log line for a request records only the route, result, and duration. The only record is a daily count per member (filed under a keyed tag, not your user ID) used to enforce the limits (currently 5 questions per member per day), which resets daily.
  • Groq: our account is set to Groq's zero-data-retention mode, and we have chosen not to allow our data to be used to train models. Groq processes the request under its business terms and privacy policy and may handle it on its own infrastructure and providers in the United States or elsewhere. See Groq's published terms.
  • Consent: the app asks for your explicit agreement before your first request and records it in your encrypted settings. You can withdraw it at any time in Settings; nothing is sent while it is off.
  • Actions: if the AI proposes adding a transaction, bill, or budget, nothing is saved until you press Confirm; saving happens on your device, encrypted.
  • Crisis and hardship: if what you type suggests you are in crisis, the app shows support information and sends nothing to the AI.

AI plan review. After the app builds a budget for you on your device, you can ask for a one-time AI review of it: one per account for free accounts, and up to one each calendar month for Coach Plus members. It works like the chat, under the same agreement, processor and settings, with these differences:

  • What is sent: the plan the app built: each budget category with its name, your usual monthly spending, the proposed amount and its allowed range, the reason the app gave, and up to eight merchants behind it (name, usual monthly amount, number of visits); the one small regular treat the plan keeps for you, if it found or you chose one (its name, budget category, usual and kept monthly amounts, visits a week and average cost); subscriptions the app suggests cancelling (merchant, monthly cost, reason); the plan's totals (income, bills, minimum payments, amount budgeted, money freed, the extra going to debt, the monthly cushion savings) and its estimated effect on your debts (months sooner, interest saved, when the cushion is built); your debts (name, balance, interest rate, minimum payment, next due date, recent late fees); any support note the app added; and three household facts (household size, the dates of your next paydays, whether you usually run short before payday). Never individual transactions, account numbers, notes, or sign-in details.
  • Retention: our server stores no plan and no review. To enforce the limit we keep only when you last used the review (and a daily total for all users), filed under a tag derived from your user ID with our server key; clearing your browser does not reset it. A review that fails does not count. The review you get back is saved in your own settings, encrypted on your device like the rest of your data (Section 3), so you can open your 30-day plan again; we do not see its contents in the ordinary course, and deleting your Account deletes it.
  • Output: a short note on why the plan works for you, a dated checklist for the next 30 days (such as which card to pay by its due date), and optional suggestions (cheaper swaps, budget changes within the plan's own ranges). Our server checks every step and suggestion against your plan and drops any that fall outside it, including dates outside the next 31 days, amounts above what the plan shows, and merchants or debts that are not in it. No budget changes unless you choose to apply them.

We do not use your data to train models, we do not sell it, and we do not use a personal or consumer AI subscription for this feature. AI answers can be wrong and are Estimates (see the Financial Disclaimer).

9A. Help Improve Twin Leaf (Optional Data Sharing)

Off by default. Nothing in this section happens unless you turn it on in Settings and choose Share. The Help Improve Twin Leaf: Data Sharing Notice has the full detail.
  • What is shared: for each transaction, its date, amount, whether money went in or out, the merchant and the bank's description (cleaned), Twin Leaf's category and the bank's category label, the account type only (checking, savings, credit, loan, investment or other), and whether it is pending, recurring or a transfer.
  • What is never shared: your name, email, sign-in identifiers or user ID; account names, numbers, masks and your bank's name; your notes, tags, renames and the names of categories you created; the other person's name in person-to-person payments (Zelle, Venmo, Cash App, Apple Cash, PayPal), which are sent only as "Person-to-person transfer"; anything that looks like an account or phone number or an email address; hidden transactions; and anything you exclude.
  • De-identified, not anonymous: this is done on your device before anything leaves it, and the data is filed under a random donor number, not your account; the link between the two exists only in your own encrypted settings. But dates, amounts and merchants together can sometimes identify a person. Medical, personal care and government & giving transactions are left out unless you include them, and you can exclude any category or transaction.
  • Who can see it: only Twin Leaf's developers, on our own server (our key service); it is not stored with Google or any other provider.
  • Use: fixing mistakes and improving Twin Leaf's categories, forecasts, budgets and plans. Never sold, never used for advertising, never sent to an AI service, and never used to train a third-party AI model.
  • Retention and deletion: until you turn the setting off, use Erase my data, or delete your Account, each of which deletes it; a copy your device could not delete (for example after deleting your Account from the lock screen) is deleted automatically 12 months after its last update.

9B. App Performance & Error Reports (Optional)

Off by default. Nothing in this section happens unless you turn it on in Settings › Privacy & data and choose Turn on. The Data Sharing Notice has the full detail.
  • What is sent: how long the app took to load and draw a page (in milliseconds); counts of which screens you opened (for example "budgets: 3"); for an app error, its type, a short message and code location with emails, dollar amounts, long numbers and web-address queries removed on your device and again on our server, and the page name; the app version; and your device class (phone, tablet or computer), browser and operating system.
  • What is never sent: your name, email, user ID or IP address with the report; amounts, balances, account numbers or merchant names; anything you typed; anything decrypted. Our server accepts only the fields and values on a fixed list and refuses everything else.
  • Anonymous by design: each report is added to a daily total on our server and is not kept as a separate record. We keep no user ID or tag with it (a temporary in-memory tag limits how often one account can send, and is never written to disk), so we cannot find or delete one person's reports afterwards; turning the setting off stops anything further from being collected or sent.
  • Who can see it: only Twin Leaf's developers, on our own server. It is not sent to Google Analytics or any other analytics company. Never sold, never used for advertising.
  • Retention: daily totals are deleted 12 months after their day.
  • Feedback: when you send us a problem or idea from the app, you may tick "Include diagnostics" to attach the same kind of summary. You see the exact text before you send it, and it is kept with the ticket (Section 13.2).

9C. Bank Connections Through Plaid (Not Available Yet)

This is not live. Twin Leaf cannot connect to your bank today. It knows only what you import or enter. We are preparing to offer optional bank connections through Plaid Inc. and have written this section in advance so you can see how it would work. We will switch it on only after Plaid approves us, and we will tell you in the app first. Until then nothing below happens.
  • Optional. You choose to connect a bank, you can disconnect it at any time, and Twin Leaf works without it. It may be part of the paid Coach Plus membership.
  • Plaid Link. You sign in to your bank inside Plaid's window. Your bank username and password go to Plaid and your bank; Twin Leaf never sees or stores them. By using Plaid Link you also agree to the Plaid End User Privacy Policy, which describes what Plaid collects from your bank and how it uses it, and which governs Plaid's handling of your information. Plaid is an independent company, not a Twin Leaf processor for its own purposes.
  • What Plaid sends us: account names, masks (last four digits), types and balances, and transactions (date, amount, merchant and description, category, pending status). We ask only for what Twin Leaf needs, and no more than your transaction history Plaid makes available.
  • Access tokens stay on our server. Plaid gives our key service a token for each connection. It is stored encrypted on our server and is never sent to your browser, Firestore or our logs.
  • A limit on the encryption promise. Transactions from Plaid reach our key service first, in readable form, because that is how Plaid delivers them. The server holds them only to hand them to your signed-in device, which then encrypts them like any other import before they are stored with Google. Until your device collects them (up to 30 days; then they are dropped and fetched again), our server could technically read them. This is different from data you import yourself, which never leaves your device unencrypted. We do not look at it, use it for any other purpose, or share it.
  • Disconnect and deletion. Disconnecting a bank asks Plaid to remove the connection and deletes our token, sync position and any transactions waiting for your device. Erase my data and Delete my account disconnect every bank first. Transactions already saved in your encrypted data are deleted like the rest of it. Plaid keeps its own copy under its own policy and retention; you can ask Plaid to delete it through Plaid's privacy channels.
  • Duplicates. A bank transaction that matches one you already imported or entered is skipped; yours stays as you left it.
  • Broken connections. If your bank needs you to sign in again, Twin Leaf shows a reconnect prompt and stops syncing that bank until you do.
  • No selling. We do not sell bank data, use it for advertising, send it to an AI service without your separate agreement, or use it for any purpose other than showing you your own money.

9D. Email Connection (Gmail): Optional

This feature is being introduced. If you do not see Connect Gmail in Settings, it is not available to you yet and nothing in this section applies to you. It is off until you turn it on, and Twin Leaf works fully without it.

The email connection lets Twin Leaf read receipt, payment and bank-alert emails in your Gmail so it can suggest charges, deposits and account balances you may not have imported, notice duplicates, work out which of your accounts a charge belongs to, and compare the balances your bank's emails state with the balances worked out from your files. You review every suggestion before anything is saved.

9D.1 What you allow, and where it happens

  • Read-only. You give Twin Leaf one Google permission, gmail.readonly (Google's consent window words it "View your email messages and settings"). Twin Leaf cannot send, delete, label, archive or change any email, and cannot see your contacts, calendar, files or other Google data.
  • On your device. When you press Connect or Scan, your browser asks Google for a short-lived access token and then asks Gmail directly for messages that look like receipts, payments, deposits or bank alerts within a date range (at most 300 per scan). The messages are read in your browser. They are not sent to Angel Gate Solutions, to our key service, or to any other service.
  • The access token is kept in memory only. It expires on its own within about an hour, is lost when you close or reload the page, and is never saved on your device, in our database or in our logs.
  • What is read. For each message that matches, your device reads the sender, subject, date and text in order to pick out an amount, a merchant, the last four digits of a card or account, and a stated balance. Most messages are not about money and are discarded at once. Attachments are not read.
  • Only your own mailbox. Twin Leaf connects only the Google account whose address matches the email on your Twin Leaf account (Gmail ignores dots and +tags, so name+bills@gmail.com is the same mailbox). Before any message is read, your device checks the mailbox address Google reports; if it is a different account, or your Twin Leaf account has no usable email (for example, a hidden Apple address), Twin Leaf stops, revokes the token and reads nothing.
  • An optional choice. You decide whether to connect, when to scan, which suggestions to accept, and when to disconnect. Connecting asks for your separate agreement in the app, and a consent record is kept like our other consents (Section 13).

9D.2 What is saved, and where

  • Only what you accept. Charges, payments, deposits and balances you tick and add become ordinary entries in your data: merchant, amount, date, account and, for a balance, the amount and the date it was stated. They are encrypted on your device like everything else (Section 3).
  • Message fingerprints. So the same email is not offered twice, Twin Leaf saves a 10-character one-way fingerprint of each message's Gmail identifier inside your encrypted settings. A fingerprint cannot be turned back into an email, its sender or its contents.
  • Learned patterns. To read senders it does not already know, your device compares emails with the statement rows you imported and remembers a few words of context (for example, that one sender writes "Total amount charged" just before the amount), which card digits belong to which of your accounts, and how a sender's name differs from the name on your statement. It stores no email text, no amounts and no dates. These patterns live only in your own encrypted settings, are used only for you, are never combined with anyone else's, and are never used to train any shared model.
  • Nothing else. We do not keep the emails, their text, headers, attachments or a list of the senders you hear from. When the review closes, the messages are gone from your device's memory.

9D.3 What we never do with your email information (Google API Services User Data Policy)

Twin Leaf's use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.

  • We use information from your Gmail only to provide and improve the user-facing features described in this section, inside Twin Leaf.
  • We do not sell it, do not use it for advertising (including retargeting and interest-based ads), and do not transfer it to anyone, except as needed to provide those features at your request, to comply with law, or as part of a merger, acquisition or sale of assets after notice to you (Section 10.3).
  • We do not use it to develop, improve or train generalized artificial-intelligence or machine-learning models. What your device learns (9D.2) is specific to you and stays in your encrypted settings.
  • Because it is read in your browser, we do not have it, and no person at Angel Gate Solutions reads it. We would look at the content of a specific message only if you send it to us and ask us to, where needed for security or abuse prevention, or to comply with law, or in aggregated and anonymized form for internal operations (which we do not do today).
  • Charges and balances that came from your email are left out of Help improve Twin Leaf (Section 9A), and the individual transaction lines sent with a Coach Plus question leave them out. Once you accept them they are your own entries, so totals your device works out from all your entries (spending by category, for example) include them if you ask Coach Plus a question and agree to send numbers (Section 9). Your device marks them so those features can skip them.

9D.4 Your choices and deleting it

  • Disconnect any time in Settings. Twin Leaf asks Google to revoke its access and deletes the fingerprints and learned patterns from your settings. Charges and balances you already accepted stay in your data, like any other entry, until you delete them.
  • You can also end it from Google: myaccount.google.com › Security › Your connections to third-party apps & services › Twin Leaf › Delete all connections. That takes effect at once.
  • Erase my data and Delete my account remove everything described in 9D.2 (see the Data Deletion Notice).
  • Consent. Where the law asks for it, our basis is your consent (Section 8). You can withdraw it by disconnecting; that does not affect what you already accepted into your own data.

9D.5 Limits, plainly

  • Google controls your mailbox and the permission. Google may show a warning screen for apps it has not finished reviewing, may limit how many accounts can connect, and may change or end the permission. Twin Leaf is not responsible for that.
  • Emails come from other people and can be wrong. They can be forged, out of date, duplicated, or about someone else (for example a Zelle notice names the other person; Twin Leaf shows only the last four digits of a phone number). Every suggestion is unverified until you accept it, and information about other people that you save becomes your responsibility.
  • A suggestion is a guess. Twin Leaf can misread an amount, a merchant or a date; miss a charge; treat two different charges as one or one charge as two; attach a charge to the wrong account; and compare balances that were stated at different times of day. Check important figures against your bank or card statement (Terms Section 8A and the Financial Disclaimer).
  • While you are connected, software running in your browser with access to the page, such as an unsafe extension, could in principle use the short-lived token. See Section 13 of the Security notice.

Eligibility, your other rights and our contact details are in Sections 16 and 24. This section describes the Service as it works when the email connection is available to you.

10. Sharing, Disclosure & Service Providers

We share personal information only as described below. We do not sell it and do not share it for cross-context behavioral advertising.

10.1 Service Providers

ProviderPurposeData involvedLocation
Google LLC — Firebase AuthenticationSign-in and session managementIdentifiers and account recordsUnited States (Google's global infrastructure)
Google LLC — Cloud FirestoreStoring your encrypted dataEncrypted data, encrypted-data metadata, wrapped keysUnited States (multi-region nam5)
Google LLC — Firebase HostingDelivering the website and its codeIP address and browser informationGlobal content delivery network
Google LLC — reCAPTCHA Enterprise, through Firebase App CheckProtecting the Service from bots, automated abuse and quota exhaustion by checking that requests come from the genuine appIP address, hardware and software (device and browser) information, interaction signals, and reCAPTCHA cookies on Google's domains, collected by Google's script under Google's Privacy Policy and Terms of Service. We receive only a short-lived pass/fail tokenGlobal (Google's infrastructure)
Apple Inc. — Sign in with Apple (if you choose it)Sign-inIdentifiers; Apple acts under its own privacy policyApple's infrastructure
Tailscale Inc.Routing encrypted connections from your browser to our key serviceIP address and connection metadata; the connection is encrypted to our serverGlobal relay network
Stripe, Inc. (only if you start a Coach Plus membership)Taking payment and managing the subscription; Stripe receives your card and billing details directly from you, never through Twin LeafWhat you enter at Stripe; our side sends only an identifier derived from your user ID, the chosen price and interval. Stripe sends back a customer and subscription identifier and the membership statusUnited States and Stripe's global infrastructure
Plaid Inc. (not available yet; only if you connect a bank after we turn it on)Connecting to your bank and delivering your account and transaction data to our key serviceWhat you enter in Plaid Link goes to Plaid and your bank, not to us; Plaid sends us account, balance and transaction data and a connection token. Governed by the Plaid End User Privacy Policy (Section 9C)United States
Google LLC — Gmail API and Google Identity Services (only if you connect Gmail)Letting your browser read your own mailbox, read-only, after you approve it in Google's consent windowYour browser talks to Google directly: the consent window, the short-lived access token and the Gmail requests go between you and Google, not through us. Google handles that under its own policies. We receive none of it.Google's infrastructure
Cloudflare, Inc.Routing email sent to support@angelgatesolutions.com to our mailboxYour email address and messageGlobal network
Our email mailbox and delivery providerReceiving and answering your emailYour email address and messageUnited States

Our key service runs on a server operated by Angel Gate Solutions at a private location in the United States; it is not a third-party service. It sends your sign-in token to Google (Firebase Authentication) about once a minute while you use Twin Leaf to check that your session has not been revoked, and reads your own wrapped-keys record from Google's database using that same token. That server also runs other services we operate. GitHub, Inc. hosts our source code and build system; it does not receive your personal information.

10.2 Legal Requirements

We may disclose information if we believe in good faith that the law, a subpoena, court order, or other valid legal process requires it, or that it is necessary to protect the rights, property, or safety of Angel Gate Solutions, our users, or the public. See Section 19.

10.3 Business Transfers

If Angel Gate Solutions is involved in a merger, acquisition, financing, reorganization, or sale of assets, information may be transferred as part of that transaction, subject to the recipient honoring this Policy. Your financial data would remain encrypted as described here. We will notify you before your information becomes subject to a materially different privacy policy.

10.4 Aggregate Information

We may share aggregate statistics that cannot identify you, such as the total number of Accounts.

10.5 Transactions You Choose to Share

If you turn on Help improve Twin Leaf (Section 9A), the de-identified transactions you share are kept on our own server and read only by Twin Leaf's developers. We do not disclose them to any service provider or other third party, except as Section 10.2 requires.

11. Do Not Sell or Share

ANGEL GATE SOLUTIONS DOES NOT SELL OR SHARE PERSONAL INFORMATION COLLECTED THROUGH TWIN LEAF, AS THOSE TERMS ARE DEFINED UNDER THE CALIFORNIA CONSUMER PRIVACY ACT AND SIMILAR STATE LAWS, HAS NOT DONE SO, AND DOES NOT PROCESS PERSONAL INFORMATION FOR TARGETED ADVERTISING OR FOR PROFILING IN FURTHERANCE OF DECISIONS THAT PRODUCE LEGAL OR SIMILARLY SIGNIFICANT EFFECTS. WE HAVE NO ACTUAL KNOWLEDGE OF SELLING OR SHARING THE PERSONAL INFORMATION OF CONSUMERS UNDER 16.

11.1 Global Privacy Control

We treat a Global Privacy Control (GPC) signal as a request to opt out of sale and sharing. Because we do neither, it does not change how the Service works, but we will continue to honor it if our practices ever change.

11.2 Opt-Out Requests

You may still direct us never to sell or share your information by emailing support@angelgatesolutions.com.

12. Financial Privacy (Gramm-Leach-Bliley Act)

Some laws, including the Gramm-Leach-Bliley Act and the Federal Trade Commission's Privacy Rule (16 C.F.R. Part 313) and Safeguards Rule (16 C.F.R. Part 314), may treat a budgeting service like Twin Leaf as a "financial institution." We have not concluded that they apply to us, but we intend to act as if they do. To the extent they apply, this Policy is our privacy notice: we do not disclose nonpublic personal information about you to nonaffiliated third parties except to service providers that help us operate the Service, as permitted by law, or as required by law, so there is no opt-out to exercise. We protect the information we hold with the safeguards described in Section 14 and on our Security & Data Protection page, and Section 15 describes how we would notify the FTC of a security event.

13. Logs & Data Retention

13.1 Key-Service Logs

Our key service writes one line per request: the time, the route, the result, the duration, a 10-character keyed hash (HMAC) of your IP address, and a 10-character tag derived from your user ID, both made with our server key. It does not log your token, key, email address, passcode, or any financial data. Without our server key the IP hash cannot practically be reversed, but we could match it to an IP address by trying every address, and we can link the account tag to your Account; we therefore treat both as personal information, not as anonymous data. Log lines written before October 3, 2026 used a hash of the IP address that was not keyed, which anyone could reverse in the same way.

These lines are kept in the server's system journal, which removes its oldest entries once it reaches a fixed size. To diagnose server faults, a copy of the server's journal is also written to an encrypted external drive attached to that server and sent over our private network to the operator's computer. We aim to delete key-service log lines in every location within 12 months; until automatic deletion is in place in every location, we delete older copies manually at least every 12 months.

13.2 Retention Periods

DataRetention
Encrypted financial data and wrapped keys (Cloud Firestore)Until you delete it or delete your Account. Deletion in the app removes it from the live database immediately. We do not keep backups of it.
Saved reflections (only with Reflection Saving on)Encrypted with your other data; the newest 100 are kept. Until you delete them in Settings › Reflection Saving, use Erase my data, or delete your Account.
Sign-in record (Firebase Authentication)Until you delete your Account.
Encrypted copy on your deviceUntil you sign out or delete your Account on that device.
Passcode-attempt counter (key service)Cleared when the app proves a correct unlock; otherwise it remains, holding only a count, a time, and the tag.
Key-service logs and their copiesAs described in Section 13.1.
Residual copies in our providers' systemsDeleted on the providers' own schedules; copies of financial data are encrypted.
Emails with usUp to 3 years after the matter is resolved, unless you ask us to delete them sooner and no legal obligation requires otherwise.
Transactions you choose to share (key service; only with Help improve Twin Leaf on)Until you turn the setting off, use Erase my data, or delete your Account in the app, each of which deletes them; otherwise deleted automatically 12 months after your device last updated them. See the Data Sharing Notice.
App performance and error reports (key service; only with the setting on)Added to daily totals with no user ID. Each day's totals are deleted 12 months after that day. Because they are not tied to you, they cannot be found or deleted individually, and Delete my account does not remove them; turning the setting off stops new ones.
Bank-connection data (not available yet)Access token, sync position and any transactions waiting for your device: deleted when you disconnect, use Erase my data, or delete your Account. Waiting transactions are dropped after 30 days if your device never collects them.
Charges and balances you accepted from email (only if you connected Gmail)Like any other entry in your data: until you delete it, use Erase my data, or delete your Account.
Email fingerprints and learned sender patterns (inside your encrypted settings; only if you connected Gmail)Until you disconnect Gmail, use Erase my data, or delete your Account. Disconnecting deletes them.
Gmail access tokenHeld in your browser's memory only. Gone when you close or reload the page. Never stored by us or on your device.
Email contentNot kept. It is read on your device and discarded when the review closes.
Support tickets (key service)Deleted automatically 2 years after the ticket was last updated, and at once when you delete your Account in the app. To enforce the filing limits (3 per 10 minutes, 10 per day), we also keep the times of your filings, under the same tag, for 24 hours, including after deletion.
Consent records (key service)Kept while your Account exists. Six years after you delete your Account, so we can show what you agreed to in a dispute. Using Erase my data does not start that clock. Kept under a keyed code, not your name or email. Each one holds the document, its version, the server time, and how you agreed (at setup, when we asked again, from the helper's consent card, or from the Help improve or email-connection switch).
Membership records (key service; only if you started Coach Plus or took a free hardship month)Kept while your Account exists. Seven years after you delete your Account, so we have our tax and accounting records for the membership and can answer a payment dispute, then deleted. Kept under a keyed code, not your name or email: whether it is active, when it renews, the Stripe customer and subscription identifiers, and any hardship months. Using Erase my data does not start that clock. Stripe keeps its own invoice and payment records for the periods the law requires of it.
Staff access log (key service)Two years from the entry. Each entry holds a staff code (never your name or email), the staff role, the action, the ticket reference or account code it touched, and the result. Deleting your Account does not remove entries about it. Staff can read the log but cannot change it, and any edit is detectable.
Records needed for legal claims or obligationsAs long as the claim or obligation requires.

Records kept after deletion. While your Account exists we keep your consent records. When you delete your Account, we keep them for six years after that, we keep your membership records (if you ever started Coach Plus) for seven years after that, and we keep the staff access log for the period in the table above. Using Erase my data keeps your records as they are. We keep them because we need to show, if a dispute arises, what you agreed to, that staff acted properly, and what was paid for a membership, which is our legitimate interest in establishing and defending legal claims and our obligation to keep tax and accounting records (Art. 6(1)(c) and (f) GDPR). They hold no name, email, password, or budgeting data; your transactions, balances and everything else you entered in Twin Leaf are deleted. Nothing else is kept after deletion, and after the periods end they are deleted.

We do not currently delete inactive Accounts automatically. If we adopt such a practice, we will give notice in the Service and, where possible, by email in advance.

14. Cookies, Local Storage & Data Security

14.1 Cookies & Local Storage

Twin Leaf does not use advertising or third-party analytics cookies or other tracking technology. If you turn on app performance and error reports (Section 9B), one small flag is kept in your browser to remember that choice. If you use the optional email connection (Section 9D), your browser loads Google's sign-in script from accounts.google.com only when you press Connect Gmail. It stores only what it needs on your device. Details are in our Cookie & Local Storage Notice.

14.2 Security Measures

We protect information with encryption on your device (AES-256-GCM; keys wrapped under PBKDF2-SHA256 with 600,000 iterations plus a value only our key service can help compute and counts, or under your recovery code); database rules that let each signed-in user reach only their own documents and accept only encrypted documents; TLS for connections; a strict Content Security Policy; signed, verified releases with automatic live security tests; rate limits and lockouts on our key service; and automatic locking after 15 minutes idle. Our Security & Data Protection page describes these measures and their limits, including that our administrative credentials and the key service's secret are held by Angel Gate Solutions.

14.3 No Absolute Security

No method of transmission or storage is completely secure, and we cannot guarantee absolute security. You are responsible for the security of your devices, your sign-in provider account, your passcode, and your recovery code.

15. Data Breach Notification

Fla. Stat. § 501.171 | 16 C.F.R. § 314.4(j) | GDPR Articles 33–34 | Other U.S. state breach laws

Businesses must notify affected individuals, and in some cases regulators, of certain breaches of personal information.

If we become aware of a breach of security affecting personal information we hold, we will:

  • investigate, contain, and remediate it promptly;
  • notify affected users as quickly as practicable and without unreasonable delay — for Florida residents, no later than 30 days after we determine a breach occurred, as Fla. Stat. § 501.171 requires — by email where we have an address and by a notice in the Service;
  • notify the Florida Department of Legal Affairs within 30 days if 500 or more Florida residents are affected, and other state regulators as their laws require;
  • to the extent the FTC Safeguards Rule applies to us, notify the Federal Trade Commission within 30 days of discovering an unauthorized acquisition of unencrypted customer information involving 500 or more consumers;
  • notify regulators within 72 hours under GDPR Article 33 where it applies; and
  • describe what happened, what information was involved, what we are doing, and what you can do.

Many breach laws do not treat encrypted data as breached unless the key or the means to decrypt it is also compromised. Because we hold the key service's secret, we will not rely on encryption alone: if an incident may have exposed both our database and that secret, we will treat data protected by short passcodes as potentially readable and notify accordingly. We will also tell you about any incident that affects Twin Leaf's security in a meaningful way, even where the law would not require it.

16. Your Privacy Rights

16.1 Rights Available to Everyone

  • Access and portability: download your transactions as a CSV file in Settings › Your data › Download everything (CSV), and ask us for a copy of the account information and logs we hold about you;
  • Correction: edit your financial data directly in the app, and update your name or email through your sign-in provider;
  • Deletion: delete your Account and its data in Settings › Your data › Delete my account (see our Account & Data Deletion page), or ask us to;
  • Objection and restriction of processing based on legitimate interests; and
  • Revoke access for Twin Leaf in your Apple ID or Google Account settings.

Because your financial data is decrypted only on your device, only you can view or export its contents. If you ask us for a copy, we can provide your account information, the metadata and log lines we can link to you, and confirm what encrypted data exists, but we cannot provide it in readable form.

16.2 EEA, Swiss & UK Users

You also have the right to restrict processing (Art. 18), to object (Art. 21), not to be subject to solely automated decisions with legal or similarly significant effects (Art. 22; see Section 17), and to complain to your supervisory authority — in the UK, the Information Commissioner's Office (ico.org.uk); in the EU, your national data protection authority (edpb.europa.eu); in Switzerland, the FDPIC (edoeb.admin.ch).

16.3 California Residents

The California Consumer Privacy Act applies to businesses that meet thresholds based on revenue (currently more than $26,625,000 a year), the volume of California residents' information processed, or revenue from selling or sharing personal information. Angel Gate Solutions may not currently meet them. We nonetheless honor the following rights for California residents:

RightDescriptionResponse time
Right to Know (§ 1798.100, .110)The categories and specific pieces of personal information we have collected about you, its sources and purposes, and to whom it was disclosed45 days (extendable by 45 more with notice)
Right to Delete (§ 1798.105)Delete personal information we collected from you, subject to exceptionsImmediate in the app; 45 days by request
Right to Correct (§ 1798.106)Correct inaccurate personal information45 days
Right to Opt Out of Sale / Sharing (§ 1798.120)We do not sell or share (Section 11)Honored continuously
Right to Limit Use of Sensitive PI (§ 1798.121)We use it only for providing the Service (Section 5)Honored continuously
Right to Non-Discrimination (§ 1798.125)We will not treat you differently for exercising a rightHonored continuously

You may use an authorized agent; we may require proof of authorization and verify your identity directly. California's "Shine the Light" law (Cal. Civ. Code § 1798.83) requires no further disclosure because we do not share personal information with third parties for their direct marketing.

16.4 Other U.S. States

Residents of states with comprehensive privacy laws — including Virginia, Colorado, Connecticut, Utah, Texas, Oregon, Montana, Iowa, Indiana, Tennessee, Delaware, New Hampshire, New Jersey, Nebraska, Kentucky, Maryland, Minnesota, Rhode Island, and Florida — may have rights to confirm processing, access, correct, delete, and obtain a portable copy of personal information, and to opt out of sale, targeted advertising, and certain profiling (none of which we do). Many of these laws apply only to businesses above size or volume thresholds that we may not meet, but we extend these rights to every user. If we decline your request, you may appeal by replying with "Privacy Rights Appeal" in the subject line; we will respond within the period your state's law requires, and if we deny your appeal you may contact your state Attorney General.

16.5 Nevada Residents

We do not sell covered information as defined in Nev. Rev. Stat. § 603A.320. You may still submit an opt-out request to support@angelgatesolutions.com.

16.6 How to Submit a Request

Use the in-app tools for export and deletion. For anything else, or if you cannot access your Account, email support@angelgatesolutions.com with your name, the email address associated with your Account, your state or country, and the right you wish to exercise. We will verify your request — usually by asking you to reply from, or confirm control of, that email address. We will acknowledge requests within 5 business days and respond within the time the law requires (generally 30 days under GDPR and 45 days under U.S. state laws, extendable where permitted). There is no fee for reasonable requests.

17. Automated Decision-Making & Profiling

Twin Leaf's money engine runs in your browser and calculates Estimates — such as your safe-to-spend amount, detected paydays and bills, and debt payoff plans — from your own data, for your own use. If you connect Gmail, its suggestions (possible charges, a guess at which account a charge belongs to, duplicate notes and balance comparisons) are produced the same way, on your device, and nothing is saved until you accept it. These are not decisions about you: they have no legal or similarly significant effect, we do not see them, and you can override them. We do not profile or score users. Automated security measures, such as rate limits and wrong-passcode lockouts, are temporary and lift automatically; you may contact us for human review of any security action that affects you.

18. Health Data & Other Special Laws

Twin Leaf is not designed to collect health information and is not a "covered entity" or "business associate" under HIPAA. It is not intended to collect consumer health data within the meaning of Washington's My Health My Data Act or similar laws. If you label a transaction in a way that reveals health information, that label is encrypted on your device.

19. Government Access & Law Enforcement

19.1 Legal Process Required

We disclose information to government or law enforcement agencies only in response to valid legal process (such as a subpoena, court order, or search warrant) or in an emergency involving danger of death or serious physical injury, and we review every request for legal sufficiency.

19.2 What We Hold

We could produce the account information and metadata described in Section 4, the logs described in Section 13, and encrypted data. We do not hold your passcode, your recovery code, or your data key. We would oppose, to the extent the law allows, any demand that we decrypt your data, guess your passcode, or change the Service to capture a user's passcode or data.

19.3 Notice to You

Where permitted by law, we will try to notify you before disclosing your information so that you can seek to protect it.

20. Children's Privacy

Children's Online Privacy Protection Act (COPPA), 15 U.S.C. § 6501 et seq. | 16 C.F.R. Part 312

COPPA applies to online services directed to children under 13, or that knowingly collect personal information from children under 13.

Twin Leaf is intended only for adults 18 and older and is not directed to children. We do not knowingly collect personal information from anyone under 18. If we learn that a child under 13 (or anyone under 18) has created an Account, we will delete the Account and its data. If you are a parent or guardian and believe your child has created an Account, contact support@angelgatesolutions.com.

21. International Users & Data Transfers

Angel Gate Solutions is based in the United States, Twin Leaf is directed to people in the United States, and information is stored and processed in the United States (and, for website delivery, sign-in, connection routing, and email, on our providers' global infrastructure). If you use the Service from outside the United States, your information will be transferred to the United States, which may not provide the same level of protection as your home country. Where the GDPR or UK GDPR applies, transfers rely on the necessity of the transfer to provide the Service you request (GDPR Art. 49(1)(b)) and, for our service providers, on the EU-U.S. Data Privacy Framework (and its UK and Swiss extensions) or Standard Contractual Clauses, as each provider makes available.

22. Third-Party Services & Links

Apple and Google process information about your sign-in under their own privacy policies. If bank connections are offered, Plaid processes your bank data under the Plaid End User Privacy Policy (Section 9C). Files you export from other services (such as your bank or Rocket Money) are governed by those services' policies. This Policy does not apply to third-party websites or services that the Service links to.

23. Changes to This Privacy Policy

We may update this Policy to reflect changes in the Service, our practices, or the law. For material changes, we will post a notice in the Service and ask you to review the updated Policy, email you where we have your address, and update the "Last updated" date. Material changes that reduce your privacy protections take effect at least 14 days after we post them, and we will obtain your consent where the law requires, including before using previously collected information in a materially different way. Non-material changes take effect when posted. If you do not agree to an updated Policy, you may delete your Account.

24. Contact

If you have questions, concerns, complaints, or requests about this Privacy Policy, contact us:

Angel Gate Solutions, LLC

Product: Twin Leaf (twinleaf-app.web.app)

State of formation: Florida

Address: Available on request via support@angelgatesolutions.com

Email: support@angelgatesolutions.com

Used for: support, privacy and data requests, legal notices, arbitration opt-outs, copyright (DMCA) notices, and security reports. For a security report, use the subject "Twin Leaf Security Report".

© 2026 Angel Gate Solutions, LLC. All rights reserved.