Meteobreeze
  • Map
  • Pricing
  • Docs
 

Privacy Policy

Last updated: 30 October 2026

What changed on 30 October 2026: paid-plan billing, the data we share with Stripe and PostHog (including page views, feature selection and operational logs), Sentry session replay, our London hosting providers and international transfers, and your rights over consent and payment data.

1. Who we are

Meteobreeze is operated by Without Limits Digital Ltd, a company registered in England and Wales (Companies House number 14197830). We are the data controller for personal data processed through this service.

To contact us about privacy matters, email support@meteobreeze.com.

2. Scope of this policy

This policy covers personal data collected when you visit meteobreeze.com (the "Site") or a public Station Site, including on an Owner's Custom Domain, create an account, connect a weather station, buy a paid plan, join the waitlist, or otherwise interact with the Meteobreeze service.

3. Information we collect

Account data

When you create an account: name, email address, hashed password, and the date you registered.

Session data

Session tokens, your IP address at sign-in, and the User-Agent string of your browser. These are stored by Better Auth, the authentication library we use, and are retained for 30 days.

Station and weather data

Station name, location (latitude/longitude), timezone, and weather readings pushed from your devices. Weather readings are not personal data in most cases, but station location can indirectly identify you.

Payments and billing

If you buy a paid plan, you pay through Onelink, Stripe's checkout. To start checkout, we send Stripe your email address and an internal account ID (or use your existing Stripe customer ID if you have paid before). Onelink collects your card or other payment details and billing address; we never see or store your full card number. From Stripe we store your Stripe customer and subscription IDs, your plan, subscription status, currency, payment amounts, and payment and renewal dates. If you give a reason when turning off auto-renew, we pass it to Stripe as cancellation feedback and record it, without your email, as a product analytics event in PostHog linked to your pseudonymous account ID.

On the billing settings page, we use the country our hosting provider derives from your IP address to choose which currency to show prices in. We do not store it.

Notification logs

When we send email alerts, we log the fact of delivery (timestamp, alert type, recipient address). Logs are retained for 90 days.

Waitlist sign-ups

If you join our waitlist, we store your email address, an anonymised hash of your IP address (for rate-limiting only — the raw IP is never stored), and the date of sign-up. Waitlist data is retained for 2 years or until you ask us to remove it.

Launch-updates subscriptions

If you separately choose to receive product stories and launch news, we store your email address, the time and source of your consent, and the version of the consent wording shown to you. We keep a minimal record when you unsubscribe so we can honour your choice.

Waitlist invitations and Founding Station onboarding are operational messages. They do not depend on your choice to receive optional launch updates.

Technical and error data

We use Sentry for error monitoring. Sentry receives a pseudonymous user ID (a database-generated identifier, not your email) so we can correlate errors with accounts. Sentry's automatic PII collection (IP addresses, email addresses) is disabled.

Sentry also receives performance traces, diagnostic logs and masked session replays to help us investigate errors and service performance, as described in section 8.

4. How we collect it

  • Directly from you when you register, configure a station, or join the waitlist.
  • Automatically when your station software pushes data to our API.
  • Automatically by our infrastructure (server logs, Sentry error events).
  • Via Cloudflare Turnstile (invisible mode) when you submit the waitlist form for bot detection. Turnstile may collect device and signal data as described in the Cloudflare Turnstile Privacy Addendum.

5. How we use your data

PurposeData used
Provide the serviceAccount, session, station and weather data
Take payment and manage your planBilling data, country for display currency
Send alert emailsEmail address, notification log
Diagnose errorsPseudonymous user ID, error events, performance traces, diagnostic logs and masked session replays (Sentry)
Understand product usagePage views and page addresses, anonymous browser or pseudonymous account ID, named product events (PostHog), including checkout, payment and auto-renew events with plan, currency and any cancellation reason, where applicable
Choose which features to showPseudonymous account ID or anonymous browser ID when available; Station IDs and public slugs for some feature checks (PostHog)
Keep the service reliable and investigate failuresWeb and backend application logs, including timestamps, severity, diagnostic messages and relevant request, account, Station, job and error IDs (PostHog Logs)
Prevent abuseIP hash (rate limiting on waitlist)
Send waitlist confirmationEmail address
Send opted-in launch updatesEmail address and subscription preference
Display mapsStation lat/lon passed to Mapbox

6. Lawful bases (UK GDPR)

  • Contract — processing necessary to provide the service you've signed up for (account, station data, alerts, and any paid plan, including sharing your email address and internal account ID with Stripe to start checkout).
  • Legitimate interests — error monitoring with pseudonymous identifiers, performance monitoring and masked diagnostic session replays (Sentry), security and operational logging to investigate failures and keep the service reliable, feature selection to manage feature availability, and privacy-minimising product analytics (PostHog), including sharing optional cancellation feedback with Stripe and PostHog to understand why Owners turn off auto-renew and improve our paid plans.
  • Legal obligation — responding to lawful requests and keeping records where the law requires us to do so.
  • Consent — waitlist sign-up (you explicitly provide your email for an invitation) and separately opted-in launch updates.

7. Cookies

We set a session cookie to keep you logged in, and a analytics_consent cookie recording your analytics preference (see section 8 below). If you pick a currency on our homepage, pricing page or billing settings page, a billing_currency cookie remembers it for a year. No third-party advertising cookies are used. Cloudflare may set a security cookie (__cf_bm) as part of bot protection. If you opt in to in-depth analytics, our analytics provider, PostHog, sets a cookie and/or local storage entry containing a randomly generated identifier used to recognise you across visits (see section 8 below).

Sentry uses browser session storage to associate its diagnostic session replays with a browser session. Our PostHog analytics preference does not control Sentry replay.

8. Analytics, feature selection and operational logs

We use PostHog, hosted in EU Cloud, for product analytics, feature selection and operational logging. Automatic click capture is off. We record page views on navigation outside our internal Admin area, including visits to public Station Sites by Visitors who have no account, and a limited set of named product events. Page views include the address of the page visited. Signed-in Owners are identified by an internal, pseudonymous account ID, rather than their email address.

For signed-out Visitors, browser analytics uses a session-only identifier that does not persist across visits by default. Signed-in activity can be linked to your pseudonymous account ID. We rely on our legitimate interests in understanding and improving the product as the lawful basis for this baseline processing, without requesting cookie consent, given how limited it is. You can opt in to a persistent, cross-visit identifier for deeper journey tracking via the cookie banner shown on your first visit, or at any time from Settings if you have an account; opting out clears the persistent identifier immediately. We honour Do Not Track browser signals for this browser analytics. We do not currently honour Global Privacy Control, as we do not meet the size thresholds under which it carries legal force for us.

Some events, such as checkout and auto-renew changes, are recorded by our servers and linked to your pseudonymous account ID. These include any optional reason you give when turning off auto-renew. Do Not Track and your browser analytics preference do not affect these server-side events. We rely on legitimate interests for this processing, as described in section 6.

We also use PostHog to decide which features to show. Feature checks can send your pseudonymous account ID and, for some checks, your Station IDs and public slugs (the names used in Station Site addresses). For signed-out Visitors, we use the anonymous PostHog ID from its cookie if available, or a shared anonymous value otherwise. These server-side checks are not controlled by Do Not Track or your browser analytics preference.

PostHog session replay (a recording of on-screen interactions for product troubleshooting) is supported by PostHog but is not currently enabled. If we enable it in future, it will be limited to a sampled subset of sessions for product investigation, will mask all text and input fields by default, and will exclude sign-in, account, billing, deletion and other sensitive pages. We will update this policy before turning it on.

Sentry session replay is enabled separately for error diagnosis: our configuration samples 1% of browser sessions and captures replays for sessions where an error occurs. Sentry's default privacy settings mask text and inputs and block images and other media. This diagnostic recording is not controlled by your PostHog analytics preference.

We send operational application logs from our web app and backend to PostHog Logs in EU Cloud to investigate failures and keep the service reliable. These include timestamps, severity, diagnostic messages and relevant identifiers such as request, account, Station, job and error IDs. They are retained for 14 days. Account deletion does not delete these logs; they expire under that retention period. Browser analytics preferences and Do Not Track do not control operational logging. Server access logs, such as request paths and response codes kept by our hosting providers, are separate from these application logs.

9. Third-party processors

ProcessorPurposeData shared
VercelWeb hosting (London functions)Account, session, station and billing data processed by the web app; IP address and request metadata
Fly.ioBackend hosting (London)Account, station and billing data processed by the backend; IP address and request metadata
NeonPostgres database hosting (AWS London)Stored account, session, station, billing, notification and subscription data
ResendEmail deliveryEmail address, email content
SentryError and performance monitoring, diagnostic session replayPseudonymous user ID, stack traces, performance traces, diagnostic logs and masked session replays
PostHog (EU Cloud)Product analytics, feature selection and operational logsPage addresses, anonymous browser or pseudonymous account ID, named events and environment tag; Station IDs and public slugs for some feature checks; application log messages and diagnostic identifiers. We do not deliberately send email addresses or Station coordinates
MapboxMap tilesStation lat/lon in tile requests
CloudflareDDoS protection, DNS, TurnstileIP address, request metadata

Stripe and Onelink are not our processors. For paid plans, Sold Through Link, LLC and its Stripe affiliates act as merchant of record and process your payment data as an independent controller, under Stripe's Privacy Policy.

10. International transfers

Our web functions run on Vercel in London (lhr1), our backend runs on Fly.io in London (lhr), and our Neon Postgres database is hosted in AWS Europe West 2 (London, eu-west-2), all in the United Kingdom. These hosting regions do not mean that all provider processing stays in the UK: providers may also process data internationally through their delivery networks, support operations and subprocessors. Transfer arrangements include:

  • Vercel — international transfers are covered by its Data Processing Addendum, including Standard Contractual Clauses and the UK Addendum where applicable.
  • Fly.io — UK transfers to the US are covered by the UK Extension to the EU–US Data Privacy Framework.
  • Neon — international transfers are covered by its data processing terms, including Standard Contractual Clauses and the UK Addendum where applicable.
  • Sentry — transfers to the US under Standard Contractual Clauses (SCCs).
  • Mapbox — transfers to the US under Standard Contractual Clauses.
  • PostHog — data is ingested and stored in PostHog's EU Cloud for analytics, feature checks and operational logs; we do not route these through PostHog's US infrastructure.
  • Resend — transfers to the US under UK Standard Contractual Clauses and the UK Addendum.
  • Cloudflare — global edge network; transfers made under UK Standard Contractual Clauses and the UK Addendum.
  • Stripe — as an independent controller, transfers data to the US under the safeguards described in Stripe's Privacy Policy.

11. Data retention

Data typeRetention period
Account and station dataUntil account deletion
Billing dataUntil account deletion, which also cancels any subscription. Stripe keeps its own transaction records under its Privacy Policy
Session data30 days
Notification logs90 days
Waitlist sign-ups2 years
Launch-updates subscriptionsUntil you unsubscribe; a minimal consent and opt-out record is retained afterward
Server access logs90 days
Operational application logs (PostHog Logs)14 days; not deleted when you delete your account
Analytics events (PostHog)When you delete your account, we request deletion of your analytics profile and its linked events; PostHog processes event deletion asynchronously. This does not cover anonymous events we cannot link to your account or operational application logs

12. Security

We use HTTPS for all connections. Passwords are hashed before storage. Session tokens are rotated. Error monitoring is configured with PII auto-capture disabled. No credit card data is processed or stored by us.

13. Your rights

Under UK GDPR you have the right to access, rectify, erase, or restrict processing of your personal data. You also have the right to data portability and to object to processing based on legitimate interests.

Where we rely on consent, you can withdraw it at any time by contacting us, using the unsubscribe link in launch-update emails, or changing your analytics preference; withdrawal does not affect the lawfulness of processing before you withdrew it.

For payment data Stripe processes as an independent controller, you may need to exercise your rights directly with Stripe using the contact details in Stripe's Privacy Policy linked above.

To exercise any of these rights, email us at support@meteobreeze.com. We will respond within one calendar month. You also have the right to lodge a complaint with the Information Commissioner's Office (ICO) at ico.org.uk.

14. Children's privacy

Meteobreeze is not directed at children under 13. We do not knowingly collect personal data from children. If you believe a child has provided us with their data, please contact us and we will delete it.

15. Changes to this policy

We may update this policy from time to time. Material changes will be indicated by an updated "Last updated" date at the top of this page. We will notify registered users of significant changes by email where required by law.

Meteobreeze

Your weather station. Your website. Turn live readings into a site you're proud to share.

@meteobreeze.com@meteobreeze

Product

  • Live demo
  • Widget library
  • Integrations
  • Pricing

Resources

  • Docs
  • Getting started
  • Data export
  • Status
  • Terms of Service
  • Privacy Policy

Community

  • Forum
  •  
  • Contact
  • Bluesky
  • X (Twitter)
Made with ☁ by a weather nerd
Meteobreeze · © 2026

We'd like to use cookies to understand how you use Meteobreeze so we can keep improving it. You can change your mind anytime in Settings.

Create an account
Get started