agree, english, consent, contract, agreement, cross, mark with a cross, ballpoint pen, understanding, conclusion, business deal, arrangement, match, pact, form, business, paper, document, pen, agree, agree, consent, consent, contract, contract, contract, contract, contract, agreement, agreement, conclusion, form. Financial data sharing problems: stale consent, excessive scope and broken connections
Photo by Catkin on Pixabay

Rules

Part of Open banking guide: consent, APIs, aggregators, permissions, and data flows

Financial data sharing problems: stale consent, excessive scope and broken connections

Financial data-sharing problems explained through stale consent, broad scope, failed refreshes, duplicates, mapping errors, privacy gaps, and repair steps.

What to take away

  • A connection can keep working after its original purpose ends, making consent operationally stale.
  • Excessive scope can involve extra accounts, fields, history, refreshes, recipients, or payment authority.
  • A broken connection is not always a revoked connection.
  • Imported data can be wrong because of source, transport, mapping, timing, or cache errors.
  • Repair starts with timestamps, field names, scopes, authorization records, and layer ownership.

Financial data sharing problems can take forms that a simple connected or disconnected label cannot explain. A token may be valid while the consumer's purpose has expired. An app may display stale data while the API is healthy. A correct bank record may acquire the wrong sign or category after import.

Problem 1: consent has gone stale

Consent is stale when an old authorization no longer reflects the user's current purpose, expectations, service, accounts, or risk.

Examples include:

Consent has gone stale

  • a tax app still refreshing months after filing;
  • a lender retaining ongoing access after a one-time verification;
  • a budgeting tool connected to a closed household profile;
  • an aggregator replaced without a clear consumer record;
  • a permission inherited after a product redesign;
  • an authorization using a notice version that no longer matches the data flow.

Compare authorization date, stated purpose, access duration, last use by the consumer, last successful fetch, current parties, and current scopes.

End access that no longer has a supported purpose. Where continuing access is appropriate, present a fresh, specific authorization rather than treating silent token survival as renewed consent.

Worked example. Symptom: a tax app refreshes after filing. Diagnosis: the authorization's purpose ended but the token stayed valid. Repair outcome: access revoked within one business day.

The CFPB's nonbinding consumer-authorized data-sharing principles name Access, Data Security, Transparency, Informed Consent, Consumer Control, Accuracy, Accountability, Disputes, and Payment Authorization. The page expressly says the principles do not establish binding requirements, so use them as a design framework rather than a statement of current legal duty.

Problem 2: scope is excessive

Scope is broader than one checkbox. It has several dimensions:

Scope is excessive

  • Accountswhich accounts the connection can read.
  • Fieldswhich data fields the connection can read.
  • Historyhow far back the connection can read.
  • Refresh frequencyhow often the connection can pull new data.
  • Recipientswhich parties can receive the data.
  • Payment authoritywhether the connection can move money or initiate payment.

Scope dimensions: excessive vs repair

Excessive

Accounts
Every account for one balance
Fields
Identity and routing for categories
History
Seven years for three-month review
Frequency
Hourly refresh for monthly report
Duration
Indefinite access for one-time task
Parties
Passed to undisclosed analytics vendors
Actions
Payment initiation bundled with read

Narrower repair

Accounts
Select one relevant account
Fields
Request transaction fields only
History
Limit the date range
Frequency
Refresh on demand
Duration
Expire after delivery
Parties
Limit and disclose recipients
Actions
Separate the permissions

Start at the user-facing permission screen, then compare it with API scopes, fields received, logs, storage tables, analytics events, and processor transfers.

Remove unused scopes and fields, shorten the period, reduce refresh frequency, split optional uses, and retest the consent language. Deleting a field from the screen is not a repair if the backend still receives it.

Worked example. Symptom: a budgeting tool asks for every account and two years of history. Diagnosis: the task only needs one checking account and 90 days. Repair outcome: scopes reduced to accounts, fields, and history actually used; the new consent screen passed review.

Problem 3: the connection is broken

Common causes include:

The connection is broken

  • expired access or refresh token;
  • password or recovery-setting change;
  • new multifactor requirement;
  • bank page change affecting scraping;
  • API version retirement;
  • disabled client or redirect address;
  • institution outage or maintenance;
  • rate limit or fraud control;
  • account closure, restriction, or identifier change;
  • aggregator routing failure.

Common U.S. intermediaries and data networks include Plaid, MX, Finicity, Yodlee, and Akoya; naming them does not mean any one caused a listed failure. Some connections use APIs and token-based OAuth 2.0 authorization, including implementations built around Financial Data Exchange (FDX) standards; others rely on screen scraping. Identify the actual method before diagnosing a break.

Record the last successful bank fetch, first failure, error family, client, token state, account state, API version, and retry history. Separate a bank fetch from the app reading its own cache.

Reauthorize only after explaining the requested scope and why the connection ended. Do not ask a user to enter credentials repeatedly when the failure is a provider outage or retired endpoint. Back off retries that trigger rate or fraud controls.

Worked example. Symptom: a lender app reports a failed connection while the bank is online. Diagnosis: an expired refresh token, not a revoked consent. Repair outcome: reauthorization prompted with scope explained; fetch restored within one business day.

Problem 4: imported data is inaccurate

The displayed number passes through layers:

Imported data is inaccurate

  • Sourcethe provider's record of the transaction.
  • Transporthow the record moves from provider to aggregator.
  • Mappinghow fields and signs are translated.
  • Timingwhether pending and posted states are ordered correctly.
  • Cachewhere an old value can survive after a new fetch.
  • Displayhow the app formats and labels the value.

Data path from provider to screen

  1. Provider record
  2. Retrieval
  3. Aggregator mapping
  4. App import
  5. Transformation
  6. Cache
  7. Screen

Possible faults include:

  • the provider record is wrong;
  • a pending item is treated as posted;
  • an available balance is labeled ledger balance;
  • a decimal or currency is misread;
  • the same page is imported twice;
  • pagination omits a page;
  • a merchant-cleaning rule alters evidence;
  • the app shows an old cache without its timestamp;
  • account identities are merged after renaming.

Capture the value and screen time. Obtain the bank's source record. Compare source and fetch timestamps, raw field name, raw value, aggregator response, transformation version, cache entry, and display.

Correct the faulty layer. Reprocess affected records from the earliest trustworthy input. Preserve both the original and correction under the applicable record rule. Tell the consumer whether the error affected only display, a recommendation, an eligibility decision, or money movement.

Worked example. Symptom: a checking balance is off by one pending debit. Diagnosis: the mapping layer treated a pending item as posted and reversed the sign. Repair outcome: records reprocessed from source; display corrected within three business days.

Problem 5: revocation appears ineffective

A user disconnects the app, yet a balance changes later. Possible explanations include:

Revocation appears ineffective

  • the app hid the tile but left the token active;
  • the bank revoked one client while another aggregator token remained;
  • the screen shows a delayed cache update created before revocation;
  • a queued retrieval completed after the request;
  • the user closed one profile but not a linked workspace;
  • a payment authority remained separate from read access.

Compare revocation time with token-disable time, retrieval time, queue creation time, processing time, and display time. Ask each party for its connection ID.

Disable every relevant token and credential, stop queued jobs, mark cached data with the last source time, and issue a clear completion record. Track deletion separately.

Consumers can contact the bank or app to revoke access and ask for confirmation of which connections were disabled. For a complaint about a financial product or service, they can use the CFPB consumer complaint portal.

Worked example. Symptom: a user disconnects an app, then sees a later balance change. Diagnosis: one aggregator token stayed active and a queued job completed. Repair outcome: all tokens disabled, queue stopped, cached data timestamped; completion record issued in two business days.

As an internal decision rule, not a legal deadline, revoke when the purpose ended or the consumer has not used the connection for 90 days. Reauthorize when a current purpose supports the same minimum scope.

Problem 6: privacy expectations and legal coverage do not align

People may assume all financial data gets identical treatment wherever it travels. Coverage varies by entity, activity, data type, and law.

The CFPB's April 2024 report on state privacy laws and financial-data monetization is titled State Consumer Privacy Laws and the Monetization of Consumer Financial Data. It discusses how exemptions may leave some financial-data collection or use outside parts of state privacy statutes. That report is policy analysis, not a substitute for checking which laws govern one service.

For U.S. data access, the federal legal anchors include Dodd-Frank Act Section 1033 and the CFPB's rule on personal financial data rights. Check the rule's current status and compliance schedule before treating a particular requirement as in force; the CFPB principles above are nonbinding and are not a substitute for the statute or rule.

GLBA and Regulation P set privacy notice and disclosure requirements for covered financial institutions. The FCRA applies when data and the parties' roles and uses meet the statute's requirements; it does not govern every account-data connection. State examples include the California Consumer Privacy Act (CCPA), as amended by the California Privacy Rights Act (CPRA), and the Virginia Consumer Data Protection Act. Their scopes and exemptions vary, so assess the specific entity, data, and activity rather than assuming a blanket exemption.

Map legal entities, jurisdictions, data sources, uses, disclosures, and claimed exemptions. Compare that map with the consumer's notice and controls.

Use plain disclosures, minimize data independent of exemption claims, and give users practical access, correction, revocation, and deletion paths where appropriate. Send legal conclusions to qualified counsel.

Worked example. Symptom: a user asks why one app shares data while another does not. Diagnosis: different entity and activity exemptions apply. Repair outcome: notice updated with the governing law and a deletion path; legal review closed in five business days.

Incident worksheet

QuestionFinding
What did the user see?
What did the provider hold?
Last successful fetch?
Authorization version and scope?
Token and client state?
Aggregator response ID?
Transformation version?
Cache timestamp?
Downstream decisions affected?
Fix owner and deadline?

Close the incident only after the consumer-facing value, source record, access state, and retained-data handling are reconciled.

Incident worksheet questions

  • What did the user see?
  • What did the provider hold?
  • Last successful fetch?
  • Authorization version and scope?
  • Token and client state?
  • Aggregator response ID?
  • Transformation version?
  • Fix owner and deadline?

Common questions

Does a failed refresh mean access was revoked?

No. It may be an outage, token error, account change, rate control, or integration failure.

Can accurate source data produce a wrong app balance?

Yes. Mapping, signs, timing, duplicate handling, and caching can change the result.

Is payment authority part of every data connection?

No. Treat payment initiation as a distinct permission and control path.

Should every stale connection be reauthorized?

No. If the purpose ended, revoke it. Reauthorize only when a current purpose supports access.

More in Rules

Latest from Trade Desk