Privacy

What we collect, and what we do not.

This describes XDRIP Academy at xdripacademy.com, run by XDRIP Digital Management. It is written against the code rather than from a template, so where something is unfinished it says so.

Last updated 10 September 2026

Reading the site

Every lesson published so far, the glossary, the toolkit templates and the read-only chain explorer work with no account and no email address. We do not require you to identify yourself to read anything.

There is no analytics on this site. No Google Analytics, no Plausible, no Vercel Analytics, no advertising pixel and no third-party tracker of any kind. We do not know which pages you read unless you are signed in and mark a lesson complete yourself.

Our host, Vercel, keeps ordinary server request logs including IP addresses, in the normal way that any web server does. We do not build profiles from them and we do not export them anywhere.

The notification list

If you submit the form on the homepage or under a toolkit template, we store three things: the address you typed, which page you submitted it from, and the user agent string your browser sends with every request. Nothing else. We do not store your IP address with it.

That list has exactly one purpose, which is telling you when the gates, labs and credentials open. We will not send you anything else, we will not sell or share the list, and being on it grants no access to anything: it is a notification list, not a queue.

When you join, we send one message confirming it. It is plain text, it carries the address below for coming off the list, and it repeats that being on the list unlocks nothing. Beyond that we send a short note when a course, lab or teardown goes up.

That mail is sent by Resend, named in the processor list below. This page was updated to name them before the first message went out, which is what the previous version of this section promised would happen.

To come off the list, reply to any message we send you or email academyprivacy@xdrip.io. We remove the row rather than flagging it.

Accounts

An account stores your email address and a hash of your password. Authentication is handled by Supabase, which generates the emailed verification and password reset codes and hands them to Resend to deliver. We never see your password.

Signing in sets a session cookie so that you stay signed in between pages. That is the only cookie this site sets. It is not used for tracking and there is nothing to consent to beyond staying signed in.

Enrollment is open in the United States, Canada, the United Kingdom, the European Union and EEA, Switzerland and Australia, and to adults only. At signup and on every lab page the country the platform attaches to the request is compared against that list. It is read and compared, never stored. When you create an account you confirm you are 18 or older, and that confirmation is recorded as the first of your acknowledgments, below.

Acknowledgments and consents

Some things open only after you accept a statement: the age confirmation at signup, the acknowledgment of base rates before the Senior year, and the consents to the Gauntlet labs. Each acceptance is stored against your account as the exact text you were shown, its version, a hash of it, and the time. Withdrawing one is a second timestamp on the same row, not a deletion, so the record of what you consented to and when you withdrew it survives.

The Gauntlet consents also store a hash of a stop code you are shown once. Posting the code to the stop page withdraws them without signing in. We store the hash and cannot recover the code.

No lab that captures your voice is built yet. When one is, it will collect only a recording you make yourself, use it only to send synthetic messages to you inside the lab, and delete it within seven days of the lab ending or your withdrawing, with an audit record of the deletion. That is written into the consent itself, which you can read on your account page today.

What an account records about your learning

If you are signed in, the following is stored against your account, because each of these is something the site has to remember in order to be useful to you:

  • Which lessons you have marked complete, and when.
  • Your answers to the assessment items at the foot of a lesson, and whether each was correct.
  • Your calibration runs: the answer and confidence you gave for each item, and the resulting scores.
  • Your spaced repetition schedule. This is a reference to a lesson and a card number, never a copy of the card text.
  • Your lab sittings: which lab, the seed the paper was generated from, and whether you passed.
  • Artifacts you submit for review, the reviewer's per-criterion marks, and the note they wrote you.
  • Trade simulation runs: the plan you committed to, the seed, and the orders you placed.

This is the record a credential would rest on, so it is kept for as long as your account exists. Nobody else can read it. Every one of those tables refuses a read from any account but yours at the database level rather than only in application code, and there is a test in this repository whose whole job is to prove that one learner cannot read, write or forge another learner's rows.

Aggregate counts across all accounts are visible to us on an internal admin page. Named learner work is visible to us only where the design requires it: an artifact you submit for review is read by a human reviewer, which is stated on the submission page.

The practice wallet

The sandbox generates a practice wallet whose private key is written to your browser's local storage and never sent over the network. We do not have it and cannot recover it. It only ever signs on BSC testnet, where the funds have no value, which is the entire reason it is safe to hold a key this way. Clearing your browser storage destroys it, and that is by design.

Who else processes it

  • Supabase. Hosts the database and runs authentication, including generating the verification and password reset codes.
  • Vercel. Hosts and serves the site, and keeps ordinary request logs.
  • Resend. Delivers every email this site sends, which means the verification and password reset codes and anything sent to the notification list. They receive the address the message is going to and the message itself, and they keep a delivery log.

That is the complete list. There is no CRM, no analytics vendor, no advertising network and no data broker in this stack. Resend is a sending provider and we use it as one: we do not run campaigns, score opens, or track whether you clicked anything. If any of that changes, or another processor is added, it will be named here before it is switched on.

Your rights over it

You can ask us what we hold about you, ask for it corrected, ask for it deleted, or ask for a copy of it. Use the request form or email academyprivacy@xdrip.io. Both reach the same place, and you need no account for either. Deleting your account removes the learning record with it, because every one of those tables is keyed to your account and set to delete with it.

The form is the better route, and not for our convenience. It puts your request in a queue with the date on it, which is what lets us show a request was answered rather than only say so. It also sends you a copy of what you filed, so the record is not ours alone. We answer within thirty days.

Being on the notification list and having an account are separate. Deleting one does not delete the other, so say which you mean, or say both.

Changes

When what we collect changes, this page changes in the same commit as the code, and the date at the top moves. We will not quietly widen what is collected and leave this page describing the narrower version.

Why the contact address is on a different domain

Every address on this page is academyprivacy@xdrip.io, which is xdrip.io and not xdripacademy.com. That is deliberate and worth explaining, because this site spends a course teaching you to treat a contact address on a domain that does not match the site as a warning sign.

XDRIP Academy is part of XDRIP, and xdrip.io is the company domain. It already runs mail; the academy domain does not, and standing up a second mail service only to answer privacy requests would add a processor to the list above for no benefit to you.

The general rule still holds, and you should keep applying it. The difference is that you are reading the claim here, on the site itself, over HTTPS, rather than being told it by an email that arrived asking you to trust it. That is the check: verify the address from the source, never from the message.