Problem
The platform cannot reliably prove which risk disclosure, fee schedule, privacy notice, and hire-purchase or investment terms a user accepted for a specific transaction.
Scope
- Create immutable document versions with canonical bytes, locale, jurisdiction, effective dates, and cryptographic hashes.
- Build consent challenges bound to user, role, document set, transaction/contract intent, timestamp, and expiry.
- Record affirmative acceptance with session/wallet evidence and a render manifest showing exactly what was displayed.
- Prevent silent replacement of a document version after acceptance.
- Define re-consent rules for material changes and grandfathering behavior for existing contracts.
- Support accessible download/export and auditable withdrawal where legally permitted.
- Keep sensitive identity evidence off-chain; anchor hashes/references only where useful.
Acceptance criteria
- Every financial contract references the exact accepted document-version set.
- Acceptance cannot be replayed for another transaction, user, or jurisdiction.
- Historical documents remain retrievable and hash-verifiable.
- Material changes trigger the configured re-consent workflow.
- Missing consent blocks only the affected action with a stable error.
Required tests
Concurrent document publication, locale fallback, expired/replayed consent, changed fee schedule, grandfathered contracts, export, accessibility, and hash verification.
Non-goals
Do not author legal text; implement versioning and evidence controls.
Problem
The platform cannot reliably prove which risk disclosure, fee schedule, privacy notice, and hire-purchase or investment terms a user accepted for a specific transaction.
Scope
Acceptance criteria
Required tests
Concurrent document publication, locale fallback, expired/replayed consent, changed fee schedule, grandfathered contracts, export, accessibility, and hash verification.
Non-goals
Do not author legal text; implement versioning and evidence controls.