Privacy Policy

Naola ("we", "our", "the app") is a weather application. We are committed to protecting your privacy. This policy explains what data we collect, why, and how it is handled.

Who We Are

The publisher of Naola, named below and based in Spain, is responsible for your personal data. Under the EU General Data Protection Regulation (GDPR), it is the "controller": it decides how your data is used.

1. Data We Collect

1.1 Location Data

When you grant location permission, the app accesses your device's geographic coordinates (latitude and longitude) to fetch weather data for your area. Location data is:

The Accuracy screen, which compares weather services, does not use your location. It sends only the two-letter code of the country you choose, which the app suggests from the city on screen or from your phone's region setting. Older versions of the app also sent your location with that request; our server ignores it and stores nothing.

You can deny location permission and manually search for a city instead. You can revoke location permission at any time through your device settings.

1.2 IP Address and Rate-Limit Counters

For rate limiting purposes, we store a one-way cryptographic hash (SHA-256, made with a secret key) of your IP address. The original IP address cannot be recovered from this hash. Hashed IP records are automatically deleted after 7 days.

Some limits protect an account rather than a network: daily ceilings per account on weather requests, place searches and account status checks, a cap on web activation codes, and caps on wrong passwords, password-reset and sign-up emails, and device sign-ins. Their counters are keyed by the same kind of hash, made from your account id, your email address (for wrong passwords, also combined with your network) or your device's secret. Each counter holds only its name, a day and a count, and is automatically deleted after 7 days, even if you delete your account sooner. The counters keyed only by your account id, email address or device secret are included in your data export (Section 7).

1.3 Feedback and Emails to Support

If you submit feedback through the app, we store the message text, your app language and the app version. To recognise a message sent twice by mistake, we also store a one-way hash (SHA-256, made with a secret key) of the message combined with your IP address and the hour it was sent, kept as long as the message; your IP address itself is not stored. Feedback is not linked to you: no email, name, account or device identifier is attached.

If you email [email protected], we receive your email address and what you write. When the app shows an error, its Contact support button opens an email to us in your own email app, filled in with the error code, a reference, the app version, your device's operating system and its version, and the app language. It adds nothing else: no location, and no account or device identifier. You can read and change all of it before sending, and nothing reaches us unless you send it. The reference is a random code made for that one request and is not linked to you. It matches one line in our server's error log, which records only the error, the kind of request and the time, and is deleted after 7 days at most. Cloudflare receives these emails for us and forwards them to our support inbox. Our support inbox is a Gmail mailbox provided by Google (Sections 3 and 5.1). We keep your email and our reply only as long as we need them to help you. As with feedback, the legal basis is our legitimate interest in hearing from you (Section 1.10).

1.4 Subscription Data

If you make an in-app purchase, RevenueCat (the service that processes our subscriptions) receives your numeric Naola account id (the id of the anonymous device account if you never signed up), together with your platform (iOS/Android) and the store's purchase receipt. We store your subscription status against that account id. Your name and email address are never sent to RevenueCat.

1.5 Local Storage

The app stores the following on your device:

We don't receive any of this, except what Sections 1.1 and 1.7 describe: the place you ask a forecast for, and the device secret, installation code and session token the app sends to sign you in.

Signing out removes the session token, account id and email address from your device. On Android, uninstalling the app deletes all of this data. On iPhone, uninstalling deletes all of it except the secure storage: iOS can keep Keychain items after an app is deleted, so the device account's secret and the installation code, and your session token, account id and email address if you didn't sign out, may stay on the phone, and Naola uses them again if you reinstall it. The web version keeps your selected location and settings in your browser's storage until you clear it.

1.6 Ad Impressions and Clicks

Free-tier users see one small ad card at the bottom of the main weather screen. We do not use any third-party ad network. All ads are served from our own backend and contain no tracking pixels, cookies, or third-party scripts.

The only data we store related to ads is:

The schema has no foreign key, IP, timestamp, or any other field that could link an ad impression or click back to an individual user. It is technically impossible to reconstruct which user saw or clicked any given ad, even with full database access.

Ads do not read device advertising identifiers (IDFA, GAID), do not set cookies, and do not share any data with third parties.

Affiliate Links

Ads in Naola contain no affiliate links. Until October 11, 2026, some ads linked to Amazon through the Amazon Associates program, with a tag in the link that named Naola as the referrer and nothing about you; if you tapped one, Amazon handled your visit under its own privacy policy. We will update this section before any ad carries an affiliate link again.

Advanced subscribers do not see any ads and no ad-related data is recorded for them.

1.7 Account Data

You don't need to sign up to use Naola. On first launch, the Android and iOS apps create an anonymous device account: a numeric id, a placeholder address that no one can receive mail at (…@device.naola.invalid), and a hash of a random secret kept in your device's keystore. It contains no personal data. It exists so that a subscription bought on that device is recognised without asking for your email.

Signing up with an email address, Apple or Google is optional. You need it only to move a subscription between Android and iOS. The web version never creates accounts: to use Advanced on the web, you generate an activation code in the mobile app.

What we store for an account:

The web version does not have a registration form. To use Advanced on the web you generate an activation code in the mobile app (Settings → Account → Activate Naola on the web) and paste it at naola.net/activate. The web cannot create new accounts or new subscriptions on its own.

Sessions are managed via JSON Web Tokens (JWTs) signed with HMAC-SHA256, valid for 30 days. Each JWT is bound to the device identifier of its slot.

1.8 Browser Cookies (Website and Web App)

The Naola website (naola.net) and web app (naola.net/app) use only these cookies, both strictly necessary:

Under GDPR/ePrivacy, strictly-necessary cookies do not require prior consent. The lang cookie is set either when you choose a language in the footer, or when the site detects your browser's Accept-Language header and redirects you to the matching language for the first time.

Our analytics sets no cookies (see Section 1.9). You can clear cookies at any time in your browser settings. The Android and iOS apps don't use browser cookies.

1.9 Website Analytics

To understand how many people visit naola.net and the web app, and which pages they use, we run Matomo, an open-source analytics tool, on a server we rent from o2switch, a hosting company in France, reached through Cloudflare. They store or pass on this data only to run it for us, and never use it for anything else. The Android and iOS apps contain no analytics at all.

This is analytics, not tracking:

What Matomo records: the pages you view, the site that linked you here, your browser, operating system, screen size and language, and an approximate country. Individual visits are deleted after 6 months; after that we keep only totals, such as monthly page views.

The legal basis is our legitimate interest in knowing how the site is used (GDPR Art. 6(1)(f)). To opt out, turn on "Do Not Track" or Global Privacy Control in your browser: Matomo then doesn't load at all.

1.10 Why We Use Your Data (Legal Bases)

Under the GDPR, every use of personal data needs a legal basis. Ours are:

You can object at any time to a use based on our legitimate interest (Section 7).

2. Data We Do Not Collect

3. Third-Party Services

To provide weather data, your coordinates are sent to the following services during each weather request:

a Available with Naola Advanced.

For hosting:

For in-app purchases:

For signing in, only if you choose it:

For email:

Each service has its own privacy policy linked above. We encourage you to review them.

Every third party we share your data with must give it the same or equal protection as this policy. Our service providers (Cloudflare, o2switch, RevenueCat and Brevo) may use your data only to provide their service to us, under data processing agreements that require them to protect it. Apple and Google run their sign-in services as independent companies, under their own privacy policies linked above. The weather providers receive only what a forecast or a search needs: coordinates rounded to about 1 km, or the text of a city search and, where a service needs them, the app's language and the country. They never receive your IP address, your account or any other identifier.

Our website analytics (Section 1.9) runs on a server we rent from o2switch, reached through Cloudflare. They store or pass on that data only to run it for us, and no analytics company receives it.

4. Data Retention

5. Data Processing Location

Naola's database is held under Cloudflare's European Union jurisdiction: a binding restriction, fixed when the database was created, that keeps every account, subscription and feedback record we store inside the EU and prevents it from being relocated elsewhere. Our backend runs on Cloudflare Workers, a globally distributed network, so a request may first be handled at the edge location nearest you before it reaches that database. Location coordinates are processed in memory only and are never written to our database.

5.1 Transfers Outside the European Economic Area

Some of the services in Section 3 are based outside the European Economic Area (EEA), so data we send them leaves it. Each of those transfers is protected as the GDPR requires:

Brevo and o2switch are based in France, inside the EU. Cloudflare answers each request at the data centre nearest you, which may be outside the EEA, while our database stays in the EU (Section 5). To ask about these safeguards, or for a copy of them, email [email protected].

6. Children's Privacy

Naola is not directed to children. You must be at least 13 to use it, or the age of digital consent in your country if that is higher (14 in Spain), and we do not knowingly collect personal data from anyone younger. Using the app does not require signing up. If you believe a child below that age has given us personal data, contact us at [email protected] and we will delete it.

7. Your Rights

Under GDPR (Articles 15, 17, and 20) and similar regulations, you have the right to access, delete, and port your data. Naola provides these as self-service actions, so you don't need to email support or wait on a manual process, though email remains an option if you can't use the app.

Export your data (Art. 15 and 20)

In the mobile app: Settings → Account → Export my data. You'll get a JSON file containing every row we have linked to your account (profile, including the device label of each session, OAuth links, subscription entitlements, subscription event history, activation-code metadata, and the rate-limit counters keyed to your account, each with its name, day and count). Credentials, such as your password hash and the Sign in with Apple token, are left out. The export is in a structured, machine-readable format for portability to other services.

On the web: once Naola is activated in your browser, Settings → Account → Export my data in the web app at naola.net/app. If you can't use the app, email [email protected].

Delete your account (Art. 17)

In the mobile app: Settings → Account → Delete my account. A two-step confirmation removes every user-linked row from our database (profile, OAuth links, the Sign in with Apple token, activation codes, subscription entitlements, webhook event history).

On the web: naola.net/delete-account, with an activation code from the mobile app; the deletion is immediate and permanent. If you can't use the app, email [email protected] from the address on your account and we will erase it within 30 days.

If you signed in with Apple, deleting your account also asks Apple to remove Naola's access to your Apple Account. We do this after your data is erased, and it never delays or blocks the deletion. If Apple can't be reached after three attempts, or we hold no token for your account (for example because you last signed in with Apple before we started keeping one), Naola may stay listed in your Apple Account settings, where you can remove it yourself.

Two things outlast a deletion for a short time. Rate-limit counters keyed to your account are not erased; they expire on their own within 7 days (Section 1.2). And our database provider, Cloudflare, keeps a recovery history of the database (D1 Time Travel) so it can be restored after a failure: deleted data disappears from that history within 30 days.

Important: subscriptions are billed by Apple and Google, not by us. Deleting your Naola account does not cancel your App Store or Google Play subscription. Before deleting, go to Settings → [your name] → Subscriptions on iPhone, or Google Play → Payments & subscriptions → Subscriptions on Android, and cancel Naola Advanced, otherwise you will continue to be charged at renewal. We remove our entitlement record immediately so the app stops treating you as Advanced, but the billing relationship stays with the store until you cancel there.

Other rights

You also have the right to have inaccurate data corrected, to restrict how we use your data, and to object to a use based on our legitimate interest (Section 1.10). To use any of these rights, or for any other question about your data, email [email protected].

Complaints

You have the right to complain to a data protection authority. Ours is the Spanish Data Protection Agency (AEPD), because Naola is published from Spain. You can also complain to the authority where you live or work; the European Data Protection Board lists the authorities in the EU and the EEA. You don't need to contact us first, though we would be glad to try to solve the problem at [email protected].

8. Changes to This Policy

We may update this policy from time to time. When we do, we post the new version on this page with a new date. If a change is significant, for example a new kind of data or a new use of it, we will also announce it in the app.

9. Contact

For privacy-related questions or data requests, contact us at: [email protected]