In short
- The Zaleo account is optional. It keeps your name, your email and your sessions, nothing more.
- With Google, we ask only for your name, email and picture, to sign you in. Nothing is sold or used for advertising.
- No advertising cookies. Our visit statistics use no cookies at all.
- You can delete your account yourself, at any time, from auth.zaleo.dev/account.
- Questions or requests: [email protected].
Who we are
Zaleo makes free web tools in Dakar, Senegal: Daara, Ummah, Sajda, Mirath, Courant, Arnaque?, Suuf and Kàddu, gathered at apps.zaleo.dev. Zaleo is responsible for the data described here.
For any question about your data, write to [email protected]. We answer in French or English.
The Zaleo account
The Zaleo account, at auth.zaleo.dev, is a single account that signs you in to Zaleo apps. It is optional: most apps work without it. You sign in with Google or, where offered, with an email and password.
It keeps:
- your name and email address, and whether the address is verified;
- if you use Google: your Google profile ID, your profile picture and the technical tokens Google returns at sign-in;
- if you set a password: a hashed version that we cannot read back;
- your sessions: device and browser, IP address, sign-in and expiry dates;
- the Zaleo apps you have opened with this account (the app's address, first and last visit) and the permissions you granted on the consent screen;
- if you are a developer: your API keys and organisations.
Why: to sign you in, keep your account safe (limit sign-in attempts, spot abuse), show you your apps and signed-in devices, and pass your ID, name, email and picture to the Zaleo apps you open.
How long: as long as the account exists. A session expires 30 days after your last visit. Attempt counters, tied to the IP address, last only a few minutes.
Deleting: at auth.zaleo.dev/account, the delete section erases the account, its sessions, its link to Google and your list of apps. For safety, it asks for a sign-in less than 24 hours old. Data that each app keeps on its own side (your reports, your recordings…) is not erased by this: see that app's section below, or write to us.
Data we receive from Google
When you choose "Continue with Google", we request only the openid, email and profile scopes. Google then gives us your Google ID, name, email address and profile picture.
We use them only to sign you in, and to show your name and picture in Zaleo apps. We do not access Gmail, Drive, your contacts or any other Google data.
Data received from Google is never sold, never used for advertising, never used to train an artificial intelligence model, and is shared only with the Zaleo apps you open and with our hosting providers.
Zaleo's use and transfer of information received from Google APIs to any other app will adhere to the Google API Services User Data Policy, including the Limited Use requirements.
You can also remove Zaleo's access from your Google account, at myaccount.google.com/permissions.
What each app keeps
Each app takes only what it needs. In all of them, your settings (theme, language, last area…) stay in your browser's storage and are not sent to us.
Courantcourant.zaleo.dev
Outage reports (area, power or water, cut or back, time) are anonymous. Your browser makes up a random ID; we keep only a fingerprint of it made with a secret key, and the same for your IP address, which is never stored as is. If you are signed in, your account ID is attached to the report, never published, and removed from it as soon as the report no longer counts toward an ongoing cut (usually after a few hours).
Sentinel mode, if you turn it on, regularly sends the area, whether the phone is charging and its battery level. Only the latest battery level is kept, and it is erased once the sentinel has been silent for 30 days. Alerts are optional: we keep the subscription address your browser provides and the areas you follow, deleted when you stop following. Your location is used only, inside the browser, to find your area.
After 30 days a report loses its device and network fingerprints: it keeps only the area, the type, cut or back, and the time, which form the outage history and are kept with no time limit. The open data holds only aggregated outages, with no device, IP or account. Anti-abuse counters last two days.
Arnaque?arnaque.zaleo.dev
To analyse a message, we send it to an artificial intelligence provider (Google Gemini first, Groq or Cloudflare Workers AI if it does not answer), but masked: before sending, phone numbers, emails, codes, IBANs, card or account numbers and detectable names are replaced with [NUMÉRO], [EMAIL], [CODE]… Our automatic rules read the full text, on our server. Name masking is automatic and can let a name through. The providers do not receive your account or your identity.
A screenshot, however, is sent as is to Google Gemini (or Cloudflare Workers AI) to read its text: the page tells you so before you send it. It is not kept, and the text read from it is masked as above before the analysis. To send nothing but masked text, copy and paste the message instead.
We keep the message only if it is judged suspicious or if you report it, and only masked: the middle digits of numbers hidden, links cut to the domain, emails, card numbers and codes masked, some names removed. It is deleted 90 days after it was last seen; the log of checks is deleted after 90 days and cached AI answers after 30. Scam templates and counters stay.
A phone number found in a scam or reported is kept as a fingerprint made with a secret key, plus a masked form for display. The full number is kept only from three independent reports (different devices and networks), when it becomes visible on the site, and it is erased if a dispute succeeds.
With each report we keep a keyed fingerprint of your device and network (not your full IP) and your account ID if you are signed in, to count independent reports; these reports are kept with no time limit. A dispute keeps its text; any contact you choose to leave in it is encrypted, then deleted as soon as the dispute is handled. Daily caps: 25 AI analyses per device, 80 per network.
Daaradaara.zaleo.dev
Your progress stays on your device. If you are signed in, it is also synced with your account: verses reviewed, study days, settings. Recitation recognition runs in your browser; the sound does not leave the device.
In a halaqa, the organiser sees the name you chose, your progress and your streak. In a khatm, the name you type and your juz are visible to anyone with the link; your device ID is kept only as a fingerprint made with a secret key. Recordings are sent only if you agree to donate them: they go to private storage, with the transcript and score, to improve recognition. Withdrawing consent stops new uploads, and the "Delete my donated recordings" button in settings erases the files and their transcripts and withdraws your consent. The imams' recitations are played from Quran.com's servers.
Ummahummah.zaleo.dev
A checked text becomes a public page (up to 4,000 characters). Before publishing it, we remove links and emojis and mask phone numbers, email addresses and long runs of digits. Names are not masked: remove them before sending, as the page reminds you. Search and checking run on our own servers, with no outside AI provider.
Contributing to the wiki needs a Zaleo account. Every edit is public and signed with the name you chose, or "Contributeur #" and a short code if the account has no name: never any part of your email. A reviewer application keeps your name, email, background and links, seen by the team; reviewers' names and bios are public.
Sajdasajda.zaleo.dev
Sajda has no account and no server. Your location, rounded to about ten metres, your settings and the names in kids mode stay in your browser. The compass reads the phone's sensor on the spot. A city search is sent to Open-Meteo, and the qibla map loads its tiles from OpenStreetMap.
Mirathmirath.zaleo.dev
The calculation runs in your browser. The case is kept in the page link, after the #, which browsers never send to the server; if you share that link, whoever receives it sees the case. Saved cases stay in your browser. The zakat page asks gold-api.com and open.er-api.com for gold and currency prices, without sending anything about you.
Suufsuuf.zaleo.dev
When you check a plot, we keep its outline, name, place and the report on our server. If you are signed in, the report joins your analyses and becomes private: only the accounts that saved it and people holding a valid share link can open it. Its images are served by our server through signed links that expire after one to two hours, never from public storage, and its PDF is not cached.
A report made without an account, and that nobody has saved, stays public: it is identified by its outline, readable by anyone who knows its address, and its images and PDF sit at public, hard-to-guess addresses.
Removing an analysis from your list deletes your share links; if nobody else saved that report, the report, its images and all its links are erased. Otherwise it stays private to the others and you lose access to it. In settings, "Delete all my data" erases your analyses, the reports nobody else saved with their images, all your share links and the alerts tied to your account's email.
A share link expires after 1, 7 or 30 days, or never, and you can revoke it. To count how many people looked at a plot, we keep a keyed fingerprint of your IP and browser for 120 days. Our server does not write IP addresses to its logs. Email alerts keep your address until 30 days after they stop. Place search goes through OpenStreetMap, satellite images through Esri, and our servers query public sources (Copernicus, ESA, OpenStreetMap…) with the plot's coordinates.
Kàddukaddu.zaleo.dev
To give your voice, you need an account and must accept Kàddu's consent. We keep the date of that agreement and, if you give them, your age range, gender, region and first language, once on your contributor profile rather than on each clip. Kàddu keeps neither your name nor your email: your recordings are linked to your account ID only. Your recordings (1 to 20 seconds) go to private storage; other contributors listen to them to validate them. Validated clips will be published as an open dataset, under the CC BY 4.0 licence, and cannot be recalled once published.
Audio and text sent to the API or the playground are processed in memory on our server, by our own models, without being stored; we note only the request type, duration and character count, and the server does not write IP addresses to its logs. From your dashboard you can delete one recording, all your contributions, or everything Kàddu keeps about you.
This catalogue, apps.zaleo.dev, keeps nothing about you. When you are signed in, it shows the apps you have opened with your account, read from auth.zaleo.dev.
Hosts and processors
We sell no data. It passes only through these providers, to make the apps work:
| Provider | Role | Location |
|---|---|---|
| Vercel | Website hosting | United States, global network |
| Convex | Databases for Courant, Arnaque?, Daara, Ummah and Kàddu | United States |
| Cloudflare | Domain names and network; R2 storage (Daara and Kàddu recordings, images and PDFs of public Suuf reports); Workers AI for Arnaque? (masked text, reading screenshots) | Global network |
| Contabo | Our server: Zaleo account, Kàddu and Suuf APIs, Ummah search, statistics | Germany (EU) |
| Resend | Account emails and Suuf alerts | — |
| Google (Gemini), Groq | Analysing Arnaque? messages (masked text); Gemini reads screenshots | United States |
| Sign-in with Google, if you choose it | — | |
| Umami, self-hosted | Cookieless visit statistics | Germany (EU) |
Some apps also load maps or public content straight from your browser (OpenStreetMap, OpenFreeMap, Esri, Open-Meteo, Quran.com): those services then see your IP address, as with any website you visit.
Several providers are outside Senegal. We choose them for their security guarantees and give them only what the service needs.
Your rights
You can ask to see the data we hold about you, correct it, erase it, or object to its use. The simplest way: delete your account from auth.zaleo.dev/account, or write to [email protected]. We answer within 30 days.
In Senegal, these rights come from Law No. 2008-12 of 25 January 2008 on the protection of personal data. If our answer does not satisfy you, you can turn to the Commission de Protection des Données Personnelles (CDP), cdp.sn. If you are in the European Union, the GDPR gives you the same rights, plus the right to get your data in a readable format, and you can contact your country's data protection authority.
Zaleo apps are not meant for children under 13 without a parent. Kàddu voice contributions are for adults only.
Security
All connections are encrypted (HTTPS). Passwords are hashed, IP addresses and device IDs are kept as keyed fingerprints where possible, and recording storage is private. The Suuf and Kàddu APIs do not write IP addresses to their logs. No system is perfect: if a breach affects you, we will tell you.
Changes
If this policy changes, the date at the top changes too, and the change is announced on apps.zaleo.dev. For a significant change, we also email people who have an account.