Back to Home

Privacy Policy

Document Version: 2026.3 • Effective Date: October 2026 • Last Reviewed: October 25, 2026

1. Operator Information & Scope

OmniDiscover ("the Platform", "we", "our") is a privacy-first web application designed for streamlined content discovery, personalized recommendations, and creator interaction across media ecosystems. This Privacy Policy describes transparently how we collect, store, process, protect, and delete personal data. OmniDiscover is operated by the OmniDiscover project development team. For privacy queries, statutory requests, or data protection matters, please reach our team through the in-app Help Center or the project repository.

2. Information We Collect and Sources

We collect only data necessary to deliver verified discovery services:

  • Account & Authentication Data: When registering, your name, display name, and email address are stored. Password authentication uses PBKDF2 (100,000 rounds of SHA-512) or Supabase Auth. We distinguish your OmniDiscover login identity from any Google account separately authorized for YouTube features.
  • Google & YouTube Authorized Data: If you connect a Google account, we retrieve your authorized channel title, channel identifier, Google account email, and OAuth tokens. Tokens are encrypted server-side with AES-256-GCM.
  • User Preferences: Regional content filter (country code), UI language, browsing mode (Normal vs Category Mode), theme (Dark vs Light), and content categories.
  • Saved Items & Watchlist: Content IDs, provider references, titles, and timestamps when you explicitly bookmark videos.
  • Activity Logs (30-Day Server Retention): Search queries and video playback progress are logged to power your continue-watching carousels, dashboard history, and recommendation scoring. Raw activity older than 30 days is automatically purged by scheduled database maintenance routines.
  • Learned Recommendation Profiles: Aggregate category and creator affinities stored in user_recommendation_profiles to preserve discovery adaptiveness across 30-day raw log cleanups. You can reset this profile anytime from Settings.
  • Technical & Security Logs: IP addresses (processed transiently for Upstash Redis distributed rate limiting to defend against brute-force attacks), user-agent strings, and security event logs.

3. Google & YouTube Account Authorization

OmniDiscover allows users to optionally connect their personal Google account to interact with YouTube creators directly within the application. Please review the following verified technical safeguards:

  • Independent Authorization: Signing in to OmniDiscover does not grant YouTube permissions. You must explicitly authorize Google OAuth in a separate, dedicated consent step. You can use different Google accounts for OmniDiscover login and YouTube actions.
  • Requested Scopes & Actions: We request only the following scopes:
    • openid, email, profile: Verifies the connected Google account email and channel identity.
    • https://www.googleapis.com/auth/youtube and youtube.force-ssl: Enables in-app creator subscriptions (subscriptions.insert / delete) and video ratings (videos.rate).
  • Server-Side Encryption at Rest: All OAuth access and refresh tokens are encrypted using AES-256-GCM with unique 96-bit initialization vectors (IVs) and 128-bit authentication tags before persistence. Plaintext tokens or client secrets are never transmitted to the browser or stored in localStorage.
  • No Sale or Advertising Use: Google and YouTube user data is never sold, never shared with data brokers, and never used for targeted advertisements, marketing campaigns, or cross-site profiling.
  • Google API Services User Data Policy Compliance: OmniDiscover's use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.
  • Revocation & Disconnection: You can disconnect your YouTube account at any time in Settings → YouTube Account → Disconnect Account. Disconnection permanently deletes stored encrypted credentials from our database and immediately triggers external revocation at Google's OAuth endpoint (https://oauth2.googleapis.com/revoke). You may also revoke access directly through your Google Account Security Settings.
  • Security Limitations: Authenticated encryption protects stored tokens against unauthorized database inspection, but no Internet transmission or cloud environment is unconditionally risk-free.

4. Cookies and Client-Side Storage

OmniDiscover enforces a functional, transparent consent model. We distinguish necessary cookies from functional browser storage:

  • Strictly Necessary Cookies: Secure, HttpOnly, SameSite=Lax cookies strictly required for authentication and security: platform_session (primary session token, 30 days), Supabase Auth session tokens (sb-*-auth-token), and youtube_oauth_state (10-minute temporary CSRF validation token during OAuth authorization). These cannot be disabled.
  • Functional Browser Storage (Consent-Gated): Local HTML5 localStorage and client-side IndexedDB used to remember your theme preference (platform_theme), regional content preference, offline search cache (omnidiscover_search_cache_db, 24-hour TTL), and local watchlist bookmarks. When optional storage is rejected, these keys are stopped and cleared.
  • Zero Tracking Pixels or Ad Cookies: OmniDiscover does not deploy third-party advertising cookies, Google Analytics, behavioral tracking pixels, or fingerprinting scripts.

5. Data Retention Lifecycles

We implement strict data minimization through automated lifecycle cleanups:

  • 30-Day Server Retention for Raw Activity: Search queries (search_history) and video watch progress records (watch_history) are automatically purged after 30 calendar days via automated database maintenance routines.
  • Persistent Recommendation Profiles: High-level learned topic and creator affinities in user_recommendation_profiles allow the discovery engine to remain personalized across 30-day raw log cleanups. You can reset these learned affinities at any time via Settings or the Insights dashboard.
  • Preserved Account Records: Profiles, user preferences, bookmarks (saved_content), and encrypted API credentials remain stored until explicitly edited or deleted by the user.
  • Browser Search Cache: IndexedDB search results expire automatically after 24 hours (strictly adhering to YouTube API Services Developer Policies) and are completely wiped upon account logout.

6. Third-Party Service Providers

When utilizing OmniDiscover, external requests are dispatched exclusively to verified service providers:

  • YouTube & Google LLC: Video search queries, channel metadata, subscriber actions, and embedded playback are processed via official Google APIs in compliance with the Google Privacy Policy and YouTube Terms of Service.
  • Supabase Inc.: Cloud-hosted PostgreSQL database and authentication infrastructure. User data is isolated via PostgreSQL Row-Level Security (RLS) policies.
  • Upstash Inc.: Distributed Redis instance utilized solely for IP-based rate limiting to prevent denial-of-service and brute-force credential stuffing attacks. No search queries or video contents are stored in Redis.
  • Vercel Inc.: Application hosting, edge network, and serverless compute infrastructure.
  • The Movie Database (TMDB) (Optional): Cinematic metadata and posters are queried only if the user supplies a personal TMDB API key.

7. Complete Account Deletion ("Right to be Forgotten")

You have the right to permanently erase your entire digital footprint at any time. When you initiate account deletion from Settings → Privacy & Security → Delete Account:

  • If a YouTube account is connected, OmniDiscover automatically attempts external token revocation with Google.
  • Your Supabase Auth user record is permanently deleted.
  • All associated database rows across profiles, user_preferences, provider_credentials, oauth_connections, content_feedback, user_recommendation_profiles, saved_content, watch_history, and search_history are permanently erased.
  • All session cookies, authentication tokens, and browser-stored caches are immediately invalidated and purged.

8. User Rights and Data Portability

Under data protection regulations (including DPDP and GDPR), you hold the right to:

  • Export Your Data: Download a full machine-readable JSON archive of your account profile, preferences, watchlist, and search history anytime from Settings.
  • Rectification: Immediately update your display name, preferred region, and interface preferences from Settings.
  • History Erasure: Clear your search history and watch progress independently at any time.
  • Consent Revocation: Reconfigure your cookie and functional storage consent choices at any time using the Cookie Preferences trigger in the footer.

9. Children's Privacy

OmniDiscover is not directed to children under the age of 13 (or under 16 where required by local law). We do not knowingly collect personal data from children. If you become aware that a child has provided us with personal data without parental consent, please contact us immediately to remove the information.

10. Contact & Updates

We may update this Privacy Policy periodically to reflect technological or legal changes. Material updates will be indicated by an updated Document Version and Effective Date at the top of this policy. For inquiries, please consult our Help Center.