E-Code is run by Ryan Elias, 44 Orchard Dr, Hope, RI 02831. Questions about this notice: [email protected].
E-Code helps you write, run and check calculator programs. We collect as little as we can, and this page lists all of it.
| What | When | Why | Where it's kept |
|---|---|---|---|
| Your email address | When you sign in | To send your sign-in code and link and to find your account | Supabase (our database and sign-in provider); Resend delivers the sign-in email |
| Your password, if you set one | When you set or change it | So you can sign in without a code | Stored only as a secure hash by Supabase (we never see it) |
| Plan and billing status: your plan, its status and renewal date, and your Stripe customer and subscription IDs | When you subscribe or buy a pack of library programs | To give you what you paid for | Supabase. Your card details go to Stripe on Stripe's own page; we never see or keep them |
| Your agreement to automatic renewal: which version of the renewal terms you agreed to, and when | When you tick the renewal box at checkout | To keep proof that you agreed to the renewal before paying, as California's automatic renewal law requires | Stripe, with your subscription and its checkout record (not in our database) |
| Usage counters: tokens used this period, which library programs you've opened and when, and how many of your allowance and bought programs you've used | When you use the program writer or the library | To apply your plan's limits | Supabase |
| What you ask the program writer: your request, your last 6 requests in the same chat with the programs written for them, and any photo or PDF you attach | When you press send or attach a file | To write your program, or read the problem in your file. It's sent to Anthropic's Claude API, which produces the answer. A file is first checked, in your browser and on our server, for hidden code; a file that fails is refused and never sent to Anthropic | Not stored on our servers |
| Searches that match no library program: the text you typed in the Ask box and the date, with no account ID, email, IP address or browser details attached. Anything that looks like an email address or phone number is dropped, not stored | When what you type matches none of our library programs | To learn which programs students need that the library doesn't have yet | Cloudflare (our key-value store), deleted automatically after 30 days |
| Rule strikes and suspensions: your account ID, which of E-Code's rules a refused request broke, and when; and whether the account is suspended. Never the text you typed | When the program writer refuses a request under the rules, or an account is suspended | To enforce the rules: 3 strikes within 30 days suspends an account | Cloudflare (our key-value store); each strike is deleted automatically after 30 days, a suspension when it's lifted |
| Rate-limit counters: your account ID and a count of recent requests | When you use the program writer or the library | To stop abuse and runaway costs | Cloudflare, deleted automatically after about 11 minutes |
| Page-visit statistics: which pages are visited, the referring site, and the browser, device type and country, counted without cookies | When you load a page | To see which pages are used and how fast they load | Cloudflare Web Analytics, as totals; it doesn't identify you or follow you to other sites |
| Home-page test: we show one of two versions of the home page at random, and a cookie (ec_ab, 90 days) remembers which version you saw. We count, for each version, how many visits lead to a new account, using a random ID, never your email, IP address or account ID | When you open the home page, and when a new account is created | To learn which home page explains E-Code better | Cloudflare (a D1 database), deleted when the test ends |
| Where visitors come from. When you arrive from an ad or another site, we note that site or ad campaign, the page you landed on and the day, with a random ID stored in your browser. We use it to count sign-ups per channel. We never store your IP address, email or browsing history, and we delete it after 13 months | When you open a page, when a new account is created, and when your account gets its first program | To count sign-ups per channel | Cloudflare (a D1 database), deleted after 13 months; the random ID and the last site or ad in your browser's local storage |
| Things saved on your device: your chat, conversation history and current program; the programs and graph settings on your E-Calc; your streak; a count of free programs used while signed out; a copy of your plan and usage; whether you closed a notice; whether a password was used on this device (not the password); whether this device answered the age question (the date it was answered, never your birth date), or, after an answer under 18, the date it may ask again; and your sign-in session | While you use the app | So the app remembers where you were | Your browser's local storage only. We don't receive a copy |
Some features never reach us at all. The E-Calc runs entirely in your browser. The bring-your-own-Claude-chat bridge copies a prompt to your clipboard for your own Claude chat, on your own account; there is no server in that flow. Sending a program to a calculator goes over USB from your browser, or through E-Code's helper program on your own computer; nothing passes through our servers.
We don't sell or share your personal information, use advertising or cross-site tracking cookies, or build profiles about you.
These service providers process data only to run E-Code for us:
| Provider | What they do for us | What they receive |
|---|---|---|
| Supabase | Sign-in and our database | Your email, account and usage data |
| Resend | Sends sign-in emails | Your email address and the sign-in email |
| Stripe | Payments, receipts and subscriptions | Your payment details (entered on Stripe's page), your email, your account ID and what you bought, and for a plan, which version of the renewal terms you agreed to and when |
| Cloudflare | Hosting, security, rate limiting, rule strike and suspension records, page-visit statistics, storing searches that match no library program, email forwarding for [email protected], and a bot check on the sign-in form (Turnstile) | Network data such as your IP address, for every request; the text of those searches, without who sent them; the support emails you send us; for the bot check, signals from your browser such as your IP address, TLS fingerprint and User-Agent header, used to detect and block bots and to improve Turnstile, not to identify or profile you (Turnstile Privacy Addendum) |
| Anthropic | The AI that writes programs (Claude) | Your request, recent requests and programs, and attachments; not your name, email or account ID. Under Anthropic's commercial terms it may not train its models on this data |
E-Code's programs are written by an AI (Anthropic's Claude), not a person, and E-Code says so in the chat, under every program and in every downloaded file. AI can be wrong, so run every program on the E-Calc and check it against what you know before you rely on it. See the terms of use and the rules.
E-Code accounts, the program writer, uploads and purchases are for adults, 18 and older. Before an account is used, E-Code asks the year you were born; the answer stays on your device and is never sent to us. We don't knowingly collect personal information from anyone under 18. If you believe someone under 18 gave us their information, email [email protected] and we'll delete it. The free examples and the E-Calc work without an account.
We answer every request, and we won't treat you differently for making one.
E-Code doesn't track you across other websites. We treat every visitor the same whether or not the browser sends a Do Not Track or Global Privacy Control signal. No third party collects information about your activity across websites through E-Code.
Sign-in uses one-time codes and links sent to your email, or a password you choose, of which Supabase keeps only a secure hash. Traffic is encrypted (HTTPS). Only the minimum people and systems can reach the database, and we don't keep card numbers. No system is perfectly secure; if something goes wrong that affects your information, we'll tell you as the law requires.
Our database (Supabase), which holds your account, plan and usage data, is hosted in Canada (Amazon Web Services, Canada Central region, Montréal). Cloudflare serves E-Code from its global network, so a request may be handled in a data centre near you. Stripe, Anthropic and Resend process data in the United States and wherever else their own notices say.
If this notice changes, we'll update the date at the top. If a change is significant, we'll also tell you in the app or by email before it takes effect.
[email protected] · Ryan Elias, 44 Orchard Dr, Hope, RI 02831 · Rules · Help and support