Executive Summary: Brew ("CoffeeChat") is an authentic nearby coffee meetup, community activity, and urban discovery platform engineered with strict privacy-by-design principles. One-to-one direct messages are protected by client-side End-to-End Encryption (E2EE) using X25519 ECDH and AES-256-GCM. Speech recognition and multi-lingual translations run 100% on-device without streaming audio or text to cloud translation APIs. Verification selfies are analyzed ephemerally and deleted immediately (0-second retention). This policy outlines our data collection, processing, retention, and user deletion rights in full compliance with Google Play Store User Data Policies, GDPR, CCPA/CPRA, and Australian Privacy Principles.
When you sign in using Google Sign-In or Apple Sign-In, we collect your display name, email address, and profile photo URL via Firebase Authentication. This information is used exclusively to create, authenticate, and secure your Brew account.
To facilitate meaningful coffee chat matching, you provide the following profile information during onboarding:
3-Stage Progressive Trust Model: Profile data is partitioned and protected under a strict 3-stage progressive disclosure architecture:
With your explicit runtime permission, Brew accesses your device's geolocation to discover nearby activities, calculate transit directions, and facilitate local coffee meetups. We implement a strict 3-tier dual-precision location architecture:
users/{uid}/private/profile).users/{uid}.geohashPrefix) strictly to enable push notification fanout for newly created nearby activities without exposing your location.We never track background location, sell geolocation data to advertisers, or monitor continuous movements. Location access is foreground-only and requested on-demand.
Brew offers an optional Identity Verification badge. To verify your profile, you take a real-time verification selfie. This image is securely transmitted to our serverless backend where Google Cloud Vision API analyzes face placement, lighting, and pose angle. Verification selfies are processed ephemerally in memory and permanently deleted immediately in a finally execution block (0-second retention). Brew never builds or retains biometric facial recognition templates.
If you choose to send an optional developer tip or donation (e.g., Espresso, Coffee & Croissant, Roaster Supporter), all payment processing is handled directly and securely by the Google Play Store Billing System or Apple App Store (StoreKit). Tipping is a voluntary donation to support independent app development; it conveys no supporter badges, entitlements, or profile modifications. We never collect, process, or store credit card, banking, or billing details.
One-to-one direct messages are protected by client-side End-to-End Encryption (E2EE) using X25519 ECDH (Elliptic Curve Diffie-Hellman) key exchange and AES-256-GCM authenticated encryption. Only encrypted ciphertext is stored in Firebase Firestore; plaintext messages are never transmitted to or readable by Brew servers. Users can optionally create an encrypted cloud recovery vault at users/{uid}/private/vault protected by PBKDF2 (100,000 iterations, SHA-256) and AES-256-GCM using a personal password.
Note on Activity Group Chats: Community group activity chats are stored in plaintext in Firestore subcollections (chats/{chatId}/messages) to support public activity discovery, group coordination, and on-device translation. Please avoid sharing sensitive personal credentials in public group chats.
We collect your Firebase Cloud Messaging (FCM) token (stored privately in users/{uid}/private/profile.fcmToken) to deliver push notifications for incoming chat requests, matches, and meetup updates. We do not harvest device IMEI, advertising IDs (GAID/IDFA), or hardware serial numbers.
When you use Voice Dictation in the Scout AI Concierge or Standalone Translator screen, Brew requests optional runtime Microphone permission (android.permission.RECORD_AUDIO / NSMicrophoneUsageDescription). Spoken audio is captured only while actively dictating and is processed ephemerally on-device by native platform speech recognition engines (expo-speech-recognition). Spoken audio recordings are never recorded in the background, saved to local disk, transmitted to cloud servers, or analyzed for voice biometrics.
When interacting with Scout (Brew's AI Activity Concierge), conversational prompts and meetup parameters (such as activity title, category, coarse coordinates, and transit estimates) are securely transmitted via server-side Firebase Cloud Functions (geminiGenerateContent) to the Google Gemini API to generate venue suggestions and itineraries. Prompts are processed ephemerally in real time and are not used by Google to train foundation models. If you flag an AI response using the in-app report button, the message is logged to our secure moderation collection (/reports with source: "ai_concierge") for safety review.
/reports are reviewed to enforce guidelines against harassment or bad actors. Automated Cloud Vision SafeSearch filters explicit images.We partner with trusted service providers to deliver backend infrastructure, urban intelligence, and map rendering under strict data protection terms:
| Provider / Service | Purpose | Data Handled | Privacy Reference |
|---|---|---|---|
| Google Firebase | Auth, Firestore DB, Storage, RTDB Presence, Cloud Functions, FCM Notifications | Account ID, Email, Profile documents, Encrypted ciphertexts, FCM Tokens | Firebase Privacy |
| Google Gemini API | Scout AI Activity Concierge & Itinerary Generation (Server-Side Proxy) | Ephemeral activity planning prompts & coarse coordinates (not used to train Google foundation models) | Google AI Privacy |
| Google Cloud Vision API | Ephemeral Identity Verification & SafeSearch Image Moderation | Temporary selfie image (processed in memory, immediately deleted) and profile avatars | Google Cloud Privacy |
| Google Maps Platform & Apple Maps | Interactive Map Tile Rendering & Navigation Directions Deep Links | Viewport coordinates for map rendering; external navigation requests opened in native maps app | Google Maps Privacy • Apple Privacy |
| Google ML Kit & Apple Translation | On-Device Neural Translation Models (Local Translation Engine) | Language model pack downloads to local device storage. Message translation executes 100% on-device with zero cloud text transmission. | ML Kit Terms • Apple Privacy |
| Google Play Billing & Apple StoreKit | In-App Purchases & Voluntary Developer Tipping | Purchase transaction receipt tokens (zero credit card or banking info handled by Brew) | Google Privacy • Apple Privacy |
| Public Urban Connectors (Photon, Open-Meteo, CityBikes GBFS, Wikivoyage) | Live Map Cafe Search, Weather Forecasts, Bikeshare Docks, Travel Guides | Coarse coordinates, bounding boxes, and query strings only (zero personal identifiers or user credentials) | Photon OSM • Open-Meteo • CityBikes • Wikimedia |
| Live Event Connectors (Meetup, Eventbrite, Ticketmaster, Luma) | Local Community Events, Concerts, and Workshops Discovery | Geographic coordinates and search radius. Zero personal profile data or user IDs transmitted. | Meetup • Eventbrite • Ticketmaster • Luma |
| OSRM Road Routing Engine | Walking and Driving Transit Route Estimates | Origin and destination lat/lng coordinates for routing matrix. Zero user identifiers. | OSRM Project |
| Open Exchange Rates (ExchangeRate-API) | Real-Time Currency Conversion Table for Travel Utilities | Keyless anonymous GET request for base USD exchange rate matrix; cached locally in AsyncStorage. Zero user data. | ExchangeRate-API Privacy |
| Travel Concierge Partners (Yesim, SafetyWing) | Optional Outbound Referral Links (eSIM & Nomad Travel Insurance) | Zero personal data shared by Brew. User navigates externally via standard browser link. | Yesim Privacy • SafetyWing Privacy |
Brew enforces strict automated retention schedules executed via scheduled serverless Cloud Functions:
cleanupExpiredMatchmakingQueue).cleanupEndedChats).cleanupExpiredActivities), recursively deleting associated group chat messages.finally block./reports are retained for up to 90 days for safety investigations before permanent deletion.You maintain full control over your personal data:
deleteMyAccount Cloud Function.Exhaustive Data Deletion Guarantee: Executing an account deletion permanently wipes:
/users/{uid}) and all private subcollections (/private/profile, /private/vault)./status/{uid}) and matchmaking queue entries.profilePics/{uid}.jpg).For individuals residing in the European Economic Area (EEA) and the United Kingdom, Brew acts as the Data Controller of your personal data.
| Processing Operation | Categories of Personal Data | GDPR Legal Basis (Article 6 / 9) |
|---|---|---|
| Account Registration & Auth | Display name, Email, Profile photo URL, UID | Art. 6(1)(b) Contract Performance |
| Profile & Matchmaking | Alias, Age, Gender, Interests, Icebreakers, Coarse Geohash | Art. 6(1)(b) Contract Performance |
| E2EE Direct Messaging | Encrypted message ciphertext, Cryptographic public keys | Art. 6(1)(b) Contract Performance |
| Precise Geolocation | High-accuracy GPS coordinates for map & routing | Art. 6(1)(a) Explicit Consent |
| Voice Dictation | Microphone audio stream (processed locally) | Art. 6(1)(a) Explicit Consent |
| Identity Verification | Ephemeral verification selfie | Art. 6(1)(a) Explicit Consent |
| Demographic Preferences | Optional Ethnicity selection | Art. 9(2)(a) Explicit Consent (Special Category) |
| Automated Media Moderation | Profile pictures & uploaded media | Art. 6(1)(f) Legitimate Interests (Safety) |
| Abuse & Safety Reporting | User reports, flagged AI outputs in /reports |
Art. 6(1)(f) Legitimate Interests & Art. 6(1)(c) Legal Obligation |
| In-App Supporter Purchases | Purchase receipt tokens | Art. 6(1)(c) Legal Obligation & Art. 6(1)(b) Contract |
Providing your ethnicity is completely optional during onboarding. Processing occurs strictly based on your explicit consent under Art. 9(2)(a), and you may delete this preference at any time. Face verification analyzes 2D landmark positioning solely to confirm a live human presence; Brew does not extract, store, or process unique biometric templates or facial recognition vectors.
Under GDPR, you have the right to:
Personal data is hosted on Google Cloud Platform / Firebase servers located primarily in the United States. International data transfers from the EEA, Switzerland, and the UK rely on the European Commission's Standard Contractual Clauses (SCCs) incorporated into our cloud infrastructure agreements.
| CCPA Category | Collected Examples in Brew | Business Purpose | Retention Period |
|---|---|---|---|
| A. Identifiers | Display name, real name, email, UID, FCM token, IP address | Account creation, auth, matchmaking, push alerts | Duration of active account |
| B. Personal Records (Cal. Civ. Code § 1798.80(e)) | Name, age, birth month/year, gender, profile photo, bio | Profile customization & 3-stage progressive disclosure | Duration of active account |
| C. Protected Classifications | Age (18+), gender, optional ethnicity (voluntary) | Matchmaking compatibility filtering & age enforcement | Duration of active account |
| D. Commercial Info | In-app tipping transaction receipt tokens | Processing voluntary developer tips & accounting compliance | Statutory financial periods |
| E. Internet / Network Activity | Presence status (status/{uid}), rate limit counters |
App performance, anti-spam, matchmaking presence | Session-scoped / 24h counters |
| F. Geolocation Data | Precise GPS (map/routing) & Approximate geohash prefix | Nearby activity discovery, Discovery Radar, road transit | Coarsened geohash while searching; precise GPS isolated in private profile |
| G. Audio / Visual Data | Profile photos; ephemeral selfie; ephemeral speech dictation | Profile display, identity badge, voice speech-to-text | Photos stored until replaced; selfies and audio discarded immediately (0s) |
| H. Sensitive Personal Info (SPI) | Account login credentials, precise GPS, optional ethnicity | Core service delivery, nearby discovery, user preferences | Duration of active account |
Brew does NOT sell personal information of any consumer (including minors under 16) for monetary or other valuable consideration. Brew does NOT share personal information with third parties for cross-context behavioral advertising. We do not incorporate third-party advertising SDKs or tracking pixels.
Brew complies with the 13 Australian Privacy Principles (APPs) governing personal information handling:
Brew is strictly intended for individuals aged 18 and older. We enforce an age gate during onboarding and do not knowingly collect personal data from minors. Accounts identified as belonging to individuals under 18 are terminated and purged immediately.
For any questions, concerns, or data requests regarding this Privacy Policy, please contact the developer:
Developer: Yashas Reddy K
Application: Brew (CoffeeChat)
Package Identifier: com.yashasreddyk.brew
Contact Email: brewapp.support@gmail.com
Account Deletion Portal: https://coffeechat-yashas-2026.web.app/delete.html