Privacy Policy

Last updated: 2026-06-15 (Version v2.2.0)

1. Who We Are

Essentiafoundation.app is operated by:

Stichting Essentia Foundation
Langbroekerdijk 8-a, 3972 ND Driebergen-Rijsenburg
KvK 77870999
Netherlands

For any privacy-related questions or requests, please contact us at support@essentiafoundation.org. We aim to respond within 30 days.

We are the data controller for the personal data described in this policy. Where we use third-party services to process data on our behalf, those services act as data processors and are listed in Section 5.

Data Protection Officer: Stichting Essentia Foundation has not appointed a Data Protection Officer (DPO). We are not required to do so under GDPR Article 37 — we are not a public authority and we do not carry out large-scale systematic monitoring of individuals or large-scale processing of special category data. All privacy inquiries are handled directly by us at support@essentiafoundation.org.

2. What This Policy Covers

This Privacy Policy applies to:

  • The Essentiafoundation.app website and web application
  • Your account and all features available to registered users (video and podcast playback, collections, community comments, search, personal notes)
  • Transactional emails we send you (email verification, password reset, newsletter)

This policy does not cover:

  • Third-party websites linked from Essentiafoundation.app — those sites have their own privacy policies
  • Content uploaded to Essentiafoundation.app by the platform operators — this policy covers how we handle your personal data as a user

By creating an account, you acknowledge that you have read and understood this policy. If you do not agree with it, you should not create an account.

3. What Data We Collect and Why

We collect four types of data: data you give us directly, data we collect automatically when you use the platform, data that third-party services collect when you interact with certain features, and data processed transiently by AI features to power search and recommendations.

3.1 Data You Give Us Directly

When you register an account

DataWhy we collect itLegal basisRetention
Email addressTo create your account and send you account-related emailsContract (GDPR Art. 6.1b)Until you delete your account
UsernameTo identify you in community features (e.g., comments)Contract (GDPR Art. 6.1b)Until you delete your account; your username remains visible on public comments after account deletion
PasswordTo authenticate you. Your password is hashed (bcrypt) — we never store your raw password.Contract (GDPR Art. 6.1b)Until you delete your account
IP address (at signup)To record where consent was given (GDPR compliance)Legal obligation (GDPR Art. 6.1c)7 years
Browser/device information (user agent, at signup)To record the device used to give consent (GDPR compliance)Legal obligation (GDPR Art. 6.1c)7 years

Providing your email address, username, and password is required to create an account. Without them, you cannot use the authenticated features of Essentiafoundation.app.

When you update your profile

DataWhy we collect itLegal basisRetention
Profile picture (avatar)To display your profileContract (GDPR Art. 6.1b)Until you remove it or delete your account

Uploading a profile picture is optional.

When you create content

DataWhy we collect itLegal basisRetention
CommentsTo enable community discussionContract (GDPR Art. 6.1b)Comment text is retained indefinitely; if you delete your account, your username is removed but the comment text remains (attributed to "Deleted User")
Collections and collection namesTo let you organise contentContract (GDPR Art. 6.1b)Deleted when you delete your account
Personal notesPrivate notes on contentContract (GDPR Art. 6.1b)Deleted when you delete your account
BookmarksSaved content linksContract (GDPR Art. 6.1b)Deleted when you delete your account
Feedback submissionsYour product feedback and feature requestsContract (GDPR Art. 6.1b)Submission text is retained; if you delete your account, your name is removed (attributed to "Deleted User")

When you accept our terms

DataWhy we collect itLegal basisRetention
Timestamp of acceptanceTo record when you agreed to our Terms of Service and this Privacy PolicyLegal obligation (GDPR Art. 6.1c)7 years
Version of document acceptedTo track which version you acceptedLegal obligation (GDPR Art. 6.1c)7 years
IP address at acceptanceTo demonstrate that valid consent was givenLegal obligation (GDPR Art. 6.1c)7 years
Browser/device information at acceptanceTo demonstrate that valid consent was givenLegal obligation (GDPR Art. 6.1c)7 years

If you subscribe to our newsletter

DataWhy we collect itLegal basisRetention
Email addressTo send you the newsletterConsent (GDPR Art. 6.1a)Until you unsubscribe
Subscription timestampTo record when you gave consentConsent (GDPR Art. 6.1a)Until you unsubscribe

Newsletter subscription is optional and separate from your account. You can unsubscribe at any time from your account settings.

3.2 Data We Collect Automatically

Viewing and playback history

When you watch a video or listen to a podcast while logged in, we record your progress:

DataWhy we collect itLegal basisRetention
Content IDTo identify what you watchedContract (GDPR Art. 6.1b)Until you delete your account
Playback positionTo allow you to resume where you left offContract (GDPR Art. 6.1b)Until you delete your account
Completion statusTo help you track what you have finishedContract (GDPR Art. 6.1b)Until you delete your account
Content type (video/podcast/essay)To categorise your historyContract (GDPR Art. 6.1b)Until you delete your account

Your viewing history is private — it is only visible to you and is not shared with other users.

Search queries

When you use the search feature, your search query is sent to Mistral AI to generate a semantic search embedding. Search queries are not stored. After the search results are returned, the query is discarded. See Section 3.4 for more about AI-assisted features.

Security and authentication data

DataWhy we collect itLegal basisRetention
IP address (at login)To protect against unauthorised access and detect suspicious activity. Logged to our hosting provider's server logs.Legitimate interest (GDPR Art. 6.1f) — securing our platform30 days (Vercel log retention)
Failed login attempts (client-side)To decide when to show a CAPTCHA. Stored locally in your browser only — never sent to our servers.Legitimate interest (GDPR Art. 6.1f) — protecting against brute-force attacks1 hour, then automatically cleared

Note: Failed login attempt counts are stored in your browser's local storage using your email address as part of the storage key. This data never leaves your device and is automatically deleted after 1 hour.

Error monitoring and performance (Sentry)

We use Sentry to monitor application errors and performance. Sentry may collect:

  • Error messages and stack traces when something goes wrong
  • Page load timing and API performance data
  • Session replays: Anonymised recordings of your interactions (clicks and scrolls) to help us diagnose problems. Text you enter is masked; images and video are blocked. Approximately 10% of sessions are recorded normally; 100% of sessions where an error occurs are recorded.

Sentry is configured with privacy protections: your IP address is not sent to Sentry, and all text is masked in session replays.

DataLegal basisRetention
Error events and performance dataLegitimate interest (GDPR Art. 6.1f) — maintaining service quality90 days
Session replay recordingsLegitimate interest (GDPR Art. 6.1f) — diagnosing user-facing problems30 days

3.3 Data from Third-Party Services

When you watch videos — Mux

Essentiafoundation.app uses Mux to deliver video and podcast content. When you watch a video, Mux's player automatically collects viewer analytics:

DataWhy Mux collects itRetention
IP addressTo measure geographic reach and diagnose delivery issues30 days
Device type, operating system, browserTo optimise video quality for your device30 days
Playback events (play, pause, buffering, quality changes)To measure playback quality30 days
Watch durationTo measure content engagement30 days

Mux analytics data is sent directly from your browser to Mux's servers (ingest.litix.io). Your Essentiafoundation.app account email or username is not sent to Mux.

When you sign in or register — Cloudflare Turnstile

To protect against bots and automated attacks, we use Cloudflare Turnstile as a CAPTCHA service. Turnstile is triggered on the signup page and after three consecutive failed login attempts. When the CAPTCHA activates, Cloudflare receives:

DataWhy Cloudflare collects itRetention
Browser signals (capabilities, interaction patterns)To determine if you are a humanShort-lived (hours)
IP addressTo assess riskShort-lived
User agentTo assess browser contextShort-lived

Cloudflare Turnstile is specifically designed to be less invasive than traditional CAPTCHAs. It does not track you across other websites.

3.4 AI-Assisted Features

Several features on Essentiafoundation.app are powered by artificial intelligence. In all cases, AI is used purely to improve content discovery — it does not make decisions about your account or access rights.

FeatureWhat data is processedWho processes itIs it stored?
Semantic searchThe text of your search queryMistral AI (France, EU)No — the query is sent transiently and discarded after results are returned. We do not store your search history.
Discussion thread categorisationThe text of a comment you post (up to 500 words)Mistral AI (France, EU)No — processed once to suggest a thread type and title. The suggestion is shown to you; the raw text is not retained by Mistral AI.
Content recommendations ("related content")The content you are currently viewingSupabase (vector similarity search, Germany, EU)No personal data is sent — recommendations are based on the content ID, not on your identity or history.

No automated decision-making: None of these AI features make decisions that produce legal or similarly significant effects on you (GDPR Art. 22). They are content discovery tools only. You can ignore or dismiss any AI-generated suggestion (e.g., a thread title) without consequence.

No account identifiers sent to AI: Your email address, username, and user ID are never sent to Mistral AI alongside your content. Queries and comments are processed without attribution to your account.

4. How We Use Your Data

PurposeData UsedLegal Basis
Providing the service — creating and managing your account, authentication, delivering content, saving your progressAccount data, playback history, collections, notesContract (GDPR Art. 6.1b)
Community features — displaying your comments and content contributionsUsername, comment text, feedback textContract (GDPR Art. 6.1b)
Security — protecting against unauthorised access, brute-force attacks, and abuseIP address (login), failed attempt counts (browser-local)Legitimate interest (GDPR Art. 6.1f)
Legal compliance — maintaining records of consent, responding to data subject requestsConsent records, account deletion recordsLegal obligation (GDPR Art. 6.1c)
Transactional email — sending account verification, password reset, and other account-related emailsEmail addressContract (GDPR Art. 6.1b)
Newsletter — sending our newsletter to subscribersEmail address, subscription statusConsent (GDPR Art. 6.1a)
AI-powered search — processing your search query to find relevant contentSearch query text (transient — not stored)Contract (GDPR Art. 6.1b)
AI-powered discussion threads — categorising the type of comment you post and suggesting a thread titleComment text you submit (transient — processed once)Contract (GDPR Art. 6.1b)
Error monitoring and performance — identifying and fixing bugs, measuring service performanceError data, session replays (masked)Legitimate interest (GDPR Art. 6.1f)
Account deletion audit trail — maintaining records of deletion requests for legal purposesDeletion timestamp, deletion type, email addressLegal obligation (GDPR Art. 6.1c)
Payment processing — processing one-time donations and subscription billing via Stripe's hosted checkoutPayment amount; for subscriptions, email address passed to Stripe to create a customer record. Card details are entered directly with Stripe — we never receive them.Contract (GDPR Art. 6.1b) / Legitimate interest (GDPR Art. 6.1f) — for donations

What We Do Not Do

  • We do not sell your personal data to anyone.
  • We do not share your data for advertising or marketing purposes.
  • We do not use your data to build advertising profiles.
  • We do not use automated decision-making that produces legal or similarly significant effects on you. Our AI features (search and thread categorisation) are content discovery tools only — they do not make decisions about your account or access (GDPR Art. 22).

5. Who We Share Your Data With

We use the following third-party services to operate Essentiafoundation.app. Each service acts as a data processor — meaning they process your data only as we instruct them to, and only for the purposes listed below.

Stripe

PurposePayment processing — anonymous one-time donations and, when activated, subscription billing
Data they receiveFor donations: payment card details, billing address, and IP address entered directly by you on Stripe's hosted checkout page. For subscriptions: additionally your email address to create a customer record. We never see or store your card details.
Data locationUnited States (global infrastructure)
SCCs requiredYes
Privacy policystripe.com/privacy

Supabase

PurposeDatabase, user authentication, file storage, semantic search (Edge Functions)
Data they receiveAll account data, playback history, collections, notes, comments, consent records, and all other data stored in the platform's database. Authentication data (email, password hash, session tokens).
Data locationEU — eu-west-1 (Frankfurt, Germany)
SCCs requiredNo — data remains in the EU
Privacy policysupabase.com/privacy

Vercel

PurposeWeb hosting, serverless API functions, content delivery network (CDN)
Data they receiveHTTP request logs: IP address, user agent, URL path, response time, HTTP status code. Auth tokens pass through Vercel in request headers but are not logged by default.
Data locationGlobal CDN including EU edge nodes
SCCs requiredStandard Contractual Clauses (EU Commission 2021) — see Vercel DPA
Privacy policyvercel.com/legal/privacy-policy

Mux

PurposeVideo and podcast streaming, playback analytics
Data they receiveViewer analytics: IP address, device info, playback events, watch duration. Your account username and email are not sent to Mux.
Data locationUnited States (global CDN)
SCCs requiredYes
Privacy policymux.com/legal/privacy-policy

Resend

PurposeTransactional email delivery (account verification, password reset, newsletter)
Data they receiveYour email address and the content of transactional emails (verification links, reset links)
Data locationUnited States
SCCs requiredYes
Privacy policyresend.com/legal/privacy-policy

Mistral AI

Purpose(1) Semantic search — generating vector embeddings from your search queries; (2) Thread categorisation — categorising the type of discussion when you post a comment
Data they receive(1) Your search query text; (2) The text of your comment (up to 500 words). No account identifiers (email, username, user ID) are sent alongside the content.
Data locationFrance (EU)
SCCs requiredNo — EU location
Model trainingMistral AI does not use API requests to train its models. Your content is processed transiently and is not retained by Mistral AI.
Privacy policymistral.ai/terms

Sentry

PurposeApplication error tracking, performance monitoring, session replay
Data they receiveError messages and stack traces; page performance data; anonymised session replay recordings (with text masked and media blocked). IP addresses are not sent to Sentry.
Data locationEU — data routed to ingest.de.sentry.io (Sentry's EU data centre in Germany)
SCCs requiredYes — Sentry Inc. is a US company; SCCs are included in Sentry's standard DPA
Privacy policysentry.io/privacy

Cloudflare Turnstile

PurposeCAPTCHA verification to prevent bot abuse at login and signup
Data they receiveBrowser signals, interaction patterns, IP address, user agent — only when the CAPTCHA widget activates
When it activatesOn the signup page, and after 3 consecutive failed login attempts
Data locationGlobal (Cloudflare network, including US)
SCCs requiredYes
Privacy policycloudflare.com/privacypolicy

Sub-processors: Our third-party processors may use their own sub-processors (e.g., Supabase uses AWS in eu-west-1; Sentry is operated by Sentry Inc. (US) with EU data routing). We verify that each processor's DPA covers their sub-processors before engaging them.

6. International Data Transfers

Essentiafoundation.app stores all application data in the European Union (Frankfurt, Germany via Supabase). However, some third-party services are based in the United States and process data there:

ProcessorLocationTransfer Mechanism
StripeUnited StatesStandard Contractual Clauses (EU Commission 2021)
SupabaseEU (Frankfurt)No transfer
VercelGlobal (including US)Standard Contractual Clauses (EU Commission 2021)
MuxUnited StatesStandard Contractual Clauses (EU Commission 2021)
ResendUnited StatesStandard Contractual Clauses (EU Commission 2021)
Mistral AIFrance (EU)No transfer
SentryEU (Germany) — parent company USStandard Contractual Clauses (included in Sentry DPA)
Cloudflare TurnstileGlobal (including US)Standard Contractual Clauses

Standard Contractual Clauses (SCCs) are pre-approved model contracts from the European Commission that provide appropriate safeguards for data transferred outside the EU. You can request copies of the SCCs in place by contacting support@essentiafoundation.org.

For transfers to the United Kingdom: The EU–UK adequacy decision remains in effect. UK users' data is protected under UK GDPR, which is substantively equivalent to EU GDPR.

7. Cookies and Browser Storage

What Are Cookies?

Cookies are small text files stored on your device. We also use browser storage (localStorage and sessionStorage) for certain functional purposes.

Our Cookies

Essential cookies (required for the service to work)

CookiePurposeExpires
sb-[project]-auth-tokenStores your login session so you stay logged in between pages. Contains your encrypted session token.Session / up to 7 days (refresh token lifetime)

You cannot opt out of essential cookies while using Essentiafoundation.app, as they are required for the service to function.

Security cookies (third-party — Cloudflare Turnstile)

When you complete a CAPTCHA challenge, Cloudflare may set a short-lived cookie to confirm the challenge was passed. This cookie is strictly necessary for security. Cloudflare Turnstile is designed to be privacy-preserving.

Browser Storage We Use

We use your browser's localStorage to remember your preferences. None of these items are shared with third parties.

ItemPurposeContains personal data?
themeRemembers your colour theme preference (dark/light)No
essentia-playback-speedRemembers your preferred video playback speedNo
login_attempts_{email}Tracks failed login attempts to decide when to show CAPTCHA. Stored only in your browser — never sent to our servers. Cleared automatically after 1 hour.Yes — the storage key includes your email address in plaintext
Panel width settingsRemembers the widths of resizable UI panelsNo

We also use sessionStorage (cleared when you close the browser tab) for picture-in-picture playback state. This contains no personal data.

What We Do Not Use

  • No advertising or tracking cookies
  • No cross-site tracking cookies
  • No Google Analytics, Mixpanel, or similar analytics services

Managing Your Cookies

You can control cookies through your browser settings. Most browsers allow you to view, delete, or block cookies. Note: deleting the authentication cookie (sb-[project]-auth-token) will log you out.

8. Data Retention

We keep your data for as long as necessary to provide the service and meet our legal obligations:

Data CategoryRetention PeriodReason
Account data (email, username, profile)Until you delete your accountContract — required to provide the service
Viewing and playback historyUntil you delete your accountContract — required to provide resume-watching feature
CommentsComment text retained indefinitely; author identity removed on hard account deletionLegitimate interest — community record integrity
Collections, notes, bookmarksDeleted when you hard-delete your accountContract
Feedback submissionsSubmission text retained; author identity removed on hard account deletionLegitimate interest — product improvement
Consent records (timestamps, IP, user agent, version)7 yearsLegal obligation — GDPR compliance evidence
Account deletion records (deletion timestamp, type)7 yearsLegal obligation
Server logs (IP address at login/request)30 days (Vercel default)Legitimate interest — security
Failed login attempts (browser-local)1 hour, then automatically clearedLegitimate interest — security
Mux video analytics30 days (Mux's retention policy)Third-party service
Sentry error data90 daysLegitimate interest — service quality
Sentry session replays30 daysLegitimate interest — service quality
Resend email delivery logs30 days (Resend's retention policy)Third-party service
Stripe payment recordsRetained by Stripe per their policies (typically 7 years for financial records). We hold only a Stripe session/customer ID — no card data.Legal obligation — financial record-keeping

When retention periods expire, data is deleted or anonymised. For data that cannot be immediately deleted due to legal obligations (e.g., consent records), we retain only the minimum necessary.

9. Your Rights

Under GDPR (and UK GDPR), you have the following rights regarding your personal data:

Right of access: You have the right to receive a copy of the personal data we hold about you.

How to exercise: Log in → Settings → Download Your Data. This generates a JSON export of all data we hold. Alternatively, email support@essentiafoundation.org.

Right to rectification: You have the right to correct inaccurate personal data we hold.

How to exercise: Log in → Profile → Edit profile (for username, avatar). For other corrections, email support@essentiafoundation.org.

Right to erasure (“right to be forgotten”): You have the right to request deletion of your personal data where there is no longer a legitimate reason to keep it.

How to exercise: Log in → Settings → Delete Account → choose Permanent deletion. This removes your account, profile, collections, notes, bookmarks, and voting history. Note: comment text and feedback text you have posted are retained (attributed to “Deleted User”) as part of the community record; consent records are retained for 7 years for legal compliance. Alternatively, email support@essentiafoundation.org.

Right to restriction of processing: You have the right to ask us to pause processing of your data in certain circumstances (e.g., while a dispute is being resolved).

How to exercise: Email support@essentiafoundation.org.

Right to data portability: You have the right to receive your data in a structured, machine-readable format.

How to exercise: Same as right of access — Settings → Download Your Data provides a JSON export of all your data.

Right to object: You have the right to object to processing based on legitimate interests. You may also object to receiving the newsletter at any time.

How to exercise: For newsletter: Settings → Notifications → Unsubscribe. For other objections: email support@essentiafoundation.org.

Right to withdraw consent: Where we process data based on your consent (e.g., newsletter subscription), you can withdraw consent at any time without affecting the lawfulness of processing before withdrawal.

How to exercise: Settings → Notifications → Unsubscribe (newsletter). For other consent withdrawals, email support@essentiafoundation.org.

Response times

We aim to respond to all rights requests within 30 days. If your request is complex, we may extend this by a further two months — we will notify you if this is necessary. We will not charge you for exercising your rights unless requests are manifestly unfounded or excessive.

Right to complain to a supervisory authority

If you believe we have not handled your personal data correctly, you have the right to lodge a complaint with a data protection supervisory authority:

  • For Netherlands residents (lead supervisory authority): Autoriteit Persoonsgegevens (AP) — autoriteitpersoonsgegevens.nl — Tel: +31 (0)70 888 85 00
  • For other EU residents: Contact the national data protection authority in your EU member state. A full list is available at edpb.europa.eu.
  • For UK residents: Information Commissioner's Office (ICO) — ico.org.uk — Tel: 0303 123 1113

We would appreciate the chance to address your concerns before you contact a supervisory authority. Please email us first at support@essentiafoundation.org.

10. Children's Privacy

Essentiafoundation.app is intended for users aged 16 and over. We do not knowingly collect personal data from children under 16.

If you are under 16, please do not create an account or provide us with any personal data.

If you are a parent or guardian and believe your child has provided us with personal data, please contact us at support@essentiafoundation.org. We will delete the account and associated data promptly on verification.

Note for US users (COPPA): Essentiafoundation.app is not directed at children under 13. We do not knowingly collect personal data from children under 13 in the United States. If we become aware that we have collected data from a child under 13, we will delete it immediately.

11. Security

We take reasonable technical and organisational measures to protect your personal data:

Technical measures

  • All data in transit is encrypted using TLS/HTTPS
  • All data at rest in our database (Supabase) is encrypted
  • Passwords are hashed using bcrypt — we never store or see your raw password
  • Row-Level Security (RLS) policies ensure users can only access their own data
  • Access to administrative functions is restricted to authorised accounts

What you can do

  • Use a strong, unique password for your Essentiafoundation.app account
  • Do not share your login credentials with anyone
  • Log out when using shared devices

Data breach notification: In the event of a data breach that is likely to result in a high risk to your rights and freedoms, we will notify you and the relevant supervisory authority without undue delay and within 72 hours of becoming aware of the breach, as required by GDPR.

12. Changes to This Policy

We may update this Privacy Policy from time to time. When we do:

  • Minor updates (e.g., fixing typos, adding clarification): We will update the version number and date at the top of this page.
  • Material updates (e.g., new data collection, new third parties, changes to your rights): We will notify you by email and, where required by law, ask for your consent again before the changes take effect. You will be prompted to re-accept the updated policy when you next log in.

13. Contact Us

For any questions about this Privacy Policy, to exercise your data rights, or to report a privacy concern:

  • Email: support@essentiafoundation.org
  • Response time: We aim to respond within 30 days.
  • Postal address: Stichting Essentia Foundation, Langbroekerdijk 8-a, 3972 ND Driebergen-Rijsenburg, Netherlands