Skip to content

Privacy policy page and site footer #196

Open

Description

@epodol

Problem

The app collects real user data with no privacy policy: Firebase Auth (email, display name, provider IDs), Firestore (map titles, node text, collaborator UIDs, everUpdatedBy history), Google Analytics + Performance Monitoring, and App Check (reCAPTCHA v3 device/browser signal).

Two aggravating factors:

  • Anonymous accounts are created automatically for every visitor who opens /mindmaps or a shared map (AnonymousAuth wraps those routes) — users are in the auth system before consenting to anything.
  • The pitch targets students, so some users are plausibly under 13 — COPPA applies, affecting the sign-up flow, and requiring child-directed/non-personalized configuration if ads ever run.

Proposed approach

  • Draft the policy from the actual data inventory above; a human reviews it before it ships (counsel if being careful).
  • Add a footer following the exact Navigation pattern in src/components/Routing/index.tsx: present on Home, About, SignIn, CreateAccount, Account, ManageMindMaps; deliberately absent on /mindmaps/:mindmapID to keep the canvas chrome-free. Content: privacy policy link, GitHub link, optionally the Congressional App Challenge award mention.
  • Operationally: enable Firebase's auto-cleanup of stale anonymous accounts, since they otherwise accumulate forever.
  • Sequencing: do this once the stack stops moving, since the policy must describe what is actually live. Any ads decision is strictly after this ships.

Acceptance criteria

  • Privacy policy page live, covering auth (incl. anonymous), Firestore content, Analytics/Perf, App Check, and COPPA posture
  • Footer on the marketing/account routes, absent on the map canvas
  • Anonymous-account auto-cleanup enabled
  • Human review of the policy text recorded before merge

References

ROADMAP.md section 10.

Activity

  1. epodol commented on Jul 7, 2026

    @epodol
    CollaboratorAuthor

    Landed on the revival branch in 4791c69 (part of #199): /privacy page drafted from the live data inventory (auth incl. auto-created anonymous guests, Firestore map content/edit history, Groq + Datamuse suggestion calls, Analytics/Perf, App Check reCAPTCHA v3, COPPA posture) plus a footer on all Navigation routes (absent on the canvas). Two acceptance criteria remain human-only and are on the #199 checklist: review of the policy text before merge, and enabling anonymous-account auto-cleanup in the Firebase console.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    complianceLegal / policy requirementsenhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions