Technical & Security Whitepaper

Built for trust
at every layer.

Infrastructure, data protection, and compliance for a proximity platform scaling from 50,000 to 1,000,000+ users across 20+ cities — with venue partners, creators, and real-world events that demand institutional-grade security.

Version
2.0 — February 2026
Classification
Confidential
Contact
Prepared By
Enso Engineering Team
Audience
IT Review, Enterprise Security, Partnership Due Diligence
Codebase
53,454 lines · 182 files · 68 screens
1. Executive Summary 2
2. Scale Context: Why Security Architecture Matters Now 3
3. Platform Architecture 4
4. Authentication & Authorization 5
5. Data Protection & Privacy 7
6. Infrastructure Security 9
7. Application Security 10
8. User Privacy Controls 11
9. Database Schema & Security Design 12
10. Partner Trust: Venue & Creator Security 14
11. Scaling Security: Growth Roadmap 15
12. Compliance & Regulatory 16
13. Third-Party Dependencies 17
14. Secure Development Practices 18
15. Security Contact & Disclosure 18

1. Executive Summary

Enso is a privacy-first, proximity-based social discovery platform that connects people based on shared intents and physical proximity. The platform enables users to discover, signal, match, and chat with nearby individuals through time-limited "collision" sessions that expire after 24 hours.

The application is built on a modern, cloud-native architecture leveraging React Native for cross-platform mobile delivery and Supabase (hosted PostgreSQL) for backend services. Security is embedded at every layer: from row-level database security policies to encrypted communications, privacy-by-default user controls, and comprehensive content moderation.

Core Security Principles

🔒 Privacy by Default

Users are invisible until they actively choose to be discoverable. No passive tracking.

🛡️ Zero-Trust Data Model

Row-Level Security (RLS) enforces access control at the database layer — every query, every time.

⏱️ Ephemeral Connections

Chat sessions auto-expire in 24 hours, minimizing data retention surface area.

🔐 End-to-End Encryption

All data in transit secured via TLS 1.3. AES-256 at rest. PCI DSS via Stripe.

📦 Minimal Data Collection

Only data essential for core functionality is collected. No data sold to third parties.

👤 User Sovereignty

Users control visibility, data sharing, and can delete all data at any time. GDPR/CCPA compliant.

2. Scale Context: Why Security Architecture Matters Now

Enso is raising $1.5M pre-seed to scale from seed city to national rollout. The security architecture described in this document is designed not just for launch — but to support the growth trajectory investors and partners are backing.

1M+
Year 3 users (50K → 250K → 1M+)
1,000+
Year 3 venue partners (25 → 200 → 1,000)
15,000
Year 3 active creators (100 → 2,000 → 15,000)

This three-sided marketplace — users, creators, and venues — creates compounding security responsibilities. Each partner type introduces different data concerns:

StakeholderData SensitivitySecurity Requirement
Users (400K MAU Y3)Location, intents, chat, paymentRLS isolation, ephemeral data, GDPR deletion
Venues (1,000+)Foot traffic, analytics, bookings, revenueBusiness data isolation, Stripe Connect, staff permissions
Creators (15,000)Audience data, broadcast history, earningsFollower privacy, content moderation, payout security

Design philosophy: Every RLS policy, encryption standard, and retention rule in this document was built to serve not just 15,000 MAU at launch — but 400,000 MAU at scale, across 20+ cities, with thousands of venue and creator partners holding real business data on the platform.

3. Platform Architecture

3.1 Technology Stack

LayerTechnology
Mobile ClientReact Native (Expo SDK 54) — iOS & Android
Backend PlatformSupabase (PostgreSQL 15, GoTrue Auth, Realtime, Storage)
DatabasePostgreSQL 15 with PostGIS extension for geospatial queries
AuthenticationSupabase GoTrue (JWT-based) with OAuth providers
Real-timeSupabase Realtime (WebSocket) for live messaging
Push NotificationsExpo Push Notification Service + Supabase Edge Functions
File StorageSupabase Storage with signed URL access control
PaymentsStripe + RevenueCat for subscription management
Edge FunctionsDeno-based Supabase Edge Functions (3 deployed)
AI ServicesEdge Function proxying to LLM provider (Cue AI)
Hosting RegionSupabase Cloud (AWS infrastructure, US region)

3.2 Architecture Overview

ComponentDescription
Mobile AppReact Native client (53,454 LOC, 68 screens) handling UI, location services, and local state
Supabase API (PostgREST)Auto-generated REST API with RLS enforcement on every query
Supabase Auth (GoTrue)JWT token issuance, OAuth, email/password authentication
Supabase RealtimeWebSocket connections for live chat and presence (30-second refresh)
Supabase StorageSecure file storage for profile photos and media
Edge FunctionsServerless compute for push notifications, AI chat, moderation
PostgreSQL + PostGIS65 tables, 56 RPCs, geospatial indexing for proximity queries

3.3 Data Flow

All client-server communication follows this pattern:

At scale: This pattern handles 400K MAU because PostgREST and RLS are PostgreSQL-native — they scale horizontally with the database. No application-layer authorization code to audit or maintain.

4. Authentication & Authorization

4.1 Authentication Methods

MethodDetails
Email/PasswordBcrypt-hashed passwords, configurable password policy
OAuth 2.0Google, Apple Sign-In via Supabase GoTrue
JWT TokensShort-lived access tokens (1 hour) + refresh tokens
Session ManagementAutomatic token refresh; sessions revoked on password change

4.2 Row-Level Security (RLS)

Every table in the database has RLS enabled. Policies ensure users can only access their own data or data explicitly shared with them. This is enforced at the PostgreSQL level, meaning even direct database access respects these boundaries.

TableOperationPolicy
profilesSELECTUsers can read any public profile
profilesUPDATEUsers can only update their own profile
collisionsSELECTOnly participants (user1_id or user2_id) can view
messagesSELECT/INSERTOnly collision participants can read or send messages
signalsINSERTAuthenticated users can send signals
signalsSELECTUsers can view signals they sent or received
collision_ratingsINSERTOnly collision participants can rate
booking_requestsSELECTOnly requester or venue owner can view
broadcastsSELECTPublic broadcasts visible to all authenticated users
venue_profilesUPDATEOnly venue owner can modify their profile

4.3 Role-Based Access (Three Modes)

The platform supports multiple user modes with different permission levels — a critical security boundary as the platform scales from User-only to the full three-sided marketplace:

ModeCapabilitiesY3 Scale
UserDiscover, signal, match, chat, rate collisions400K MAU
CreatorAll user capabilities + broadcasts, follower management, booking requests15,000 active
VenueAll user capabilities + custom interests, event hosting, booking management, venue dashboard1,000+ partners
Event HostEvent creation, attendee management, RSVP tracking, QR check-insCross-mode

Mode switching is centralized. Enso uses a React Context-based ModeContext system that manages state transitions between User, Creator, and Venue modes. Mode changes are validated server-side — a user cannot access venue analytics or creator broadcasts without the appropriate mode permissions in the database.

5. Data Protection & Privacy

5.1 Data Classification

CategoryExamplesProtection Level
PII — HighEmail, phone, exact GPS coordinatesEncrypted at rest, RLS restricted, never shared
PII — StandardName, age, profile photoRLS controlled, user-visible in discovery
BehavioralIntents, interests, signal historyRLS controlled, anonymized in analytics
TransactionalBookings, ratings, paymentsRLS controlled, encrypted payment tokens
ContentChat messages, broadcast contentRLS restricted to participants, auto-expires
Partner DataVenue foot traffic, creator audience metricsOwner-only access, anonymized aggregates for benchmarks
SystemDevice tokens, session logsInternal only, no user exposure

5.2 Encryption

LayerStandard
Data in TransitTLS 1.3 for all API, WebSocket, and storage communications
Data at RestAES-256 encryption on Supabase-managed PostgreSQL (AWS)
Authentication TokensJWT signed with HS256; refresh tokens stored securely
Password StorageBcrypt with configurable rounds (default 10)
Payment DataPCI DSS compliant via Stripe — no card data stored on platform
File StorageSigned URLs with expiration; no public bucket access

5.3 Location Data Handling

Location data is central to the discovery feature and is handled with particular care:

Why this matters for partners: Venues see anonymized foot traffic data and collision heatmaps — never individual user locations. Creator audience metrics are aggregated. This privacy-by-design approach lets Enso offer venue analytics ($73B event ticketing market) and creator insights ($205B creator economy) without exposing user PII to business partners.

5.4 Data Retention & Deletion

Data TypeRetention Policy
Chat MessagesAuto-deleted when collision expires (24 hours default, 7 days for bookings)
Location DataCleared when discovery session ends
Signal HistoryRetained for match history; user-deletable
Profile DataRetained until account deletion
Payment RecordsRetained per legal requirements (Stripe manages)
Push TokensRotated on app update; cleared on logout
Account DeletionFull data purge within 30 days of request, per GDPR/CCPA

Retention benchmark: Dating apps retain chat data indefinitely. 69% of dating app downloads are deleted within one month (AppsFlyer 2025). Enso's auto-expiring ephemeral model means less data liability — when users leave, their data leaves too.

6. Infrastructure Security

6.1 Supabase Platform Security

Enso's backend is hosted on Supabase Cloud, which provides enterprise-grade infrastructure security:

6.2 API Security

ControlImplementation
Rate LimitingSupabase built-in rate limiting per IP and per user
Request ValidationPostgREST validates all query parameters against schema
CORS PolicyRestricted to application domains only
API KeysSeparate anon (public) and service_role (server-only) keys
Input SanitizationParameterized queries prevent SQL injection
Response FilteringRLS ensures no unauthorized data leakage in responses

6.3 Edge Functions Security

Serverless Edge Functions handle sensitive operations like push notifications, AI processing, and moderation:

7. Application Security

7.1 Client-Side Security

MeasureDetails
Secure StorageExpo SecureStore for tokens and sensitive data
Certificate PinningPlanned for production builds
Code ObfuscationMetro bundler minification; Hermes bytecode compilation
Deep Link ValidationURL scheme validation before navigation
Biometric AuthPlanned integration for sensitive actions

7.2 Content Moderation & Safety

7.3 Payment Security

All payment processing is handled by PCI DSS Level 1 certified providers:

Pricing context: Enso Premium at $9.99/mo sits below Tinder Gold ($14.99), Bumble Premium ($29.99), and Hinge+ (up to $45/mo). Stripe + RevenueCat handle all payment complexity — Enso never touches card data. At 10% conversion on 400K MAU, this architecture must securely process ~40,000 recurring subscriptions.

8. User Privacy Controls

Enso is designed with privacy-first principles. Users have granular control over their data and visibility:

ControlDescription
Invisible by DefaultUsers are not discoverable until they activate a session with a specific intent
Intent-Based VisibilityUsers only appear to others with complementary intents
Discovery RadiusUser-configurable proximity range for discovery
Profile VisibilityControl which profile fields are visible during discovery
Block & ReportImmediate block with option to report; blocked users cannot discover or contact
Chat ExpirationCollisions auto-expire, automatically removing chat history
Data ExportUsers can request a full export of their personal data
Account DeletionComplete data removal with confirmation flow
Location ControlDiscovery requires active opt-in; location not tracked passively
Notification PreferencesGranular control over push notification types

9. Database Schema & Security Design

9.1 Core Tables

The database comprises 65 tables organized around the core collision lifecycle with strict relational integrity. Below are the security-critical tables:

TablePurposeRLS Policy
profilesUser identity and preferencesOwn profile: full access; others: read-only public fields
collisionsMatch records between usersParticipants only
messagesChat messages within collisionsCollision participants only
signalsInterest signals between usersSender and receiver only
collision_ratingsPost-collision feedbackParticipants only; one per user per collision
eventsEvent listingsPublic read; host: full CRUD
event_rsvpsEvent attendance trackingOwn RSVPs: full; event host: read
broadcastsCreator/venue announcementsPublic read; creator: full CRUD
booking_requestsVenue booking managementRequester and venue owner only
venue_profilesVenue-specific metadataOwner: full CRUD; others: read-only
creator_profilesCreator-specific metadataOwner: full CRUD; others: read-only
venue_custom_interestsVenue-created discoverable intentsVenue owner: full CRUD; users: read

9.2 Geospatial Security

PostGIS-powered location queries enforce privacy boundaries:

10. Partner Trust: Venue & Creator Security

As Enso scales from 25 venue partners to 1,000+ and from 100 creators to 15,000, partner data isolation becomes a critical competitive moat. Venues and creators choose Enso because they trust the platform with their business data.

10.1 Venue Data Isolation

Each venue partner operates within a strict security perimeter:

10.2 Creator Data Protection

10.3 The Partner Flywheel & Trust

Enso's growth model depends on a flywheel: creators broadcast → followers arrive at venues → users collide → venue books creator again. This flywheel only works if all three sides trust the platform with their data. Security isn't overhead — it's the product.

Scaling benchmark: At Year 3 targets (1,000 venues × 65 avg. per city across 15+ cities), the platform will manage thousands of concurrent venue dashboards, creator analytics panels, and event management workflows — each isolated by RLS, each with its own payment processing, each auditable.

11. Scaling Security: Growth Roadmap

Security architecture evolves with each growth phase:

PhaseScaleSecurity Milestones
Phase 1: Seed City 50K users, 25 venues, 100 creators RLS policies hardened. Pen testing pre-launch. SOC 2 infrastructure (via Supabase). Certificate pinning deployed. Photo moderation active.
Phase 2: Expand 250K users, 200 venues, 2K creators, 5 cities Rate limiting tuned for multi-city load. Venue staff permission tiers. Creator content review automation. Biometric auth for sensitive actions. Incident response exercised.
Phase 3: Scale 1M+ users, 1,000 venues, 15K creators, 20+ cities Enterprise venue deals → dedicated security review. API partnerships → OAuth scope restrictions. Data products → differential privacy for anonymized analytics. SOC 2 Type II audit (application-level). Bug bounty program launched.
Phase 4: Platform International, developer SDK, white-label GDPR data residency per region. Developer SDK sandboxing. White-label venue tools with tenant isolation. International compliance (LGPD, PIPA). PCI DSS Level 2 direct certification.

Investment context: Of the $1.5M pre-seed raise, 40% ($600K) is allocated to Product & Engineering. Security infrastructure — including pen testing, SOC 2 preparation, and scaling RLS policies — is a first-order product investment, not a compliance afterthought.

12. Compliance & Regulatory

12.1 Regulatory Framework

RegulationStatus
GDPR (EU)Compliant — Data minimization, right to erasure, data portability
CCPA (California)Compliant — Opt-out rights, data access requests, deletion rights
COPPA (Children)Compliant — 18+ age requirement enforced at registration
PCI DSSCompliant via Stripe/RevenueCat (no direct card handling)
SOC 2Infrastructure compliant via Supabase (SOC 2 Type II certified)
App Store GuidelinesCompliant with Apple and Google content and privacy policies

12.2 Data Processing

12.3 Incident Response

13. Third-Party Service Dependencies

ServicePurposeSecurity Posture
SupabaseBackend platform (DB, Auth, Storage, Realtime)SOC 2 Type II, GDPR compliant, AWS-hosted
StripePayment processingPCI DSS Level 1, SOC 2 Type II
RevenueCatSubscription managementSOC 2 Type II, GDPR compliant
ExpoMobile build and push notificationsSOC 2, secure build infrastructure
Apple/GoogleApp distribution and in-app purchasesPlatform-native security
Anthropic (Cue AI)AI-powered chat assistanceEnterprise security, no data retention

14. Secure Development Practices

14.1 Development Lifecycle

14.2 Dependency Management

Codebase metrics: 53,454 lines of production code across 182 files. 68 screens, 24 services, 56 Supabase RPCs, 65 database tables, 3 Edge Functions. Every service and RPC enforces authentication. Every table has RLS enabled.

15. Security Contact & Disclosure

ChannelContact
Security Email[email protected]
General Support[email protected]
Responsible DisclosureVia [email protected] with PGP encryption available
Data Protection Officer