popcornmatch.

Privacy Policy

Last updated: October 15, 2026 · Version 2026-10-15

1. Who is responsible and what this policy covers

Controller and service provider: Daniel Esteban, acting as an individual under the application name PopcornMatch. Based in Zaratán (Valladolid), Spain. Privacy and support email: danestivoapps@gmail.com.

This policy explains how PopcornMatch handles personal data when you choose movies and TV shows on your own or with a partner or group. The app is free and funded by Google AdMob advertising on Android. Purchases are not enabled.

2. Information stored on your device

The app stores your streaming country, catalogue language, platforms, filters, haptic feedback preference and onboarding status. Your streaming country is a catalogue setting; we do not use GPS to determine your location.

Local data includes your deck progress, likes, discarded and watched titles, match history, library sorting preferences and, if you provide one, your room display name. New likes and watched titles have timestamps. Saved matches include the title, room code, participant count and save date. Solo likes and dislikes are not synced to a cloud account. Watched titles are skipped in your new solo sessions and in decks for rooms you host; that list is not sent to the server or to other participants, it only filters titles on your device before the deck is created. To avoid repeats, the app also remembers on your device where you left off in the catalogue for each combination of filters and which titles were dealt in rooms you hosted (up to 500); this is not sent to anyone either.

Posters may be cached. Your browser manages local storage and image caching on the web. Your operating system or browser may include local data in backups or synchronisation that you have enabled. Local data remains until you delete it or the application storage is cleared.

3. Multiplayer rooms

Using rooms creates or restores a pseudonymous Supabase authentication session. No email or password is requested, but a technical user identifier is associated with the installation and session credentials are stored locally. This is not irreversible anonymisation.

The server stores room identifiers and codes, host and participant identifiers, optional display names, recent room activity, filters, the shared deck, Like/Nope votes linked to technical identifiers, round numbers, previously seen titles and results. This enables synchronisation, reconnection, duplicate-vote prevention and matching.

Room members can see display names, progress and recent group activity. Final results may show aggregate like counts. A match tells everyone that all participants liked that title. Preferences may therefore be inferred in small groups. The app does not display a list of other participants’ individual votes.

The server keeps each round’s matches, including the title, round, participant count and date, so room members can recover them after reconnecting. Server match history is removed with the room; local copies remain until deleted on each device.

Sharing an invitation sends a link containing the room code through the app you choose. We do not send invitations automatically or access your contacts. The link opens a PopcornMatch page hosted on GitHub Pages (danestivoapps.github.io) that shows the code and opens the app or Google Play; GitHub receives the technical data of that connection, such as IP address and browser. That page uses no forms, analytics or cookies of our own. Anyone who receives the code can try to join while the lobby is open and has space. Share it only with people you want to play with, and avoid sensitive information in your display name.

4. Connections and technical information

Catalogue requests send your filters, selected country and language to the PopcornMatch service on Supabase. Trailer requests include the title identifier and language. Infrastructure providers receive connection information such as IP addresses and may log requests, timing and errors.

The catalogue service uses a temporary per-IP request counter to limit abuse. This counter lasts approximately one minute in function memory; this does not determine how long infrastructure providers keep their own logs.

These features do not request access to contacts, the microphone, camera or precise location. The Android integration includes Google Mobile Ads and Google UMP to show ads and manage your privacy choices. We do not add our own behavioural analytics.

5. Advertising and your choices

In the Android version published on Google Play, Home and My Likes show Google AdMob banners, and while swiping titles every 7 titles a Google ad card labelled “Anuncio” (Ad) appears in the deck, both solo and in rooms. Swiping it away dismisses it without counting as a vote. Internal test builds use Google test ads, and web and iOS display a local placeholder instead.

Before initialising advertising, the app checks Google UMP and presents the configured privacy message where required. If the check cannot be completed, ads are not loaded. Available privacy choices can be accessed in Settings. Accepting this policy does not replace the choices in the consent form.

The advertising SDK can process IP addresses (including an approximate location inferred from them), device and account identifiers, app and ad interactions, and diagnostic information, depending on settings and privacy choices. If you allow it in the privacy form, Google may show you personalised ads based on your activity and interests; where consent is not requested (outside the EEA, the UK and Switzerland) it may do so unless you object. If you do not allow it, ads are not personalised, although they can still involve device storage and technical data processing. In US states with their own privacy laws you can ask, from Settings, Ad privacy, that your data is not sold or shared. See https://policies.google.com/privacy and https://policies.google.com/technologies/ads.

We do not send your likes, discarded or watched titles, room codes, votes or room display name to AdMob. Refusing consent does not limit the app’s features; Google may then show limited ads that do not rely on consent-based processing. If the privacy check fails, the app keeps working without loading ads.

6. Purposes and legal bases

We process the information needed to remember preferences, maintain progress and synchronise rooms to provide the service you request (GDPR Article 6(1)(b)). Strictly necessary device storage remembers those choices.

Abuse prevention, request limits and troubleshooting rely on our legitimate interest in keeping the service secure and available (Article 6(1)(f)). These uses are limited to necessary technical data and are not used to create advertising profiles. You may object to this processing. Compliance with legal obligations and data protection rights relies on Article 6(1)(c).

Where advertising requires consent for device access or personal data processing, it is requested through the privacy form (Article 6(1)(a)). You can refuse or withdraw consent through the available privacy options without losing access to the app’s features. Accepting the terms is not advertising consent.

If you email us, we use your email address and message to respond: to provide support, meet obligations regarding your rights or pursue our legitimate interest in answering enquiries, depending on the request. We do not use support emails for marketing.

Your display name is optional; a generic label is used otherwise. Technical identifiers and votes are necessary to participate in rooms. You can use solo mode without creating a room. We do not make automated decisions with legal or similarly significant effects; filters and votes provide entertainment suggestions.

7. Providers and international transfers

Supabase provides authentication, the database, catalogue functions and synchronisation as a data processor. The project’s primary database is hosted in Ireland (eu-west-1). This does not mean all logs, distributed functions, support or subprocessors are located there. Its processing terms and subprocessor list are at https://supabase.com/legal/customer-resources/data-processing-addendum and https://supabase.com/legal/customer-resources/subprocessor-list.

International providers may process data outside the European Economic Area. Supabase’s data processing terms provide for standard contractual clauses for transfers to which they apply. Google describes its transfer mechanisms at https://policies.google.com/privacy/frameworks. You can request information about the safeguards applicable to our processors using the contact email.

Google provides AdMob advertising, UMP consent tools, Gmail for support correspondence and YouTube when you request a trailer. Advertising processing depends on your choices and the settings described above. Google’s privacy policy is at https://policies.google.com/privacy.

TMDB supplies catalogue information and posters; JustWatch supplies streaming availability through TMDB. The service sends catalogue parameters to TMDB, and the app downloads images from its infrastructure, which receives technical connection data.

Choosing Watch Trailer opens YouTube through the system browser or a browser view. Opening a streaming platform or availability link takes you to the relevant external service. Those providers may process connection information, cookies and account session data under their own policies. YouTube is not opened until you request the trailer.

We do not sell your usage information or preferences. Data may also be disclosed when required by law.

8. Retention and deletion

Settings → Delete my data removes this installation’s preferences, likes, discarded titles, match history, progress and room identity. Server deletion is confirmed before local data is cleared. If a request fails, it remains pending so you can retry, including after restarting the app. An existing room identity requires an internet connection to delete. Web image caches are managed through your browser.

Deleting your identity removes your votes, memberships, display name and stored join-attempt counters. Rooms you created are deleted; other rooms you participated in are ended and your information is removed. Other people’s local histories are not deleted. Clearing likes or cached images alone does not delete your server identity. Uninstalling may remove the credentials needed to request deletion from the app.

Rooms expire 24 hours after creation. An hourly task deletes expired rooms, their votes, members and server match history from the active database, normally at the next hourly run. Join-attempt counters older than 24 hours are also removed. Service incidents can delay execution. Starting another round does not extend the original expiry.

The pseudonymous identity is retained so the installation can participate in rooms again until you request deletion. This release does not automatically expire identities due to inactivity. Room cleanup does not delete that identity. Use Delete my data or email us if you no longer have access to the installation; we can only act on records that we can safely associate with you.

Infrastructure logs follow the provider’s retention and rotation windows for the relevant plan and log type. We do not keep our own permanent request archive or periodic external database backups. Retention depends on diagnostic, security and recovery needs and provider obligations. Deleting active records does not instantly remove logs or residual backups. Supabase documentation: https://supabase.com/docs/guides/observability/logs and https://supabase.com/docs/guides/platform/backups.

Support correspondence is retained while handling your request and, where necessary, for applicable legal claim periods, with access restricted to that purpose. Local data remains until you delete it or app storage is cleared.

Delete my data does not delete information already received by Google or external platforms and does not necessarily reset preferences stored by the advertising consent tools. Review privacy choices in Settings and manage your advertising identifier in Android settings. Google’s retention and deletion information is at https://policies.google.com/technologies/retention.

9. Your rights and contact

Where applicable, you may request access, correction, erasure, restriction or portability of your data, or object to processing, by emailing danestivoapps@gmail.com. You may withdraw consent without affecting the lawfulness of earlier processing.

We respond within applicable legal deadlines, generally one month under the GDPR, subject to permitted and justified extensions. We may request only the information needed to verify your identity and locate pseudonymous records. Never send passwords or session tokens.

You may complain to the Spanish Data Protection Agency (https://www.aepd.es) or the competent authority where you live. If we cannot identify your pseudonymous records, we will explain the minimum additional information needed; we will not collect unnecessary information solely to identify you.

10. Age restriction and changes

This version of PopcornMatch is intended exclusively for people aged 18 or over. It is not intended for minors. The app does not request dates of birth or identity documents and does not technically verify age.

If you believe a minor is using the service, contact danestivoapps@gmail.com so the controller can investigate and take appropriate action, including deleting data where required.

The minimum age does not replace content ratings or the terms of YouTube and streaming platforms. Excluding adult content through TMDB does not make the catalogue suitable for children.

This policy will be updated when features or processing change. Advertising, purchases, analytics or other new services require reviewing the legal bases and notices before activation.

11. Security and this legal website

We use encrypted HTTPS connections and access controls for app services. Administrative access is limited to maintenance and support. No security measure provides an absolute guarantee. Please report suspected incidents to the contact email.

These public documents and the invitation page are hosted on GitHub Pages (https://danestivoapps.github.io), a service provided by GitHub, Inc. We do not add forms, ads, analytics or our own cookies to these pages. GitHub receives the connection data needed to serve and protect them, such as IP addresses, browser information and technical logs, under its own policy: https://docs.github.com/site-policy/privacy-policies/github-general-privacy-statement. These pages do not access your likes or rooms.