Privacy
Privacy policy
Last updated October 18, 2026.
Who operates Skens
Skens is a planning calendar operated by Jonathan Ulloa. Skens is the name of the product. It is not a registered business. This page describes what the website stores and which other services receive it. Skens today is the website. Mobile apps are not released yet. This policy will also cover them if and when they are released.
Questions and deletion requests: message Jonathan Ulloa at @getskens on Instagram.
Age
Skens is not directed to children under 13. You must be 13 or older to create an account. If an account is found to belong to someone under 13, it will be deleted.
If you are under 18, you need a parent or guardian's permission to use Skens. A parent or guardian must handle any paid subscription.
Account and login
An account is an email address and a password of at least 8 characters. Login is provided by Supabase Auth. On the hosted service, email confirmation is required before the account is fully open. The website keeps the session in cookies.
A failed sign in says the email or password is incorrect, including when that email has no account. If the password is right and the email is not confirmed yet, sign in asks you to open the confirmation link. Sign up shows the message from Supabase, which can say that the email is already in use.
Calendar and planning data
Skens stores the data you enter so it can show your calendar and place flexible work: time zone, display name, planning days and hours, fixed events, flexible tasks, session times, deadlines, priorities, categories, locations, travel settings, alert rules, and the written explanation of each automatic or manual schedule change.
That data is stored in a Supabase Postgres database. A normal signed in account can read and change its own rows. The database is set up so one account cannot read or change another account's calendar. Server jobs that import calendars, check traffic, send notifications, and record payments use a separate server credential.
The planning API logs the kind of unexpected error, not the titles of your events. Skens does not include an advertising tracker or a product analytics script. Vercel, which hosts the website, and Supabase, which hosts the database and login, keep their own operational logs.
Google Calendar and Outlook
If you connect Google Calendar or Outlook, Skens reads events from the calendar you connect and saves them as fixed events on your Skens calendar. Those events stay where they are. The planner does not move them.
The Google connection asks only to view events and to view calendar properties. It does not ask to edit, share, or delete Google Calendar data. The Outlook connection asks to read calendars. Skens does not create, edit, or delete events in Google Calendar or Outlook.
The access and refresh tokens for that connection are encrypted with AES 256 GCM before they are stored. The browser cannot read them. Connecting and disconnecting are on the website, in settings. Disconnecting removes the imported events from Skens and deletes the stored tokens. It does not change Google Calendar or Outlook.
Locations and traffic
Saved locations can include a name, an address, and coordinates. If a fixed event has a travel policy and traffic checks are on, the server sends the origin and destination coordinates, the travel mode, and the departure time to the Google Routes API. Google returns a duration and a distance. Skens stores that estimate and can notify you if you need to leave earlier. The request does not include your name or the event title.
Notifications
The website does not deliver on device alerts for events and tasks yet. Mobile apps are not released yet. This policy will also cover them if and when they are released.
You can turn on email and push for session check ins and traffic changes. Email is sent through Resend and can include the notification text and a link back to your calendar. Push on the website uses a browser push subscription stored with your account. Auth email, such as the confirmation link, is sent by Supabase Auth.
Payments, students, and affiliates
Creating an account is free. If you subscribe on the web, Stripe hosts the card form and the billing portal. Skens stores the Stripe customer id, the subscription status, and each invoice: what was paid, the tax on that invoice, refunds, and disputes. Skens does not store your card number or bank account. For self referral checks it stores a hash of a card fingerprint Stripe provides, and a hash of a payout destination, not the card or the bank details themselves.
Mobile apps are not released yet, so there is no app store purchase. Skens can accept a signed webhook from RevenueCat and record a subscription in the same table it uses for Stripe. No store product is configured.
Student pricing is a request on your account. The product does not ask you to upload a school document. Jonathan Ulloa marks the request verified, rejected, or revoked. A verification lasts 365 days.
Any account can become an affiliate. The code is reserved from your display name or email. Payout details are collected by Stripe Connect. Skens stores the Connect account id. An affiliate sees referred people only as "Customer 1", "Customer 2", and so on, plus counts and commission amounts. An affiliate does not see a customer's name, email, or calendar. Attribution is stored when the new account is created and is not changed later.
Cookies
The website uses cookies to keep you signed in. If you open an affiliate link (`/r/CODE`), Skens also stores that code in an HTTP only cookie for 30 days so sign up can show the offer. The code is checked again when the account is created. There is no advertising cookie.
Other people's data
Your calendar is not shown to other Skens accounts. Jonathan Ulloa operates the Supabase project, so he can read what is stored there. Server jobs read the rows they need to import a calendar, check a route, send a notification you turned on, or record a payment. Student decisions, commission holds, and affiliate suspensions are written to a billing audit log.
Deletion
There is no delete button on the website. Message Jonathan Ulloa at @getskens on Instagram and ask. An account can be deleted when it has no subscription, payment, affiliate profile, or referral attribution. Deleting it removes the login and the calendar stored for it. An account found to belong to someone under 13 is deleted.
Subscriptions, payments, affiliate profiles, and referral attributions are permanent for an ordinary deletion request, so an account that has any of them cannot be deleted that way. An account found to belong to someone under 13 is still deleted. There is no tool yet that replaces those rows with anonymous values. Card and bank details stay at Stripe, so closing the Skens account does not by itself delete what Stripe holds.
Changes to this page
When this page changes, the date at the top changes with it. Skens does not email you about edits to this page. The terms describe the product rules, including price, cancellation, and affiliates.