Skip to content

[HARD][CONSENT] Version financial disclosures and bind accepted terms to every contract #145

Description

@Obiajulu-gif

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial Campaign | FWC26Campaign: Official Campaign | FWC26

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions