Data Collection Inventory
What data we collect and how it is used.
This inventory lists every category of personal data Crushwed collects, the purpose for collecting it, where it is stored, and which third-party services process it.
Account & authentication data
Collected: email or phone number, password hash, account role, timestamps.
Purpose: authenticate users, secure the account, and enforce role-based access.
Storage: MongoDB (User collection). Password hashes use bcrypt with cost factor 12; plaintext passwords are never stored.
Third-party recipients: production database and backend-hosting providers must be identified.
Profile information
Collected: name, date of birth, gender, height, location (country/state/city), religion, community, education, profession, family details, lifestyle preferences, partner preferences, biography.
Purpose: build your matrimonial profile, compute compatibility scores, and power Discover/Search.
Storage: MongoDB (Profile and PartnerPreference collections).
Third-party recipients: production database and backend-hosting providers must be identified.
Photos, chat images & selfie verification
Collected: profile photos, images sent in chat, and live selfie verification images (a neutral face photo and a photo with a requested head turn).
Purpose: display profiles and chat images, verify identity through live selfie verification, and support trust & safety.
Storage in the current implementation: image files and variants are written to the backend's uploads/ filesystem; selfie images are stored in a private verification directory not served to the public; MongoDB stores URLs and storage paths. Production storage depends on the deployed host and must be confirmed.
Third-party recipients: no Cloudinary integration is present in the reviewed upload code. Identify the actual production hosting or file-storage provider before release.
Device & push tokens
Collected: Expo push notification token, device platform (iOS/Android).
Purpose: deliver in-app notifications and push alerts for matches, messages, and other events.
Storage: MongoDB (DeviceToken collection).
Third-party recipients: Expo Push Notification service and Google/Apple platform push services. Expo receives push tokens and notification payloads to deliver them; a new-message push may contain a short text excerpt.
Usage, messages & safety reports
Collected: swipes, likes, passes, matches, interests, shortlists, blocks, report reason/details and target/account IDs, messages, notifications, ad-reward events, subscriptions, and boosts.
Purpose: operate core app features, maintain conversation history, enforce business rules (message limits, ad caps), and provide support.
Storage: MongoDB (dedicated collections per feature).
Third-party recipients: production database and hosting providers are deployment-specific. Safety reports may remain after account deletion; see the retention page.
Selfie verification
Collected: two live camera photos (neutral face and requested head turn) submitted for identity verification.
Purpose: confirm that your profile photos are really you, and support the Verified badge.
Storage: selfie images are stored in a private verification directory (not served to the public) and referenced in MongoDB. Selfies are deleted automatically: 7 days after a review decision, or 14 days if the request is still awaiting review.
Third-party recipients: selfies are only seen by our review team. No identification documents are collected.
Chat filter & blocked messages
Collected: outgoing message text (and photo captions) is screened for phone numbers, email addresses, links, and abusive content. Messages matching a blocked category are not sent; messages matching a flagged category are delivered but recorded for admin review.
Purpose: protect members from harassment, spam, and contact details shared in chat.
Storage: blocked and flagged message excerpts are retained for 30 days for moderation purposes.
Third-party recipients: no third party receives message content; excerpts are for internal moderation only.
Email & password reset
Collected: account email address and a time-limited password-reset code when a reset is requested.
Purpose: allow members to securely reset their password.
Storage: account email in MongoDB; reset codes are short-lived and not stored permanently.
Third-party recipients: the production email provider must be identified from deployment configuration.
Real-time session data
Collected: Socket.IO connection identifiers mapped to your user ID while the app is open.
Purpose: deliver real-time chat, typing indicators, and presence updates.
Storage: ephemeral in-memory maps on the backend server; not persisted to disk.
Third-party recipients: the production backend-hosting provider must be identified.
Advertising data
Collected: AdMob SDK data. The SDK is initialized at app startup and rewarded ads are available in chat; Google's SDK may collect device/advertising identifiers, IP address, diagnostics, and ad/app interactions. Verify the current disclosure for the exact SDK version in the release build.
Purpose: serve rewarded ads in exchange for extra messages.
Storage: AdMob's own infrastructure; Crushwed stores only the transaction outcome (messages awarded, daily cap counter).
Third-party recipients: Google AdMob.
Service logs & diagnostics
Collected: HTTP request metadata including IP address and user-agent/device headers; error logs can include internal user IDs and technical context. The code does not establish a fixed log-retention period.
Purpose: monitor service health, debug failures, and improve reliability.
Storage: server-side logs; the deployed log provider and retention period depend on production configuration.
Third-party recipients: production hosting/logging providers must be identified.
Infrastructure and service providers
MongoDB, backend hosting, persistent file storage, SMTP/email, and logging are configured outside the app. Identify the actual providers and their privacy-policy links for the production deployment; this repository does not determine those providers or regions.
What we do NOT collect
- Precise GPS location — only city/state/country is collected and stored.
- Contacts, SMS, or photo library beyond what you actively upload.
- Identification documents — we use live selfie verification instead.
- Credit card or payment details — purchases are mocked and no payment processor is integrated.