Skip to content

Fix supporter wallet address exposure and ProfileReport IP retention - #900

Merged
OlaGreat merged 2 commits into
OlaGreat:mainfrom
all-opensource-projects:fix/privacy-ip-retention-and-email-subject
Jul 28, 2026
Merged

Fix supporter wallet address exposure and ProfileReport IP retention#900
OlaGreat merged 2 commits into
OlaGreat:mainfrom
all-opensource-projects:fix/privacy-ip-retention-and-email-subject

Conversation

@meshackyaro

Copy link
Copy Markdown
Contributor

Summary

Notes

Closes #869, Closes #870

Test plan

  • npm run test (backend) — all suites pass except pre-existing, network-dependent failures reproduced identically on a clean upstream/main checkout (Horizon/Redis-dependent tests unreachable in a sandboxed environment)
  • New unit tests for the truncated subject and the IP purge job
  • npx prisma migrate deploy + CI's exact prisma migrate diff drift check — no drift
  • npm run build (backend) — clean
  • npm run lint (backend) — 0 errors (pre-existing warnings only)

The contribution-received email subject included the supporter's full
56-character Stellar address, which is exposed through channels beyond
our control (email provider indexing, push notification previews,
marketing/analytics logs). The subject now shows a truncated address;
the full address is still included in the email body.
…eport

ProfileReport.reporterIp had no expiry, contradicting the privacy policy's
claim that IP addresses are not stored long-term. Add an expiresAt field
(90 days from creation), a daily scheduled job that nulls out reporterIp
once expired, and update the privacy policy copy to accurately describe
the retention window.
@drips-wave

drips-wave Bot commented Jul 27, 2026

Copy link
Copy Markdown

@meshackyaro Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@meshackyaro

Copy link
Copy Markdown
Contributor Author

CI status note

All four CI checks on this PR are red, but none of the failures are caused by this PR — they're pre-existing, repo-wide issues on main:

This PR's own changes were fully validated locally against the CI environment (Postgres 16, Node 22): backend tests, lint (0 errors), build, and prisma migrate diff drift check all pass. The line I added to privacy/page.tsx doesn't introduce any new lint errors — I checked the exact escaped/unescaped output.

Happy to open a separate PR to stabilize these pre-existing CI issues if that's useful, but keeping this PR scoped to #869 and #870 as assigned.

@OlaGreat
OlaGreat merged commit 18b773e into OlaGreat:main Jul 28, 2026
0 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants