Account Connections & Financial Data Transparency
How connecting a financial account works at SpendIntel AI — what we ask for, what we don’t, what we store, and how you stay in control. Every meaningful action requires your explicit consent.
SpendIntel AI is owned and operated by , a Florida limited liability company.Major Retail LLC, a Florida limited liability company.
Where things stand today. Right now SpendIntel AI builds your picture from bank/credit statements you upload (CSV). Secure account connection through Plaid is built and being prepared, but is currently in a sandbox/disabled state and will be available before production launch. This page describes how that connection works exactly as implemented — and clearly marks anything still pending.
The short version
Connecting is optional
You can use SpendIntel with uploaded statements. Connecting an account is a choice that improves accuracy.
You act first, always
Nothing connects until you take a clear action. A banner, this page, or a review screen is never consent.
We never see your bank password
You authenticate inside Plaid’s secure flow. SpendIntel has no form for bank logins and never stores them.
You can disconnect anytime
Disconnecting stops future updates and revokes the connection at Plaid. You choose what happens to imported history.
The consent principle
No financial institution is connected, and no additional financial-data access is requested, without an affirmative action by you. Seeing the coverage reminder is not consent. Reviewing a detected account is not consent. Opening this page is not consent. You can exit the connection flow at any point without connecting anything, and no option is pre-selected for you.
How account connection works, step by step
- 1We identify a possible missing account.No connection yet
A pattern in your transactions suggests activity from an account you haven’t connected. Nothing is connected at this point.
Technical detail
Detection runs server-side from your own transactions (lib/coverage/detect.ts). Confidence rises with the number of supporting payments.
- 2You review why it was detected.No connection yet
You can open a review screen that shows the generalized reason, confidence, and supporting-transaction count.
Technical detail
The review reads only your data, user-scoped. Reviewing does not connect anything.
- 3You decide whether to connect.Your action required
You may connect, mark it “Not mine”, mark it “Already connected”, or simply dismiss the reminder.
- 4SpendIntel explains what information is requested.Permission requested
Before anything opens, a short SpendIntel screen states the data categories, history range, and why they help — with Continue and Cancel.
Technical detail
Only “Continue to Plaid” may launch Plaid Link. Cancel creates no connection.
- 5Plaid opens only after you continue.Your action required
Plaid Link is the secure connection interface. You authenticate through the flow your institution supports.
Technical detail
SpendIntel never asks you to type bank credentials into a SpendIntel form. Link token is created at /api/plaid/link-token.
- 6You select your institution and accounts.Your action required
You choose your institution and complete the Plaid-supported flow. You decide what to share.
Technical detail
In-app account pre-selection is pending; you still choose what to share inside Plaid.
- 7You approve the information to share.Permission requested
The connection completes only when you approve inside Plaid.
- 8SpendIntel receives authorized account information.Connected
Our server exchanges the result for a protected connection token and stores it encrypted — never in your browser.
Technical detail
Public token → /api/plaid/exchange (itemPublicTokenExchange) → access token encrypted (AES-256-GCM) in bank_connections.access_token_encrypted.
- 9Transactions and balances are synchronized.Ongoing access
We import the transactions you authorized; balances refresh on connect and on request.
Technical detail
Cursor-based /transactions/sync (manual + webhook-triggered). Balances via accountsBalanceGet — once on connect, then manual only (never on page load), paid-gated: Plus 2/day · 15/month · 8h cooldown; Pro 4/day · 40/month · 6h cooldown. A fresh cached balance skips the pull; repeated failures back off. Free: no live balance pulls.
- 10SpendIntel turns records into your analysis.Connected
Your records become Health, Forecast, Subscriptions, Bills, Opportunities and more — every number traceable.
Technical detail
All financial math is deterministic; AI only narrates. Evidence transaction IDs are retained.
- 11You can disconnect or manage access.Revocable
You can disconnect any time. That revokes the connection at Plaid and stops future updates.
Technical detail
Disconnect → /api/plaid/disconnect → itemRemove (best-effort) + local token cleared + status “disconnected”.
What information SpendIntel receives
Only the categories below, from the two Plaid products we use today: Transactions and account Balances. We do not request Auth, Identity, Investments, or Liabilities. Examples are synthetic.
| Data | Example | Why / feature | Class | Retention |
|---|---|---|---|---|
| Account name & official name | Everyday Checking | Label your accounts | Actual | While connected |
| Masked account number | ••••1234 | Identify safely | Actual | While connected |
| Account type / subtype | depository / checking | Categorize · Health | Actual | While connected |
| Current balance | $1,820.34 | Balance · Forecast · Safe-To-Spend | Actual | Latest snapshot |
| Available balance | $1,780.10 | Safe-To-Spend | Actual | Latest snapshot |
| Credit limit | $5,000.00 | Health (utilization) | Actual | Latest snapshot |
| Transaction date | 2026-06-21 | Recurring detection · Forecast | Actual | While account active |
| Transaction amount | -$15.83 | All financial analysis | Actual | While account active |
| Merchant / description | YouTube Premium | Subscription detection | Actual | While account active |
| Category (Plaid PFC) | ENTERTAINMENT | Categorization | Actual | While account active |
| Pending status | posted | Pending excluded until posted | Actual | While account active |
| Currency | USD | Correct display | Actual | While account active |
| Institution metadata | Chase | Group accounts | Actual | While connected |
Every imported value is user-inspectable, and derived numbers expose “View calculation” with their source transactions.
What SpendIntel does not request or store
No SpendIntel login form for your bank
You never type bank credentials into SpendIntel. Authentication happens inside Plaid Link.
No bank usernames or passwords stored
We never receive them, so we cannot and do not store them.
Access tokens never reach your browser
The connection token is exchanged and stored server-side, encrypted with AES-256-GCM. It is decrypted only in server memory to call Plaid.
No Auth / Identity / Investments / Liabilities
We request only Transactions, plus account Balances. We do not pull those other products.
No cross-user mixing
One person’s records never populate another person’s dashboard. Every query is scoped to your user ID.
We do store authorized records
To power your analysis we necessarily store the transactions and balances you authorize — listed in full above, and nothing more.
Plaid vs SpendIntel — who does what
Plaid
SpendIntel
How the connection token works (technical)
After you complete Plaid Link, SpendIntel receives a short-lived public token. Our server exchanges it (itemPublicTokenExchange) for a protected access token, which is encrypted with AES-256-GCM and stored in bank_connections.access_token_encrypted. The token is used only by the server — never placed in the browser, never logged. We also keep the Plaid item_id and per-account identifiers. No real token values are ever shown.
Expanding access always requires new consent
Adding a new account, enabling a new data product, or reconnecting after revocation each requires a separate, explicit consent event. SpendIntel does not silently widen permissions. Reconnection today is a fresh connection (a one-tap Plaid “update mode” is not yet implemented; you simply connect again).
How your data becomes insights
Records enter as Actual values. Totals and scores are Calculated deterministically and expose their inputs. Forward-looking figures are clearly labeled Projected. AI does not invent balances, transactions, or projections — it only explains numbers the engines computed.
You remain in control
Review before connecting
Available
Cancel before completion
Available
Inspect connected institutions
Available
Disconnect an account
Available
Revoke access at Plaid
Available
Review evidence & calculations
Available
Export your data
Pending before launch
Request deletion
Available
Select accounts in-app
Pending before launch
Deletion and data export are currently handled by emailing info@majoretailllc.com. Plaid Portal is offered by Plaid as an additional way to manage connections.
Frequently asked questions
Is connecting an account required?
No. You can use SpendIntel with uploaded statements. Connecting is optional and improves accuracy.
Does SpendIntel receive my bank password?
No. You authenticate inside Plaid. SpendIntel has no bank-login form and never receives or stores your credentials.
What does Plaid do?
Plaid presents the secure Link interface, connects to your institution, and returns the data you authorize.
What data is imported?
Transactions (dates, amounts, merchant/description, category, pending, currency) and account balances. Not Auth, Identity, Investments, or Liabilities.
How far back can transactions be imported?
Our transaction sync imports the history your institution makes available; there is no fixed cut-off window configured.
How often is data updated?
Transactions sync on demand and when Plaid notifies us of changes. Balance reads are cached — a page never triggers a balance pull on load. A balance refreshes once on connect, then only when you tap Refresh (a paid feature): Plus allows up to 2 per day and 15 per month with an 8-hour cooldown; Pro allows up to 4 per day and 40 per month with a 6-hour cooldown. If your cached balance is already fresh we skip the pull, and repeated bank errors trigger a short backoff. Free plans do not get live balance refreshes. There is no automatic schedule.
What happens if I cancel during connection?
Nothing is connected and no connection record is created.
What happens after I disconnect?
Future updates stop and the connection is revoked at Plaid. Previously imported transactions are kept as history unless you request deletion.
Can I delete imported financial data?
Yes — request it by emailing info@majoretailllc.com. Active-system data is purged; routine backups rotate on their normal schedule.
Can I reconnect later?
Yes. You start a new connection at any time.
Does SpendIntel sell my financial data?
No.
Is my data mixed with other users?
No. Your data is isolated and every query is scoped to your account.
Does the AI see my bank password?
No. The AI never receives credentials; it only narrates numbers the deterministic engines compute.
Policies & contact
This page explains how SpendIntel AI account connections and authorized financial data are handled. It complements — and does not replace — our Privacy Policy, Terms of Service, and Data Retention Policy. Questions or requests: info@majoretailllc.com. SpendIntel AI is owned and operated by Major Retail LLC, a Florida limited liability company.