Privacy Policy
Last updated: 20 October 2026
Daftar ("the app", "we", "us") is operated by Ali Mneimneh, an individual developer based in Beirut, Lebanon ("the operator"). This policy explains what information the app handles, where it goes, and the choices you have. We designed the app so that your study material stays on your device and the operator sees as little as possible.
1. The short version
- Your courses, recordings, transcripts, notes, uploaded files, chats and flashcards are stored only in your browser (IndexedDB / localStorage) on the device you use. They are not stored in any Daftar database.
- To sign in you use your email address and a one-time code, or — if you choose to set one — a password. We keep a small account record: your email, a WhatsApp number if you choose to give one, your account status, and how many AI requests you've used each day — never the content of those requests. If you set a sign-in password, we store only a salted one-way hash of it (never the password itself), plus a count of recent wrong attempts; removing it in You → Settings deletes the hash.
- The camera is used only while you have the board-photo screen open, and only the photos you take are kept — nothing is filmed or sent while you frame the shot.
- To turn a recording into text and notes, the audio and text are sent transiently to processors: Speechmatics (speech-to-text for lectures in every language), with Deepgram used instead when Speechmatics can't read a file or is unavailable, and Anthropic (AI notes, answers and flashcards). They process the data to provide the service and return the result; we do not keep copies on our servers.
- The app itself uses no advertising or tracking cookies and no third-party analytics. On the landing and pricing pages we count visits (how many people open them, read on and join, and which link brought them) without cookies and without storing IP addresses, using our own counter and Vercel Web Analytics. The landing page (not the app) also uses the Meta Pixel for ad measurement: it tells Meta that you visited and whether you signed up, so we can see which ads work. If you came that way and later pay or start a free trial on the website, our server tells Meta that too (the plan and the amount, never your email or anything from the app). You can turn it off with one tap at the bottom of the landing page, and it stays off if your browser sends Global Privacy Control or Do Not Track (section 4). We do not sell your data, and nothing from inside the app — your courses, recordings, notes or chats — is ever shared for advertising.
- You can delete everything on your device at any time from the You tab, and delete your account there too (Delete my account), or ask us by email (section 10).
2. What information is processed
| Information | Where it lives | Who processes it | Why |
|---|---|---|---|
| Course names, titles, settings | Your device | — | To organise your notes |
| Lecture audio you record or upload | Your device; sent during transcription to Speechmatics (if Speechmatics can't read the file or is unavailable, it goes to Deepgram instead) | Speechmatics, Deepgram | Speech-to-text |
| Transcripts, notes, notes sheets, flashcards, chat messages | Your device; sent to Anthropic when generated or when you ask a question | Anthropic | Generating and answering |
| Uploaded course files (slides, readings, spreadsheets, books, any document) and the text extracted from them | Your device; the text is pulled out in your browser and sent to Anthropic as context when you generate notes, a notes sheet, or ask a question. Pages of a scanned PDF that have no text layer are sent to Anthropic once as images, like board photos, so they can be read into text | Anthropic | Better, grounded results |
| Photos of the board (or of slides and handouts) that you take in the app or pick from your phone | Your device, re-saved without location or other photo metadata; each photo is sent to Anthropic once so the writing on it can be read into text, and that text is then used like an uploaded file's | Anthropic | Using what was on the board in your notes and answers |
| Optional API keys you paste into the app | Your browser (secure cookie and local storage) | Our server reads them only to forward your request | To let you use your own accounts |
| Your account: email address, optional WhatsApp number, which sign-up form you used, account status, and the dates you signed up and last used the app | Our database (Supabase) | Supabase | To create your account, let you sign in, and contact you about it |
| Sign-in codes | Emailed to you; our database stores only a keyed hash, which expires after 10 minutes | Resend (email delivery), Supabase | To confirm you own the email address |
| Free-plan abuse check, when you sign in: keyed hashes (one-way codes that can't be turned back into the original) of your IP address, a random id for your browser, a summary of your device's characteristics (screen size, time zone, languages, platform, how it draws text), and your email address with dots and "+" tags removed; whether your email is from a throwaway-inbox service; and, for a new account, a risk score with its reasons. The IP address, the device details and your email in this form are never stored as such | Our database (Supabase), 180 days after your last sign-in; deleted with your account | Supabase | The free plan is one per person: a new account that matches an older one on several of these gets no free allowance (it can still buy a plan, and you can ask us to review it). Legitimate interest in preventing abuse of the free plan |
| The kind of device you open Daftar on (Android, iPhone/iPad, Windows, Mac, Linux or ChromeOS), read from your browser when the app opens; only that word, not the browser's details | Our database (Supabase), with the date you last used each kind; deleted with your account | Supabase | Sending an update only to the people it concerns, for example asking Android users to test the Android app |
| Usage counts per day (for example, "12 questions this week") — numbers only, no content | Our database (Supabase) | Supabase | Fair-use limits for each person |
| AI usage figures per day: which feature and AI model was used, how many requests, how many tokens (units of text) went in and out, minutes of audio transcribed, and the estimated cost — numbers only, never the content | Our database (Supabase), 13 months | Supabase | Knowing what running Daftar costs, and keeping the free plan sustainable |
| Error reports: when something fails in the app or on our server, where it happened (for example "notes" or "/api/chat"), an error code and a short error message with keys and email addresses removed, linked to your account if you were signed in — never your notes, recordings or questions | Our database (Supabase), 30 days | Supabase | Finding and fixing problems |
| A private note the operator may keep on your account (for example "met at the launch stand" or "refund agreed on 3 Oct") | Our database (Supabase), until your account is deleted | Supabase | Running the service and remembering what was agreed with you |
| Announcement emails: which announcements were sent to you, when, and whether you unsubscribed | Our database (Supabase), until your account is deleted | Resend (email delivery), Supabase | Occasional news about Daftar; every one has an unsubscribe link |
| Encrypted sync copy (optional, only if you turn sync on) — notes and course data, not audio or original files | Our database (Supabase), encrypted on your device with your passphrase before upload; we cannot read it | Supabase | Syncing your devices |
| Share links (optional, only if you create one) — a readable copy of the notes you chose to share | Our database (Supabase), until the link expires | Supabase | Letting anyone with the link read those notes |
| Questions you ask in Questions & answers, and our answers | Our database (Supabase); shown to every signed-in student with your first initial only | Supabase | Answering you, and letting others learn from the same answer |
| A review you choose to write: your star rating, your comment and the name you choose to show (or "A student") | Our database (Supabase), until you delete it in the app or delete your account; shown publicly on the reviews page, and on the landing page if we feature it | Supabase | Letting other students see what people think of Daftar |
| Your plan (free, Student or Pro), when it ends, and any extra AI calls you have | Our database (Supabase) | Supabase | To apply the allowance you paid for |
| Payments: what you bought, the amount, when, whether it went through, and Paddle's reference number — never your card, wallet or bank details, which stay with Paddle | Our database (Supabase); the payment itself happens in Paddle's checkout | Paddle, Supabase | To unlock what you paid for and to sort out problems with a payment |
| For a card, Apple Pay or Google Pay payment: your email address, passed to Paddle's checkout so you don't have to type it, and your internal account number, attached to the order so the payment can be matched to your account | Paddle | Paddle | To take the payment, send your receipt and match it to your account |
| In the Android app, a subscription bought through Google Play: which plan, whether the purchase went through, when it renews or ends, and your internal account number (so the purchase can be matched to your account) — never your card details, which stay with Google | Google Play; RevenueCat passes the purchase status to our database (Supabase) | Google, RevenueCat, Supabase | To unlock what you paid for and keep your plan in step with Google Play |
| Gift codes | Our database stores only a keyed hash of each code, and who redeemed it | Supabase | To make sure each code works once |
| A WhatsApp message you choose to send us to arrange a payment (it includes your Daftar email and what you want to buy) | Your and our WhatsApp | WhatsApp (Meta) | To take payments another way and switch the plan on |
| For a Whish payment (Lebanon): the amount, the reference shown in the app, and the sender name or number you type in or that Whish shows us | Our database (Supabase); the transfer itself happens in Whish | Whish Money, Supabase | To match your transfer to your account and switch the plan on, and to refund it if you ask |
| Access password (if the operator has enabled one) | A signed session cookie on your device; the password itself is never stored by the app | Our server | To restrict who can use the operator's AI credit |
| Landing-page visit counts, only if you're not signed in: a random number for that one page load, which bio link or website sent you (e.g. instagram.com — the site's name only), whether you scrolled, tapped into the sign-up box or joined, how long the page was open and how far down you scrolled, and a code made from your IP address and browser that changes every day, so one person's visits on one day count once. The IP address itself isn't stored, and nothing is saved on your device | Our database (Supabase), 13 months | Supabase | Knowing which links bring people and whether the page works |
| Technical request data (IP address, browser type, timestamps) | Our hosting provider's short-lived logs | Vercel | Security, abuse prevention and debugging |
We do not ask for your name or student ID. Apart from your account record, the optional sync copy and any share links you create, nothing you make in the app is stored on our servers.
3. Sub-processors
- Deepgram, Inc. — speech-to-text when Speechmatics can't read a recording or is unavailable. Audio is sent directly from your browser to Deepgram using a short-lived token. Deepgram's privacy policy: https://deepgram.com/privacy
- Speechmatics (Cantab Research Ltd, United Kingdom) — speech-to-text for lectures in every language the app offers. Audio is sent directly from your browser to Speechmatics' EU service using a short-lived key that can only reach that one lecture's job. Speechmatics keeps the audio and transcript for up to 7 days; the app deletes them there as soon as the transcript has reached your device. Speechmatics' privacy policy: https://www.speechmatics.com/legal/privacy-policy
- Anthropic, PBC — AI text generation via the Claude API. Anthropic's privacy policy: https://www.anthropic.com/privacy. Under Anthropic's commercial API terms, data sent through the API is not used to train its models.
- Vercel, Inc. — hosting of the app and its server functions, and page-view counts on the landing and pricing pages only (Vercel Web Analytics: the page, the referring site, country and device type, counted without cookies and without storing your IP address; never used inside the app). https://vercel.com/legal/privacy-policy
- Supabase, Inc. — the database for accounts, usage counts, encrypted sync and share links. https://supabase.com/privacy
- Resend — sends sign-in code emails, account emails (for example a welcome email), and occasional announcements. https://resend.com/legal/privacy-policy
- Paddle (Paddle.com Market Ltd, United Kingdom, and its affiliates) — our reseller and Merchant of Record for card, Apple Pay and Google Pay payments: it runs the checkout, takes the payment, handles tax, receipts and refunds, and processes your payment details under its own privacy notice. For a subscription, Paddle keeps your card or wallet on file to take each renewal until you cancel. We receive a reference, the amount and the outcome, and the subscription's status and renewal date, not your card details. https://www.paddle.com/legal/privacy
- Google (Google Play, Google LLC / Google Ireland Ltd) — takes payment for subscriptions bought in the Android app, and handles renewals, cancellations and refunds for them under its own terms and privacy policy. https://policies.google.com/privacy
- RevenueCat, Inc. (United States) — checks Google Play purchases and tells our server which plan an account has. It receives your internal account number and the purchase details from Google, not your email or any study material. https://www.revenuecat.com/privacy
- Whish Money (Lebanon) — for students in Lebanon who choose to pay by Whish transfer: the transfer happens in your Whish app under Whish's own terms and privacy notice; we see the amount and the sender name or number in our own Whish account. https://whish.money
- Meta Platforms (Meta Platforms Ireland Ltd / Meta Platforms, Inc.) — ad measurement on the landing page only, unless you turn it off there: the Meta Pixel sends Meta the page visit and, if you sign up, a "Lead" event (not your email address), together with the technical data a browser normally sends (IP address, browser, the page address and a Meta cookie). If you then pay or start a free trial on the website with ad measurement still on, our server sends Meta a "Purchase" or "StartTrial" event (Meta's Conversions API): the plan, the amount, Meta's own cookies from your browser (
_fbc,_fbp), your browser's user agent and a one-way scrambled (hashed) form of your account number — never your email, name or IP address. Meta may combine this with what it already knows about you if you use Facebook or Instagram, under its own policy. https://www.facebook.com/privacy/policy
These providers operate largely outside Lebanon (mainly in the United States; Speechmatics in the United Kingdom and the EU), so data sent to them is transferred internationally. They operate under their own contractual safeguards (for example, EU standard contractual clauses) as described in their policies.
4. Storage on your device (cookies and similar)
The app uses only storage that is strictly necessary for it to work:
- IndexedDB — your courses, recordings, notes, files and board photos.
- localStorage / sessionStorage — settings, whether you have acknowledged the recording notice, the optional device-password hash, unlock state, the email you last signed in with (and whether you sign in with a password on this device), and which account the notes on this device belong to, and a random device id used only for the free-plan abuse check (kept when you erase the device's data).
- Cookies — a signed session cookie that keeps you signed in (for up to 30 days), a random browser id set when you sign in (
ln_did, up to 2 years; only a keyed hash of it is stored, for the free-plan abuse check), and (only if you choose to use your own API keys) the keys you pasted.
Inside the app nothing is loaded from advertisers or analytics providers, and the app never reads or uses the Meta cookies the landing page may have set, except that when you pay or start a free trial on the website with ad measurement on, the server passes them to Meta as described in section 3 (the landing- and pricing-page visit counts above use no cookies at all). A one-time notice is shown for transparency.
Landing page (daftarai.app/welcome) — ad measurement. When you open the landing page, it loads the Meta Pixel, which sets Meta's _fbp cookie (kept for up to 90 days) and sends Meta the visit and, if you sign up, a "Lead" event (never your email address). We use this only to see which of our ads bring people. If you pay or start a free trial on the website afterwards, the server reports that to Meta with the same cookies (section 3), so we can see which ads bring paying users; with ad measurement turned off, or Global Privacy Control / Do Not Track on, nothing is reported. To opt out, tap Turn off next to "Ad measurement" at the bottom of the landing page: your choice is remembered in this browser (localStorage, ln_ads_ok) and the pixel is not loaded again; you can also delete the _fbp cookie in your browser's site data. If your browser sends a Global Privacy Control or Do Not Track signal, the pixel is never loaded. You can also control ads based on your activity in your Facebook and Instagram ad settings. The pixel is never loaded inside the app.
5. Retention and deletion
Everything you create stays on your device until you delete it. You can delete individual lectures, files, chats and courses, remove your keys, or erase all local data from the You tab. Uninstalling the app or clearing site data in your browser also removes it. Deepgram and Anthropic process the data transiently to provide the service and retain it only as described in their policies (typically short-term for abuse monitoring). Speechmatics holds a lecture's audio and transcript until the app deletes them, which it does as soon as the transcript is on your device, and in any case for no more than 7 days. When you ask questions about a course, Anthropic may also hold that course's material in a short-lived cache (up to one hour) so follow-up questions are faster and cheaper; the cache is used only to answer your questions and then expires. Hosting request logs are retained by Vercel for a limited period.
Your account record, and any questions you asked, are kept until you delete your account in the app (You tab, Delete my account) or ask us to, or until the service is shut down. Don't put anything private in a question — everyone using Daftar can read it. Usage counts are deleted after 90 days, error reports after 30 days, and expired sign-in codes within a day. Daily AI usage figures are kept up to 13 months for our cost records. You can stop announcement emails at any time with the unsubscribe link in any of them (sign-in codes still arrive). Payment records are kept for as long as accounting rules require, even after your account is deleted, with the email replaced by a reference. A sync copy stays until you ask us to delete it. Share links stop working when they expire (30 days unless the app shows otherwise when you create one).
6. Your rights
Depending on where you live, you may have rights to access, correct, delete or export your personal data, to object to or restrict processing, and to lodge a complaint with a supervisory authority. Because your study material is stored on your own device, you can exercise most of these rights directly in the app (export creates a JSON backup; erase removes everything). To see, correct or delete your account record, or for anything else, contact the operator (section 10).
- EU / UK (GDPR / UK GDPR): the operator acts as controller for the limited server-side processing described above; the legal basis is performance of the service you request (Art. 6(1)(b)) and legitimate interests in security and in measuring our own advertising on the landing page, which you can turn off at any time (Art. 6(1)(f)).
- Lebanon (Law No. 81/2018 on Electronic Transactions and Personal Data): you have the rights of access, rectification and objection provided by that law; processing is limited to what is necessary to provide the service.
7. Children
Daftar is intended for university students and is not directed at children under 16. If you are under 16, do not use the app. If we learn that we have processed data from a child under 16 without appropriate consent, we will delete it.
8. Security
Requests to the app's server functions are protected by per-person sign-in with one-time email codes or an optional password (stored only as a salted scrypt hash, with password sign-in paused after repeated wrong attempts), weekly limits, rate limiting, input validation and strict browser security headers. Account records can only be read by the app's server — never with a public key. API keys are stored only in secure, HTTP-only cookies or on your device and are never returned by the server. Please also protect your device: anyone who can unlock it can open your notes unless you set the optional device password on the You tab.
9. Changes
We may update this policy as the app evolves. The "Last updated" date at the top will change, and material changes will be announced in the app.
10. Contact
Operator: Ali Mneimneh, Beirut, Lebanon. Email: contact@daftarai.app