Skip to content

Complete Anonymous Donation Workflow with GDPR-Compliant Identity Controls and Optional Disclosure #116

Description

@grantfox-oss

Description

The current system supports anonymous donations at the schema level, but the end-to-end workflow is incomplete and inconsistent across checkout, campaign display, data retention, and post-donation identity management.

This issue focuses on fully implementing a robust anonymous donation system that respects user privacy while still allowing optional identity disclosure for use cases such as tax reporting or donor verification.

Problem Statement

While anonymous donations can be recorded, the application currently lacks:

  • A clear checkout option to choose between anonymous and identified donations.
  • Consistent handling of anonymous donors in campaign displays and leaderboards.
  • Support for bulk or grouped anonymity (e.g., organizational or pooled donations).
  • A defined GDPR-compliant strategy for storing or minimizing personal data in anonymous donations.
  • A mechanism for donors to optionally reveal their identity after donating.

As a result, anonymity is inconsistently applied and not legally or operationally robust.

Scope

1. Checkout Flow: Anonymous vs Identified Donations

  • Add a clear option during checkout:

    • “Donate anonymously”
    • “Donate with identity”
  • Ensure the selection is persisted in the donation record (e.g., isAnonymous: boolean).

  • Prevent accidental leakage of identity data in metadata when anonymous is selected.

2. Campaign Display Logic

  • Anonymous donations must not expose:

    • User names
    • Profile images
    • Email or identifiers
  • Replace donor identity with a consistent placeholder such as:

    • “Anonymous”
    • “Anonymous Donor”
  • Ensure leaderboards and donation feeds respect anonymity flags.

3. Bulk Anonymity for Groups

  • Support group or batch donations marked as anonymous at the group level.
  • Ensure all child donations inherit anonymity unless explicitly overridden.
  • Maintain audit consistency while preserving privacy.

4. GDPR-Compliant Data Retention

  • Define clear data retention rules for anonymous donations:

    • Minimize stored personal data where anonymity is selected.
    • Avoid storing unnecessary identifiers (email, user ID linkage beyond required audit scope).
  • Ensure compliance with GDPR principles such as data minimization and purpose limitation.

  • Document retention policy for anonymous vs identified donations.

5. Post-Donation Identity Disclosure

  • Allow donors to optionally reveal their identity after donation:

    • Useful for tax receipts or verification purposes.
  • Implement a secure flow to:

    • Link anonymous donation → user account (if requested)
    • Regenerate receipts with identity if applicable
  • Ensure this action is explicitly opt-in and logged for audit purposes.

6. API and Backend Updates

  • Extend donation schema and services to support:

    • isAnonymous
    • Optional revealedAt or identity-linking timestamp
  • Ensure APIs correctly filter sensitive data for anonymous donations.

  • Maintain backward compatibility with existing donation records.

7. Security & Privacy Considerations

  • Prevent inference attacks where multiple metadata fields could re-identify anonymous donors.
  • Ensure logs, analytics, and third-party integrations respect anonymity flags.
  • Sanitize event tracking and analytics pipelines.

Acceptance Criteria

  • Users can select anonymous or identified donation at checkout.
  • Anonymous donations never expose donor identity in UI or APIs.
  • Campaign pages consistently display “Anonymous” for anonymous donations.
  • Bulk/group donations correctly propagate anonymity settings.
  • GDPR-compliant data minimization is implemented for anonymous donations.
  • Donors can optionally reveal identity after donating in a secure flow.
  • Analytics and logs respect anonymity constraints.
  • Existing donation flows remain unaffected for identified donations.
  • System passes privacy and regression checks for mixed donation types.

Metadata

Metadata

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial CampaignCampaign: Official CampaignenhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions