Skip to content
SnapTablePortuguês

Privacy policy

Last updated: 4 November 2026

This policy explains in plain language what personal data the SnapTable apps (iPhone, Mac, Android and Windows) and this website process, why, for how long, and what rights you have. It follows the EU General Data Protection Regulation (GDPR) and the Portuguese implementing law (Law 58/2019). The Portuguese version is the primary one.

1. Who is responsible for your data

The data controller is the publisher of SnapTable, holder of the Apple Developer account that publishes the app and established in Spain. The controller’s full identity can be requested through the contact email and is disclosed to supervisory authorities when they ask for it. For any privacy question write to snaptable@alvarorgz.com.

2. What we collect, why, and on what legal basis

We only process the data the app needs to work. You need an account to use SnapTable. The data below is linked to your account.

DataPurposeLegal basis (GDPR)
Account: email address, internal account ID, creation date, the school you say you study at (picked from a list of higher-education institutions in Portugal) and whether that school is verified. The email is confirmed with a 6-digit code. Anyone with a real (non-disposable) email can create an account.Create the account, sign you in and prevent abuse.Performance of a contract (Art. 6(1)(b)).
School verification (optional): the extra school email you confirm with a code (we keep the address and the verification date; of the code we only keep a temporary fingerprint, never the code itself) and, if your school is not on the list, the name you type when asking us to add it.Confirm that you study at a school, to unlock extras that belong to that school (for now, the Nova SBE cafeteria menu and locker code), and add missing schools.Performance of a contract.
Profile: first name, optional profile photo (you choose the framing in the app), accent colour, preferences (reminders and lead time, offers, outside the eurozone, live updates), your notification choices by category, your sharing settings with friends and your friend code (the one in your QR code).Personalise the app and show you to your friends.Performance of a contract. Profile photo: consent (Art. 6(1)(a)), which you can withdraw by removing the photo.
“About you” answers (all optional): level of study, country, how you heard about SnapTable (and the text you write if you choose “Other”) and gender. You can skip this step.Understand who uses SnapTable and improve it, in aggregate analysis only.Consent. You can change or delete these answers at any time.
Timetable: subjects, room, class type, day, start and end time, colour, “needs review” flag, classes skipped, cancelled or changed on a date, calendar events you create in SnapTable (title, room, date, time), days off and term dates.Show your week, Home Screen widgets and class reminders.Performance of a contract.
Timetable photo (camera or photo library) and the scan record (extracted classes, raw text read, status, number of classes found, duration, usage metrics and any errors).Turn the photo into classes, apply the scan limit (5 in 24 hours) and detect failures.Performance of a contract; legitimate interest (Art. 6(1)(f)) for the usage limit and failure detection.
Exams: the pages of the exam calendar you choose to scan (photos or PDF, up to 8 pages), the scan record (status, number of pages and exams, metrics, raw text read when a scan fails) and your exams (subject, code, type, date, time, room, notes, the grade you record and the timetable class they match).Show your exam calendar, the “Exams” widget and reminders, and apply the scan limit (5 in 24 hours).Performance of a contract; legitimate interest for the usage limit and failure detection.
Student card (optional): photos of the front and back, name, number and expiry date.Keep your digital card, show it in the app and in the “Student ID” and “Student card” widgets.Consent, given when you add the card. You can delete it at any time in the app.
Locker code (optional): the code you save, available only on accounts verified at a school that has this feature (for now, Nova SBE).Show you your code. It is stored encrypted in your account (on iPhone it is also kept in the Keychain); to see it, your device asks for Face ID, Touch ID, your fingerprint, your face or the device passcode or screen lock.Consent, given when you save the code. You can delete it at any time.
Friends: friend requests (sent, received, accepted), sharing settings (“Free time only” or “Full schedule”, “Pause sharing”, same-class alert), your friend code and the email of people you invite.Show shared free time and manage connections between friends.Performance of a contract.
Meetups: place, date and time, note and invitees’ replies.Invite friends to meet.Performance of a contract.
Meetup chat: the messages you write (text, date and time) and the date you last read each chat. An automatic filter refuses messages with serious insults or threats, and there is a limit on messages per minute.Let the participants of a meetup talk to each other and protect the service from abuse.Performance of a contract; legitimate interest in the safety of users.
Blocks, reports and suspensions: the people and emails you block (including emails of people who do not have an account yet); and, if you report someone, the reason, the text you write (up to 500 characters), the reported person and, where relevant, the meetup and a copy of the reported message. If an account is suspended, we keep the length and dates of the suspension.Protect users, prevent unwanted contact, review abuse reports and apply suspensions.Legitimate interest in the safety of users and the service (Art. 6(1)(f)); performance of a contract.
Notifications: the in-app feed (type, name of the sender, place, time, read/unread) and, if you accept push notifications, your device token and the record of notifications sent.Let you know about friend requests, invitations, replies, chat messages and changes to classes you share exactly with a friend.Performance of a contract; consent for push notifications (the system permission you grant on your device).
Technical security data from authentication: IP address, device/browser type and session data. The session token is kept in the device’s secure storage (the Keychain on iPhone and Mac, the Keystore on Android, storage protected by Windows).Keep you signed in, prevent abuse and protect the account.Legitimate interest (security) and performance of a contract.
Aggregate statistics: every week our team receives overall figures by email (for example accounts created, active accounts, scans and errors). They contain none of your content.Understand how the service is used and detect failures.Legitimate interest (Art. 6(1)(f)).

Cafeteria menu and Fast Track (accounts verified at Nova SBE): the app shows the Nova SBE cafeteria menu and a “Fast Track” button that opens the operator’s ordering page. The menu is public information that our server copies from the cafeteria operator’s website (Mon Bistrot) into our database, once per working day. The server only hands the menu and the Fast Track link to accounts verified at Nova SBE. We send no data about you to that operator from our servers; if you open the link, you are on their site.

On your iPhone: the app keeps a copy of your data (timetable, exams, friends, friend photo thumbnails, card, preferences and theme) in an area shared with the widgets (App Group). Widgets read that copy without network access. Class, meetup and exam reminders are local notifications scheduled on the iPhone itself: their content (subject name, time, room) never leaves the device.

On Android and Windows: the app keeps a copy of your data (timetable, exams, friends, card, preferences and theme) in its own private storage on the device. There are no widgets in these apps. Class, meetup and exam reminders are local notifications scheduled on the device itself: their content (subject name, time, room) never leaves it. On Android they may use exact alarms, so that a reminder arrives at the right minute.

Apple Calendar: if you grant permission, the app reads the events of your calendars to show them next to your classes and, if you turn it on, adds the classes, events and meetups you choose to the calendar. This happens on your iPhone: we do not send your Apple Calendar events to our servers, and the options you choose stay on the device. What the app adds to the calendar is subject to your iPhone settings, including iCloud sync.

iPhone permissions: the camera (to scan the timetable, the exam calendar and the student card, to read a friend’s QR code and for the profile photo), Calendar, notifications and Face ID (or Touch ID or the device passcode) to protect the locker code. SnapTable never receives biometric data: iOS handles it. Photos from the library are chosen through the system picker, which only hands over the images you select. We do not use location, contacts or the microphone.

Android and Windows permissions: on Android, the camera (to scan the timetable, the exam calendar and the student card and to read a friend’s QR code), notifications, and your fingerprint, face or screen lock to protect the locker code. SnapTable never receives biometric data: Android handles it. Photos from the gallery are chosen through the system picker. We do not use location, contacts or the microphone. Apple Calendar only exists on iPhone and Mac. On Windows the app asks for no special permissions: photos and PDFs are chosen with the file picker, and there are no remote push notifications for now.

3. What we do not do

4. Who we share data with

RecipientRoleData
Supabase (Supabase Inc.)Processor: database, authentication, file storage and server functions. The project is hosted in the EU (Ireland, eu-west-1).All account data described in section 2, including profile and card photos (in private storage).
IONOS (SMTP mail server, EU)Processor: sends the 6-digit sign-in code to your email, the school-email verification code, invitation emails when someone invites an address that has no account yet, and emails about suspensions.Your email address and the code; for invitations, the invitee’s email and the inviter’s name and email.
Artificial-intelligence service providers (used only to read scans)Processors: read the timetable photo or the pages of the exam calendar and return the classes or exams as text. Only used when you scan (see section 5).The timetable photo, or the exam calendar pages, that you choose to send.
Google (Firebase Cloud Messaging, Android only)Delivers push notifications on Android if you enable them. Google also acts as an independent controller of its own service.Device token and notification content (the same as for Apple, below).
Apple (Apple Push Notification service)Delivers push notifications if you enable them. Apple also acts as an independent controller for your Apple account and App Store data.Device token and notification content (for example, “X wants to share schedules with you” or the text of a chat message and, for chat messages, a temporary link, valid for 1 hour, to the sender’s photo).
Vercel (website hosting)Processor: hosts this website. It generates technical access logs (for example, IP address).Technical data of website visitors.
Your friends on SnapTableOther users you accepted or who accepted you (see section 6).Name, email, photo and schedule, depending on your sharing setting. Participants of a meetup also see that meetup’s chat messages.

With Supabase, Vercel and IONOS their respective data processing agreements (DPAs) apply. We may also disclose data to authorities when the law requires it.

5. Timetable, exam and card scanning

Timetable and exams. When you scan a timetable, the photo (reduced to 1600 pixels wide) is sent to a server function of ours, which forwards it to an artificial-intelligence service that reads it and returns the classes to the app. When you scan an exam calendar (photos or PDF, up to 8 pages), the pages follow the same path and the service returns the exams. These scans are not done on your device. We do not store the photos or pages in our systems, but we keep a record of the result (raw extracted text, status, counts and metrics) linked to your account, to apply the limit of 5 timetable scans and 5 exam scans in 24 hours and fix failures. We do not control how long each AI service provider keeps what it receives: their own policies apply. Some of these providers are based outside the European Economic Area and the processing may take place outside the EU (see section 7). Do not photograph other people’s personal data.

Acceptance and protection. By choosing an option to scan (taking a photo, choosing one from the library or choosing a PDF), you accept that we use artificial intelligence to read the timetable or exam calendar and build it in the app. The third parties that process this data provide the same protection as described in this policy.

Student card. Cropping, straightening and reading the card are done on your device: on iPhone with Apple’s Vision and Core Image frameworks, on Android with on-device document scanning and text recognition, and on Windows the card is cropped by hand in the app and its text is not read. Only if you add the card, the images and details (name, number, expiry) are stored in your account, in private storage only you can access.

6. What other users can see

7. International transfers

The database and files are in the EU (Ireland). Some processors are companies based outside the European Economic Area (for example Supabase Inc., Vercel, Apple, Google and the artificial-intelligence service providers) or process data outside it. Where this involves a transfer of personal data, it relies, where one exists, on a European Commission adequacy decision (for example the EU-US Data Privacy Framework) or standard contractual clauses. Photos are only sent to the AI services when you decide to scan a timetable or an exam calendar.

8. How long we keep data

9. Your rights

You have the right of access, rectification, erasure, restriction, objection and portability, and to withdraw consent at any time (without affecting earlier processing). You can correct your name, photo, timetable, exams and preferences in the app itself, and delete your account in Profile › “Delete account” (see Delete account and data). To exercise any right, write to snaptable@alvarorgz.com from your account email. We reply within one month at most.

10. Complaints

If you think we are mishandling your data, you can complain to a supervisory authority. In Portugal, the Comissão Nacional de Proteção de Dados (CNPD), www.cnpd.pt. As the controller lives in Spain, you can also go to the Agencia Española de Protección de Datos (AEPD), www.aepd.es. The lead supervisory authority is the AEPD, since the controller lives in Spain.

11. Website: waitlist and Mac download counter

In the “Notify me” form on this website we only ask for your email address. We use it only to tell you when SnapTable is available and, where relevant, to invite you to the beta. The legal basis is your consent. The email is stored in a Supabase database (EU, Ireland) with the sign-up date, and only we can access it. To leave the list, write to the contact email with the address you signed up with and we delete it. We keep the email for 12 months at most from sign-up, or until you ask for removal, whichever comes first; after that period we delete it ourselves.

Mac app download counter. To know whether the Mac app is being downloaded, when you open the Mac download page or press “Download for Mac” the website adds one row to a Supabase database (EU, Ireland): the date and time, the app version, your country (given by the hosting platform; we do not store your IP address), a coarse device type read from your browser (for example Mac or iPhone), the page you came from, and whether the request looks like a robot. It uses no cookies or other identifiers and is not linked to any account or email, so it does not identify you. Only we can read it.

For what the website uses in your browser (cookies, local storage, external services), see the Cookies page.

12. Security

Connections use HTTPS. All tables have row-level security (RLS) so each person only reaches their own data; friends’ schedules can only be read through functions that respect your sharing setting; profile and card photos are kept in private storage; the locker code is stored encrypted and is only read after your device confirms your identity; and third-party service keys live only on the server, never in the app. No system is completely secure: if a data breach affecting you occurs, we will notify you and the competent authority as the law requires.

13. Minors

SnapTable is meant for higher-education students. It must not be used by anyone under 13, the age of digital consent in Portugal. If we find an account of someone below that age, we delete it.

14. Changes to this policy

We may update this policy (for example if the app starts processing new data). The date at the top shows the latest version and, for relevant changes, we will tell you in the app or by email before they take effect.

15. Contact

SnapTable publisher · snaptable@alvarorgz.com.