1. Who we are and how to contact us
NOLO is an independently operated AI assistant, built and maintained by one person. It is available as a web app at nolo-app.com, a website at landing.nolo-app.com, an Android app distributed through Google Play (package app.nolo.ai), and a directly downloadable Android APK.
For the purposes of the EU General Data Protection Regulation (GDPR) and the UK GDPR, the operator of NOLO is the data controller for the processing described here.
For privacy questions, data access or deletion requests, complaints or security reports, write to nolo.ai.app@gmail.com. That is the fastest route and it reaches a real person. If you contact us, we process your email address and the content of your message in order to answer you. We have not appointed a Data Protection Officer, because NOLO's scale and processing do not meet the conditions in GDPR Art. 37.
The controller's full name and postal address are set out in section 21, at the foot of this page.
2. What this policy covers
This policy covers the NOLO website, the web app, the Android app on Google Play, the standalone APK, subscriptions, AI chat, file and image processing, voice dictation, web search, live-data widgets, exports and the optional Google Drive sync.
It does not govern the independent processing carried out by the companies named in section 7 when they act as controllers in their own right (for example Google for your Google account, Stripe for payment fraud prevention, Google Play for your purchase). Their own policies apply to that processing, and we link to each of them.
3. How NOLO is built, in one paragraph
There is no sign-up. When you first open NOLO, your browser generates a random identifier that looks like nolo_a1b2c3. That string is your entire identity: it is not derived from your device, your email or your IP address, and it means nothing outside NOLO. Your conversations are written to your browser's own storage (localStorage and IndexedDB) and stay there. When you send a message, your browser posts it to NOLO's own API, and NOLO's server, not your browser, forwards the part needed to answer to an AI provider. That relay is deliberate: it means the AI provider sees a request from a server in Vercel's pool, with no user identifier and no IP address of yours. There are three exceptions to that rule, and they are listed in section 8 rather than buried.
4. Data categories NOLO processes
| Category | What it actually is | Why |
|---|---|---|
| Anonymous app identifier | A random string such as nolo_a1b2c3, generated in your browser. Not linked to a name, email, phone number or device identifier. | Daily usage limits, plan entitlement, abuse prevention, and linking a subscription to the device that bought it. |
| Conversation content | Your messages, the recent conversation context, files and images you attach, image prompts, URLs you paste, and voice clips you record. | Producing the answer or performing the task you asked for. Relayed to AI providers in real time; never written to a NOLO database. |
| Local app data | Chat history, projects, spaces, saved memories, generated-image gallery metadata, settings and preferences. | Kept in your browser storage so your workspace survives a reload. Never uploaded to NOLO. |
| Usage counters | Per day and per anonymous ID: number of credits consumed, number of images generated, which model tier answered, and your plan. | Enforcing daily allowances and detecting cost abuse. Contains no message text. |
| Subscription state | Your plan (free / plus / pro), subscription status, Stripe customer ID (web) or Google Play purchase token and product ID (Android). | Giving you what you paid for and removing access when a subscription ends. |
| Hashed IP counters | A SHA-256 hash of your IP address, truncated to 14–16 hexadecimal characters, with a daily request count. Stored per feature (chat, transcription, feedback, account creation). | Rate limiting and abuse prevention without keeping IP addresses. See the honest caveat in section 18. |
| Feedback you send | The text you type into the feedback box, an optional 1–5 star rating, where in the app you opened it from, your plan tier and your interface language. | Improving NOLO. Stored with no identifier attached: not your anonymous ID, not your IP, not an email. |
| Scheduled tasks and routines | Only if you create one: what you ask NOLO to do and when, its settings, and, if you turn on notifications, your browser's push subscription. | Running the task at the time you chose, even with NOLO closed, and telling you when it is ready. Stored encrypted on our server; see section 6. |
| Optional Google account identifier | Google's opaque account identifier (the OpenID sub, a numeric string) if, and only if, you switch on Drive sync. Not your email, name or profile picture. | Deriving, in your browser, the key that obfuscates your sync file. If you keep the Google session, NOLO's server also reads it from Google's sign-in token and keeps it, encrypted, in a cookie on your device; it is never stored in NOLO's database. See section 10. |
| Technical and hosting data | Handled by our host: IP address, timestamp, requested path, status code, user agent, and any runtime error output. | Serving the request, security, debugging and abuse prevention. See Vercel in section 7. |
| Payment data | Card details, billing address and tax data, handled entirely by Stripe or Google Play. NOLO's servers never see or store a card number. | Taking payment, preventing fraud, and meeting tax and accounting obligations. |
| Support email | Your email address and whatever you write to us. | Answering you. |
5. What stays on your device
Your conversation archive lives in your browser's localStorage and IndexedDB: chat history, projects, spaces, memories, gallery entries and settings. NOLO has no server-side copy of any of it and no way to reconstruct it.
- Incognito chats are not written to storage at all. They exist only in memory and disappear when the chat is closed.
- App lock can put NOLO behind your device fingerprint or PIN. This protects the app's screen; it does not encrypt the underlying browser storage.
- If you clear browser data, switch browser or device, reset the app, or uninstall it, local history is gone. We cannot recover it, because we never had it.
- Local storage is not the same as end-to-end encryption. Anyone with access to your unlocked device or browser profile, and software with access to your browser storage, can read it.
6. What NOLO's own servers store
This is the complete list. Everything below lives in one PostgreSQL database hosted by Supabase and is keyed on your anonymous ID or on a hashed IP, never on a name, email or IP address in the clear.
| Table | Every field it holds | Deleted after |
|---|---|---|
nolo_users | Anonymous ID, plan, subscription status, Stripe customer ID (web subscribers only), Google Play purchase token and product ID (Play subscribers only). | Kept while you use NOLO; deleted on request. See section 15. |
nolo_daily_usage | Anonymous ID, date, credits consumed, plan. | 30 days, by an automated nightly job. |
nolo_daily_images | Anonymous ID, date, images generated. | 30 days, by the same job. |
nolo_window_usage | Anonymous ID, time window, credits consumed. | 7 days. |
nolo_ip_limits | Truncated salted hash of an IP address, date, request count. No IP address in the clear. | 7 days. |
nolo_processed_webhooks | Payment event IDs already handled, so a repeated webhook cannot double-charge or double-grant. | Retained for billing integrity. |
| Feedback | Your message, optional star rating, where it was opened from, plan tier, interface language, timestamp. No identifier of any kind: not your anonymous ID, not an IP, not a hash. | Kept until reviewed and deleted. |
nolo_agenda | Only if you schedule something: one row per task or routine you save, by hand or by confirming one that NOLO proposes. Your anonymous ID; the task's title and text, encrypted; its settings, encrypted (which mode runs it, reasoning and image options, and a copy of up to 30 of your saved memories, only if you switch on "Include my memory"); the texts of its notifications, encrypted. In the clear: when it runs, your time zone and interface language, the random ID of the chat it answers in, your plan, its state (active, paused, running or done) and why it is paused, when it last ran and when it runs next, how many times it has run, retries, how many results in a row nobody opened, whether to notify you, and when you created it. | When you delete it, or with "Delete all my data". A one-off task goes once it has run and your device has collected the answer, and at the latest 30 days after it ran, by the nightly job. A routine stays until you delete it: one whose results nobody opens pauses itself, but is not deleted. |
nolo_agenda_entregas | One row per run of a task: which task, your anonymous ID, when it was due and when it started, its status (running, ready or error) with a short error reason, and the ticket your device uses to collect the answer (job ID, mailbox address and read token, the token encrypted). The answer itself is not stored here: it waits in the Cloudflare mailbox (section 7). | As soon as your device collects the answer. Uncollected ones after 8 days, by the nightly job, or with "Delete all my data". |
nolo_push | Only if you turn on notifications: your anonymous ID, a hash of your browser's push address (to avoid duplicates), the subscription itself (that push address and the public keys your browser created for it), encrypted, and when it was saved. At most five devices per ID. | When you turn notifications off on that device, when the browser's push service reports the subscription is gone, when a sixth device replaces the oldest, when the same browser is used with another NOLO ID, or with "Delete all my data". |
The encrypted fields use AES-256-GCM with a key that only NOLO's server holds, in Vercel's environment, so a copy of the database on its own does not reveal them. NOLO's server can decrypt them, because it has to read a task to run it: this is encryption at rest, not end-to-end encryption.
What is not in that list, and never will be: the text of your conversations, the answers, your files, your images, your voice clips, your email address, your name, your IP address in readable form, or any advertising or cross-site identifier. The only text of yours it holds is what you put into a scheduled task or routine (its text and, if you choose, a copy of your saved memories), because you asked NOLO to run it later, and it is stored encrypted. NOLO's code has an internal rule against logging user content; console output records lengths, hashed IDs, counters and timings only.
7. Every company that receives your data
These are NOLO's processors and sub-processors. The list is exhaustive as of the date at the top of this page. "Sees your IP" means the provider receives your device's IP address rather than our server's.
AI models
| Provider | What it receives | What it keeps | Sees your IP |
|---|---|---|---|
| Groq, Inc. (United States) Privacy policy |
Your message plus the part of the conversation needed to answer, and any web-search results attached to it. Also your voice recordings when you use dictation, and short internal classification requests. Runs the open-weights models used by the Fast and Plus tiers and the Whisper speech-to-text model. | Nothing. NOLO's Groq account has Zero Data Retention enabled globally, which overrides every per-API setting, so inputs and outputs are not logged at all. Without that setting Groq would be entitled to keep them for up to 30 days for reliability and compliance, which is why we switched it on. | No |
| OpenRouter (United States) Privacy policy |
The same conversation content, when you use the Pro tier, and any image you upload on the Fast and Plus tiers for the assistant to look at. OpenRouter does not run the models itself: it passes each request to one of the three companies below and returns the answer. | Every NOLO request carries OpenRouter's zero data retention and no data collection settings, so it can only be routed to endpoints that keep nothing and do not train on it. OpenRouter states that it does not store prompts or responses unless the account opts in to logging; it keeps request metadata such as token counts and timing. | No |
| CoreWeave (United States) Privacy policy |
The Pro tier's conversation content, passed on by OpenRouter. CoreWeave runs the Pro model, DeepSeek V4.1 Flash. | Reached only through OpenRouter's zero-data-retention routing, which admits only endpoints that do not retain prompts or train on them. | No |
| DigitalOcean (United States) Privacy policy |
The same as CoreWeave, but only when CoreWeave is unavailable: DigitalOcean is the fallback for the Pro model. | The same zero-data-retention routing as CoreWeave. | No |
| Google Cloud (Vertex AI) (United States) Privacy notice |
Images you upload on the Fast and Plus tiers, passed on by OpenRouter, so the shared vision model (Gemini 2.5 Flash Lite) can describe them for the assistant. The Pro model reads images itself and does not use this. | The same zero-data-retention routing: of the companies that serve this model, only Google's Vertex AI endpoints meet it, so they are the only ones used. | No |
| fal, Inc. ("fal.ai") (United States) Privacy policy |
The text prompt when you generate an image, and the source image when you ask for an edit. fal runs the proprietary image model on NOLO's behalf, which means the model's own operator also processes the prompt. | fal states that it collects the prompts and content submitted to it. The generated image is stored on fal's media CDN and its link expires after roughly an hour. | Yes, see section 8 |
The honest version of "zero data retention". Zero retention is a setting somebody has to switch on, not a law of physics, so here is the state of each one rather than an average. Groq: NOLO has Zero Data Retention enabled at account level, so nothing is logged. OpenRouter: every request carries its zero-data-retention setting, so it can only reach endpoints that keep nothing (CoreWeave and DigitalOcean for Pro, Google's Vertex AI for photos). fal: does not offer it, and states that it collects the prompts submitted to it. So for chat, web search and voice dictation the content really is discarded once the answer is delivered. For image generation it is not, and we would rather point at that single exception than let the others carry it.
Search and live data
| Provider | What it receives | What it keeps | Sees your IP |
|---|---|---|---|
| Tavily (United States) Privacy policy |
Only the search keywords NOLO derives from your request, not your conversation. Used when you ask something that needs current information. | Tavily states it may use portions of query data to improve its own responses, and that when its index cannot answer, it may pass the query to third-party search index providers. | No |
| Open-Meteo (Germany), Finnhub (United States), CoinGecko, TheSportsDB, Photon / Komoot, Nominatim & Overpass (OpenStreetMap), Wikimedia Commons | Only the specific lookup: a city name for weather, a ticker symbol, a coin, a team, a place name, or an image filename. Requested by NOLO's server, not your browser. | Ordinary API request logs on their side, attributable to Vercel's server pool and not to you. | No |
| Google (favicon service) and DuckDuckGo (icon fallback) | The domain name of a site cited in a search answer, so a small icon can be shown next to it. Fetched by NOLO's server on purpose, because loading these directly would tell Google every site you read about. | Ordinary request logs, attributable to our server. | No |
Infrastructure
| Provider | Role | What it sees | Sees your IP |
|---|---|---|---|
| Vercel Inc. (United States) Privacy policy |
Hosting, global edge network, and the serverless functions that run every API call. | Every request to NOLO, including your IP address, timestamp, path, user agent and response status, in its platform logs. This is unavoidable for any hosted service. Vercel acts as our processor and retains these logs for the period set by its platform. | Yes |
| Cloudflare, Inc. (United States) Privacy policy |
Runs the code that lets a long answer finish after you close the app ("Keep answering when you leave", in Settings), and runs your scheduled tasks and routines. For ordinary chats it is only used while that setting is on, and never in anonymous mode. | The content of that one chat, in the clear, for as long as the answer is being written: your message, the context sent with it, and the reply. The answer is produced on the server side, so there is no key we could keep from it. It is erased the moment your device confirms it has the answer, and self-destructs after 12 hours if nobody collects it (7 days for the answer of a scheduled task, because nobody is watching when it runs). Turn the setting off and nothing from your chats is sent here; only the scheduled tasks you create still run here. | Yes |
| Supabase Privacy policy |
The PostgreSQL database holding exactly the tables listed in section 6. | Only what is in those tables. No conversation content ever reaches it; the one piece of text of yours it holds is your scheduled tasks and routines, encrypted (section 6). | No |
| Your browser's push service (optional) Google for Chrome and Android, Mozilla for Firefox, Apple for Safari |
Delivering the notifications you switch on: a reply that finished while you were away, or a scheduled routine that ran. | An encrypted notification it cannot read, addressed to your browser. Switch notifications off and nothing is sent here. | Yes (it is your browser's own service) |
Payments, distribution and optional sync
| Provider | Role | What it receives | Sees your IP |
|---|---|---|---|
| Stripe Privacy policy |
Payments for subscriptions bought on the web. | Your card details, billing information and payment history, directly. They never pass through NOLO. Stripe acts as an independent controller for fraud prevention and its legal obligations. NOLO stores only the resulting customer ID. | Yes (on Stripe's own checkout page) |
| Google Play Billing Google privacy policy |
Payments for subscriptions bought inside the Android app. | The entire purchase is handled by Google under your own Google account. NOLO receives only a purchase token and a product ID, and asks Google's servers once a day whether that subscription is still active. NOLO never sees your Google account, name, email or payment method. | Yes (Google handles the purchase) |
| Google Play (distribution) | Distributing the Android app. | Google collects its own data about the download, install and any crash reports under its own policy, and gives us aggregate, non-identifying statistics in the Play Console. We cannot see who you are from those. | Yes |
| Google Drive & Google Sign-In (optional) | The opt-in cross-device sync. | An obfuscated file placed in your own Drive (not end-to-end encrypted). See section 10 for the full detail. | Yes (your own Google account) |
We do not sell personal data, do not share it for cross-context behavioural advertising, and do not use it to build advertising profiles. There are no advertising SDKs, attribution SDKs or third-party trackers in NOLO.
8. What your browser loads directly from third parties
Almost everything is relayed through NOLO's own server so that third parties never see you. These are the exceptions, where your browser talks to another company directly and that company therefore receives your IP address and user agent. We list them because they are real, not because we are comfortable with them.
| Who | When | Why it is direct |
|---|---|---|
Google Fonts (fonts.googleapis.com, fonts.gstatic.com) | On every page load of the website and the app. | The interface typefaces are served from Google's font CDN. Google receives your IP address and user agent as a result. |
| Cloudflare cdnjs and jsDelivr | Only when you use a feature that needs a library: PDF reading, Word and Excel handling, maths rendering, charts, diagrams, maps, code highlighting, QR codes, file export. | These libraries are loaded on demand from public CDNs rather than bundled. The CDN sees your IP and which library you fetched, which loosely reveals which feature you used, though not its content. |
fal media CDN (*.fal.media) | When an image you generated is displayed. | The generated image is rendered straight from fal's CDN link. fal therefore sees your IP address at that moment. The link expires after about an hour. |
| Frankfurter (currency), Open-Meteo (sunrise and sunset), Nager.Date (public holidays), OpenStreetMap tiles (maps) | Only when one of those interactive widgets appears in a conversation and you interact with it. | These widgets refresh their own data in the browser. Each of those services sees your IP and the specific lookup: a currency pair, a coordinate, a country code, a map tile. |
You can verify all of this yourself in about thirty seconds: open NOLO, press F12, open the Network tab, and watch. Everything on this page is observable.
9. Analytics
NOLO runs Vercel Web Analytics and Vercel Speed Insights on the website and inside the app. We are naming this explicitly because "we have no analytics at all" would be untrue, and an earlier version of our transparency page said so.
- They record the page or route visited, the referring page, an approximate country, device and browser type, and page-performance timings.
- They set no cookies, create no persistent visitor identifier, and cannot follow you to other websites.
- They are served from NOLO's own domain (
/_vercel/insights/), so no request leaves for a third-party analytics domain. - They never see the content of your conversations, your anonymous ID, or anything you type.
- Vercel processes this on our behalf as our processor. Because it is aggregated, cookieless and non-identifying, we rely on legitimate interests rather than consent; if your local law requires a consent banner for it, tell us and we will add one.
NOLO's own former usage and visitor analytics have been retired and the code that wrote them has been removed.
10. Google Sign-In and Drive sync (optional)
NOLO offers an optional Google Sign-In so your chats can follow you between devices. It is entirely optional and NOLO is fully functional without it. If you never sign in, this section does not apply to you.
What NOLO asks Google for
openid, which returns Google's opaque account identifier (thesub). NOLO does not request your email, name or profile picture. If Google's standard response includes them, NOLO discards them immediately and never stores them.https://www.googleapis.com/auth/drive.appdata, which grants access restricted to NOLO's own hidden folder inside your Drive. This scope cannot read, list or modify any other file in your Drive. It is technically incapable of it.
What is stored in your Drive
A single obfuscated file in that hidden folder, containing your chat sessions, settings, saved memories, projects and your anonymous ID (so your paid plan follows you across devices).
The file is scrambled in your browser with AES-GCM 256 before it is uploaded, but the key is derived from your Google account identifier (with PBKDF2 at 100,000 iterations and a fixed salt), not from a secret only you know, so this is obfuscation, not end-to-end encryption. The key is regenerated locally each session and never transmitted to or stored on NOLO's servers. NOLO's servers never see the key, the plaintext, or even the fact that a sync file exists.
Google's Limited Use commitment
NOLO's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements. Specifically, NOLO does not transfer information received from Google APIs to third parties; does not use it for advertising, profiling or training AI models; and does not allow humans to read it, except with your explicit consent, to comply with applicable law, or as strictly necessary for security operations.
The honest caveat. Because the key comes from your Google account identifier rather than a password only you know, this is obfuscation, not end-to-end encryption. If someone held both your sync file and your Google account identifier, they could derive the key, and Google holds both, so Google could read it. NOLO stores neither: the file stays in your Drive and our servers never download it. To be exact, while you are signed in our server does see your Google identifier and a Drive access token, so this rests on what our code does, not on mathematics. That is why we do not call it encrypted.
How to disconnect or delete it
- Sign out on this device: Settings → Account → Sign out. The token is revoked and syncing stops. Your sync file stays in your Drive so you can come back.
- Delete everything: Settings → More settings → "Delete all my data". This deletes the sync file from your Drive, revokes the token and wipes local data on the device.
- Revoke from Google: at any time, at myaccount.google.com/permissions. This works independently of NOLO.
11. Payments and subscriptions
On the web, payments go through Stripe. You are redirected to Stripe's own checkout; your card details are entered on Stripe's page and never reach NOLO's servers. NOLO stores the resulting Stripe customer ID against your anonymous ID so your plan can be recognised, and receives webhook events about the state of the subscription.
In the Android app from Google Play, payments go through Google Play Billing under your own Google account. NOLO receives a purchase token and a product ID and nothing else: no name, no email, no payment method. NOLO asks Google once a day whether that subscription is still active, and removes paid access when it is not. Google also sends NOLO real-time notifications when a subscription changes state.
In both cases the payment provider retains transaction and invoice records for as long as its own tax, accounting and anti-fraud obligations require. NOLO cannot delete those records on your behalf.
12. International transfers
NOLO is operated from the European Union, but most of its providers are established in the United States: Groq, OpenRouter, CoreWeave, DigitalOcean, fal, Tavily, Vercel, Cloudflare, Stripe and Google (and Mozilla or Apple, if you turn on notifications in their browsers). Using NOLO therefore involves transferring data outside the European Economic Area.
These transfers rely on the European Commission's Standard Contractual Clauses and, where the provider is certified, on the EU–US Data Privacy Framework, together with the technical measures described throughout this policy, principally that your identity is not transferred at all, because there is none to transfer.
If you would rather not have your data processed in the United States, the honest answer is that NOLO is not the right tool for you today, and we would rather say so than bury it.
13. Legal bases for processing
| What we do | Legal basis (GDPR Art. 6) |
|---|---|
| Running chat, search, file and image features, the tasks you schedule, and relaying your requests to AI providers | Performance of a contract, Art. 6(1)(b). |
| Usage counters, hashed-IP rate limits, abuse and fraud prevention | Legitimate interests, Art. 6(1)(f): keeping a free-to-start service financially viable and available. |
| Cookieless aggregate analytics | Legitimate interests, Art. 6(1)(f). |
| Optional Google Drive sync | Consent, Art. 6(1)(a), given by choosing to sign in. Withdrawable at any time. |
| Subscriptions, invoices, tax and accounting records | Contract, Art. 6(1)(b), and legal obligation, Art. 6(1)(c). |
| Answering support emails | Legitimate interests, Art. 6(1)(f), or contract where it concerns a paid plan. |
Where we rely on legitimate interests, you have the right to object. See section 15.
14. How long anything is kept
| Data | Retention |
|---|---|
| Your conversations | Never stored by NOLO. They live on your device until you delete them. |
| Message content at an AI provider | Not retained at Groq (Zero Data Retention is enabled on the account), nor at the companies OpenRouter passes requests to (zero data retention is required on every request). The exception is image prompts at fal, which does collect them. See section 7. |
| Daily usage and image counters | 30 days, deleted by an automated nightly job. |
| Rolling-window usage counters | 7 days. |
| Hashed-IP rate-limit counters | 7 days. |
| Your row in the users table (ID, plan, subscription state) | For as long as you use NOLO, then until you ask us to delete it. |
| Generated images on fal's CDN | Roughly one hour, after which the link expires. Your own copy stays in your local gallery. |
| Feedback messages | Until reviewed and deleted. They carry no identifier, so they cannot be traced back to you, which also means we cannot delete "yours" on request. |
| Scheduled tasks and routines (encrypted) | A routine: until you delete it. A one-off task: until it has run and your device has collected the answer, and at most 30 days after it ran. All of them at once with "Delete all my data". |
| Runs of a scheduled task | Until your device collects the answer, and at most 8 days. The answer itself waits on Cloudflare for up to 7 days. |
| Push subscriptions (encrypted) | Until you turn notifications off on that device, the browser's push service retires the subscription, or you delete all your data. |
| Obfuscated sync file in your Drive | In your Drive, under your control, until you delete it. We have no copy and could not read one. |
| Hosting and error logs at Vercel | For the retention period of our hosting plan, then automatically discarded. |
| Payment and invoice records | As long as Stripe's or Google's legal, tax and accounting obligations require, typically several years, and outside our control. |
| Support emails | As long as needed to resolve the issue and keep a record of it. |
15. Your rights, and how to actually use them
Under the GDPR and comparable laws you have the right of access, rectification, erasure, restriction, objection, portability, withdrawal of consent, and the right to lodge a complaint with a supervisory authority. If you are in the EU you can complain to your national data protection authority; a list is at edpb.europa.eu.
Because NOLO holds almost nothing about you, most of these you can exercise yourself, immediately, without asking us:
- Erase your conversations, projects, memories and settings: Settings → More settings → "Delete all my data". Instant, and it also removes the Drive sync file if you use sync, and your scheduled tasks, their pending results and your push subscriptions from our server.
- Export your data: the export controls in the app produce a file from your local storage. That file is your data. There is no server copy to request.
- Erase your server record: email nolo.ai.app@gmail.com with your anonymous ID (Settings shows it) and ask us to delete it. We respond within 30 days and usually within a few days. If you have a paid subscription, cancel it first, because deleting the record ends your access.
- Object to legitimate-interest processing: write to us. In practice, opting out of usage counters means opting out of NOLO, because they are what makes daily limits possible. We will say so plainly rather than pretend otherwise.
- Withdraw sync consent: sign out in Settings, or revoke NOLO at myaccount.google.com/permissions.
There is a dedicated data-deletion page at nolo-app.com/delete-account.
The trade-off in being anonymous. Because we hold no email or name, we cannot verify that a data request comes from you. If you ask us to delete or disclose a server record, we can only act on the anonymous ID you supply. We will not hand over or delete a record belonging to an ID you cannot demonstrate is yours. That protection cuts both ways, and it is the price of not asking who you are.
If you are in California or another US state with a comparable law: NOLO does not sell or share personal information as those terms are defined, does not use it for cross-context behavioural advertising, and does not offer financial incentives for data. The rights described above apply equally, and we do not discriminate against anyone who exercises them.
16. Children
NOLO is not directed at children. You must be at least 16, or the minimum age for consent to data processing in your country if that is lower, and at least 18 to buy a subscription. We do not knowingly process data from anyone below that age. Because there is no account, we have no age verification beyond this statement and Google Play's own content rating, another limit we would rather state than imply away. If you believe a child has used NOLO and you want the associated server record removed, email us with the anonymous ID.
17. Security
- HTTPS everywhere, with HSTS and preloading.
- A strict Content Security Policy that limits which hosts the app may contact at all. Everything in sections 7 and 8 is listed there and enforced by your browser.
- Provider API keys live only in server environment variables and are never exposed to the browser.
- Cross-origin requests are restricted to NOLO's own domains.
- Rate limits on every expensive endpoint, keyed on a hashed IP.
- Sync payloads are obfuscated client-side before they leave the device (not end-to-end encrypted; see section 10).
- A design rule against logging user content, applied throughout the codebase.
No internet service can promise perfect security. You remain responsible for your device, your browser profile, your exported files and any content you choose to submit. If you find a vulnerability, email nolo.ai.app@gmail.com. Reports made in good faith are welcome and will not be met with legal threats.
18. The honest limits
Every claim above has an edge. Here they are, collected in one place so you do not have to find them yourself.
- NOLO is not "zero logs". We keep pseudonymous usage counters for 30 days, and our host logs every request including your IP address. Without either, daily limits and abuse prevention would not work. "No content logs and no identity" is accurate; "zero logs" would be a lie.
- Hashing an IP is pseudonymisation, not anonymisation. Our rate-limit hashes use a fixed salt, so the same IP always produces the same hash. It cannot be reversed to an address by inspection, but someone who guessed an IP could confirm it. Those rows hold only a counter and a date, and are deleted after 7 days.
- Your IP and your anonymous ID are in the same request. When you send a message, our infrastructure necessarily sees both at once. We do not store them together and nothing writes that pairing to a database, but we cannot claim the pairing never exists.
- Drive sync is not end-to-end encrypted. It is obfuscated with a key derived from your Google account, so Google could read it. See section 10.
- Scheduled tasks are encrypted at rest, not end-to-end. NOLO's server holds the key, because it has to read a task to run it. A stolen copy of the database would not show them; NOLO itself can read them. See section 6.
- Local storage is not encrypted storage. Anyone with your unlocked device can read your chats.
- Three third parties do see your IP directly. Google Fonts, the two library CDNs, and fal's image CDN. Section 8 lists exactly when.
- We cannot audit our providers' internals. What section 7 reports is what each provider publicly commits to. We can prove what NOLO sends and to whom; we cannot prove what happens inside another company.
19. Professional, regulated and sensitive use
NOLO is useful for legal, compliance, business, medical-adjacent and research work, but it is not a law firm, lawyer, accountant, doctor, financial adviser or any regulated professional service. Using it creates no attorney-client relationship, no professional privilege and no duty of confidentiality equivalent to one owed by your own adviser.
If you intend to put client data, personal data of others, health data, trade secrets, privileged material or regulated information into NOLO, you are the controller of that data and you are responsible for confirming that doing so is lawful, authorised and compatible with your professional duties. Read section 7, decide whether that chain of providers is acceptable for your obligations, and do not paste anything you are not entitled to share with them. NOLO does not currently offer a data processing agreement or a business associate agreement; if you need one, email us before using NOLO for that work.
20. Changes to this policy
If we add, remove or replace a provider, this page changes and the date at the top changes with it. That is the commitment: the list in section 7 is meant to be complete at all times, not aspirational. Material changes will also be surfaced in the app or on the website. If you want to know what changed and when, ask us and we will tell you.
21. Legal identity
Operator of NOLO and data controller for the processing described above:
Vasile Eduardo PușcașuStr. Cireșar 14, Bragadiru
Județul Ilfov, Romania
nolo.ai.app@gmail.com
Published to satisfy the identification requirements of GDPR Art. 13, the EU Digital Services Act and EU consumer law. It is the same operator address registered with Google Play. For anything to do with NOLO, email is the right channel and will always get a faster answer than post.