We have just deployed a major overhaul to the platform. While the frontend looks familiar, the engine under the hood has been completely rebuilt to prioritize User Privacy and Gamification. This update transitions us from a simple data-entry app to a secure, community-driven platform.
Here is the breakdown of the changes implemented in version 2611.
β
1. The "Great Data Split" (Security Architecture)
The most critical change in this update is how we handle Personally Identifiable Information (PII). Previously, user data (phone, email) lived on the public disc listing. We have completely architected this to separate Public data from Private data.
β’ Registration & Listings: When a user registers or posts a disc, the system now splits the data into two separate Firestore locations.
β’ Public Data: (Alias, Disc Mold, Color, Course) remains in the public lostDiscs collection.
β’ Private Data: (Email, Phone Number) is now written to a restricted sub-collection.
β’ Why this matters: This ensures that malicious actors cannot "scrape" the database for phone numbers. Contact details are only retrieved by the application code when strictly authorized (e.g., when you click "Edit" on your own disc).
π 2. "Rich History" & Returns Logic
Previously, marking a disc as "Found" simply changed a status flag. Now, we generate a permanent historical record of the event.
β’ The Snapshot: When a return is resolved, the system takes a "snapshot" of the Disc, the Owner, and the Finder at that exact moment and freezes it in a new completedReturns collection.
β’ Attribution: This allows us to permanently credit a specific user for a find, even if they change their alias later. It supports the gamification engine by proving who found what.
π₯ 3. "Self-Healing" Accounts & Quality of Life
We realized that some older user accounts might lack data required by the new system. We added intelligent "self-healing" code to fix this automatically.
β’ Login Repair: When a user signs in, the system checks if their profile exists in the new database format. If it's missing (legacy user), it automatically generates the profile in the background without interrupting the user.
β’ Privacy Blurs: On the "Found Discs" page, owner contact details are now visually blurred (**********) by default. They only un-blur when the owner explicitly Accepts a contact request (Ping), ensuring consent before data sharing.
π₯4. Image Handling
β’ Disc Images: We enabled image uploading for lost discs. The system validates that files are images and under 5MB, then uploads them to Firebase Storage, linking the URL to the disc listing.