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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

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