Disclosure effectiveness measured
Why it matters
Disclosure effectiveness measurement is the mechanism by which a financial product proves its disclosures actually work — not just that they exist. ISO 25010:2011 §4.2.4 (usability quality characteristics) treats measurability as a component of quality assurance. A product that ships TILA disclosures, fee tables, and a dispute notice but never tracks whether users view or engage with them cannot demonstrate "clear and conspicuous" compliance under CFPB standards — because clarity is a function of user comprehension, not document presence. Analytics on disclosure pages also surface the difference between required content that users find helpful and content so buried that it functions only as legal cover.
Severity rationale
Info because disclosure measurement is a quality improvement signal rather than a compliance floor, but its absence means the product cannot demonstrate "clear and conspicuous" effectiveness under CFPB examination.
Remediation
Wrap all compliance-critical disclosure sections in a shared component that fires analytics events on mount. In src/components/DisclosureSection.tsx:
// src/components/DisclosureSection.tsx
import { useEffect } from 'react'
import { trackEvent } from '@/lib/analytics'
export function DisclosureSection({ id, title, children }: {
id: string
title: string
children: React.ReactNode
}) {
useEffect(() => {
trackEvent('disclosure_viewed', { disclosure_id: id, title })
}, [id, title])
return (
<section className="disclosure" aria-labelledby={id}>
<h2 id={id}>{title}</h2>
{children}
</section>
)
}
Use this component for every fee schedule, APR block, TILA section, and dispute notice. Review the disclosure_viewed event data quarterly to identify disclosures with low view rates and move them higher in the page.
Detection
-
ID:
disclosure-metrics -
Severity:
info -
What to look for: Enumerate all disclosure-related pages (Terms, Privacy Policy, fee schedule, TILA disclosure). For each, search for analytics or measurement code. Count occurrences of: analytics event tracking on disclosure pages (e.g.,
trackEvent('disclosure_viewed')), user feedback mechanisms (helpful/confusing buttons), scroll-depth tracking on legal pages, or documented user testing notes referencing disclosures. -
Pass criteria: At least 1 measurement mechanism exists for disclosure pages: analytics event tracking (e.g., a
trackEventoranalytics.trackcall on a disclosure page), a user feedback widget on a legal page, or documented user testing results mentioning disclosures. Quote the tracking code or feedback mechanism found and the file path. -
Fail criteria: No analytics tracking, no user feedback mechanism, and no documented user testing related to disclosure pages exist anywhere in the codebase.
-
Skip (N/A) when: The project is less than 3 months old or is in prototype phase with no analytics infrastructure at all.
-
Detail on fail: Example:
"No analytics events for disclosure pages. No feedback mechanism on Terms, Privacy Policy, or fee disclosure pages. No user testing documentation found. 0 measurement mechanisms present." -
Remediation: Add analytics and feedback loops for disclosures in
src/components/DisclosureSection.tsx:// src/components/DisclosureSection.tsx import { useEffect } from 'react' import { trackEvent } from '@/lib/analytics' export function DisclosureSection({ title, children }) { useEffect(() => { trackEvent('disclosure_viewed', { title }) }, [title]) return ( <section className="disclosure"> <h2>{title}</h2> {children} <details> <summary>Did this help clarify your questions?</summary> <div className="feedback"> <button onClick={() => trackEvent('disclosure_helpful', { title })}> Yes, helpful </button> <button onClick={() => trackEvent('disclosure_confusing', { title })}> No, I have questions </button> </div> </details> </section> ) }
External references
- iso-25010:2011 · performance-efficiency.time-behaviour — ISO 25010 — maintainability / analysability; measuring operational effectiveness of disclosure components
Taxons
History
- 2026-04-18·v1.0.0·Initial import from finserv-disclosure·automated