Skip to content

    Privacy Policy

    Your privacy matters to us. Here's how we handle your data.

    TL;DR Summary

    Website and native-app preferences are stored locally on your device. Weather requests are processed by our service and OpenWeather, and usage events may be stored by analytics providers. The ChatGPT card starts with optional usage stats on for each new card and has its own off control. The Claude connector and its card send anonymous usage events with no location. The red button below clears local app data; it does not delete events already sent to providers or information held by ChatGPT. See the separate controls below.

    Last Updated: October 30, 2026

    Information We Collect

    📍 Location Data

    Weather lookups use a location to retrieve conditions or forecasts from OpenWeather. The website and native app can remember your last used location on your device. The ChatGPT app uses a city query or optional approximate location supplied by ChatGPT, as described below. The Claude connector uses only the city you ask Claude about; it does not detect your location.

    ⚙️ User Preferences

    Website and native-app preferences stored locally on your device: temperature unit, theme (light/dark), profanity level, custom weather words, text-to-speech voice selection.Storage: localStorage on your device only.

    🌍 Geo-Fencing Data

    Country detection for USA and UK access using IP geolocation and timezone.Storage: sessionStorage (cleared when browser closes).

    📊 Usage Data

    Usage statistics help us improve the service. Website PostHog analytics uses the website cookie controls. The ChatGPT card separately sends limited interaction events to PostHog with a random temporary card identifier while Usage stats is on. The Claude connector and its card send anonymous, location-free usage events through our server. We count visits to our pages without cookies. We record the page, any campaign tag on the link, the country and the kind of browser, with no identifier and no IP address.Storage: Analytics providers, including PostHog and Vercel; see the service-specific details below.

    Information Not Required for Weather

    Weather lookups do not require the following information. If you contact us, we receive the contact details and information you choose to send.

    ✓Names, email addresses, or phone numbers

    ✓Physical addresses or postal codes

    ✓Payment information or financial data

    ✓Social media profiles or identifiers

    ✓Individual browsing history details

    ✓Photos, videos, or files

    How We Use Your Data

    Weather Services

    Your location data is used to fetch accurate weather information from the OpenWeatherMap API.

    Service Improvement

    Usage data helps us understand how to improve features, fix bugs, and enhance user experience.

    Personalization

    We use your preferences (temperature units, obscenity level) to customize your weather experience.

    Cookies

    Our website uses cookies to provide our weather service and show you relevant advertisements. Cookies are small text files stored on your device.

    Cookie Consent

    In the UK, the EEA, Switzerland and everywhere outside the US, the website only sets non-essential cookies (analytics and advertising) after you have given your consent. In the Android app the same opt-in applies everywhere. Essential cookies are required for the app to function and are always active.

    In the US, the website uses analytics and advertising cookies from your first visit and shows a short notice. You can turn either off at any time under “Your privacy choices”, at the foot of every page. If your browser sends a Global Privacy Control signal, we treat it as a request not to personalise ads, and we show non-personalised ads only.

    For detailed information about the cookies we use, please see our Cookie Policy.

    Managing Cookies

    You can change your choices at any time through “Your privacy choices” at the foot of every page, or on our Cookie Policy page.

    These website cookie controls are separate from the ChatGPT card’s Usage stats control. The card does not use cookies for its usage events; its default-on setting and temporary identifier are described below.

    Weather With Attitude in ChatGPT

    Weather lookups

    When you request weather, our app receives the city you ask for and your selected temperature unit. If you have not specified a city, the tool can use an approximate city, region and country supplied by ChatGPT. Our server sends the location query to OpenWeather for geocoding, then sends the resolved coordinates to OpenWeather to obtain current conditions. The resolved city, temperature, conditions, observation time and weather commentary are returned through ChatGPT and displayed in the card. The app does not ask for precise GPS permission or a Weather With Attitude account.

    Card state and speech

    When available, the card uses ChatGPT’s widget state API to remember the displayed location query, observation time, selected roast and temperature unit. OpenAI handles that host-side state under its own policies. Speak uses the browser or device’s available speech service after you press the button. Our app does not use your microphone or record your voice, and it does not call a separate paid speech API. Speech availability and processing can depend on the ChatGPT host and device; if playback is unavailable, the card points you to its website link.

    Optional usage statistics

    Usage stats start on each time a new card is mounted. A visible disclosure and Usage stats on/off button appear in the card. While usage stats are on, the card sends a limited set of allowlisted interaction events through our server to PostHog for storage and analysis. These describe whether the card was viewed, a weather search was requested or succeeded/failed, Re-roast was selected, speech was requested/started/completed/failed/stopped, or the website link was selected. Three of them use names shared with our Claude connector (a weather result reached the card, the card was shown, the website link was opened) so the two apps can be compared.

    Each enabled card uses a randomly generated temporary identifier to connect events within that card. The event payload contains that identifier, the event name, the app platform, the widget version, the Wuss attitude level, a marker for our own test traffic and, for the shared events, the client (ChatGPT), the tool name and whether the weather request succeeded. It does not include the city, coordinates, your prompt, the roast text, an account identifier or a browser fingerprint. We configure these events with person-profile creation and GeoIP enrichment disabled and with a null IP property.

    The card does not use a cookie or a persistent cross-site identifier for these usage events. Turning Usage stats off stops future usage events from that card; it does not remove events already sent. Turning stats back on creates a new random card identifier. The off setting is held in the current card’s memory and is not a permanent account-wide preference. A new card starts with stats on again.

    Hosting and website visits

    Our Vercel-hosted service processes the technical metadata needed to receive, operate and rate-limit requests, including the client IP used for rate limiting. Opening the website takes you to a separate site with its own cookie controls. The card’s website link includes campaign parameters identifying the visit as coming from the ChatGPT weather card; it does not include your city or roast. While Usage stats is on, the link also carries the card’s random identifier (wwa_cid). If you then accept analytics cookies on the website and your device has no analytics identifier from us yet, the website uses it as your analytics identifier so the visit is counted with that card’s events. The website removes it from the address bar on arrival. With Usage stats off the link carries no identifier.

    Retention and questions

    For questions about retention of usage events or hosting data, or requests to access or delete data, contact privacy@weatherwithattitude.com. Turning stats off or clearing local app data does not delete information already held by these providers. OpenAI’s privacy policy explains its handling of ChatGPT conversations and host-side information.

    Weather With Attitude in Claude

    Weather lookups

    When you ask Claude for a weather roast, the connector receives the city Claude passes on, and optionally the temperature unit and an attitude level (Wuss, Spicy or Brutal; Wuss if none is given). It does not detect your location. Our server sends the city to OpenWeather for geocoding, current conditions and the next few hours of forecast, and returns the resolved city, temperature, conditions, a roast and that short forecast to Claude. Claude apps that support interactive cards show them in a Weather With Attitude card; others show the text. The card loads its font, logo and weather pictures from our website and fetches nothing else. There is no Weather With Attitude account, sign-in or stored per-user state.

    Anonymous usage statistics

    Our server sends four kinds of anonymous event to PostHog: one when Claude connects to the connector, one for each weather request, and, reported by the card through Claude to our server, one when the card is shown and one when its website button is opened. They contain the client (Claude), the connector version, a random connection identifier (our server issues a random session value when Claude connects and Claude sends it back with each request on that connection, which can cover several chats and is replaced when we update the connector; we store only a one-way hash of it), the MCP client’s name, version and protocol version and whether it says it can show cards (software details, not about you), a marker for our own test traffic, the tool name and the attitude level, and, for weather requests, whether the city was found, success or the type of error, and the response time.

    These events contain no location of any kind (not yours and not the city you asked about), no IP address, no prompt, no city text, no roast and no account identifier. We send them with person-profile creation and GeoIP enrichment disabled and a null IP property. The card’s two events carry the same fields and the same random connection identifier as the weather requests, and nothing more, so the card has no separate switch; you can stop all of it by disconnecting the connector in Claude. This connector also includes the Words With Attitude puzzle; its events are described in the next section.

    Hosting and website links

    Our Vercel-hosted service processes the technical metadata needed to receive, operate and rate-limit requests, including the client IP used for rate limiting. Each answer can include links to our website (in the text and the card’s button), all tagged as coming from Claude. The plain links carry no weather details, but they do carry the random connection identifier described above (wwa_cid). If you open one and accept analytics cookies on the website, and your device has no analytics identifier from us yet, the website uses it as your analytics identifier so the visit is counted with that connection’s anonymous events; otherwise it is ignored. The website removes it from the address bar on arrival. The share link carries the city, temperature, conditions and roast from that answer so the page can show them, and never the connection identifier; if you open it, our website receives those in the address like any other visit, under its own cookie controls.

    Retention and questions

    We keep these usage events for 12 months and then delete them. For questions about retention, or requests to access or delete data, contact privacy@weatherwithattitude.com. Anthropic’s privacy policy explains its handling of Claude conversations.

    Words With Attitude in Claude and ChatGPT

    The puzzle

    The Words With Attitude connector, and the same puzzle inside the Weather With Attitude connector in Claude, runs a daily word puzzle. Its answers come from a milder word list than the game in our app, so it is a different puzzle. When you play, Claude or ChatGPT sends our server the puzzle number, your guesses so far and your new guess, and optionally your time zone or UTC offset so the puzzle follows the date on your device. Our server checks the guesses against that day’s word and returns the marked board and a comment. It stores nothing: no game, no guesses and no account. The time zone is used only to pick the puzzle; it is not stored and is not sent to analytics. The puzzle card loads its font and logo from our website and fetches nothing else.

    Anonymous usage statistics in Claude

    Our server sends anonymous events to PostHog for each puzzle tool call (success or the type of error, and the response time), when a puzzle starts, for each counted guess (its number, 1 to 6, never the word), and when the game ends (won or not, guesses used, and whether you gave up). The puzzle card sends one when you press Share Result and one when you open a link from it. Each event contains the connector (Words With Attitude or Weather With Attitude), the client (Claude), the puzzle number and which word list it uses, the tool name, the connector version, whether it is our own test traffic, and the random conversation identifier described in the section above. The standalone connector also sends the connection event described there.

    These events contain no guesses, no answer, no location of any kind, no IP address, no prompt and no account identifier. We send them with person-profile creation and GeoIP enrichment disabled and a null IP property. You can stop all of it by disconnecting the connector in Claude.

    Usage statistics in ChatGPT

    In ChatGPT our server sends no events of its own. The puzzle card has a Usage stats switch, on when a new card opens. While it is on, the card sends the same puzzle, share and link events through our server to PostHog, under a random identifier the card creates, with the same exclusions as in Claude. Turning it off stops future events from that card and removes the identifier from its links; it does not remove events already sent.

    We keep these usage events, from Claude and ChatGPT, for 12 months and then delete them.

    Website links

    The card and the end of a game can link to the Words page of our website, tagged as coming from the connector (utm_campaign=words). In Claude, and in ChatGPT while Usage stats is on, the link also carries the conversation identifier as wwa_cid. Our website removes it from the address bar straight away. If you accept analytics on our website and the device has no analytics identifier yet, the visit is counted under that identifier so we can see that a puzzle led to a visit; otherwise it is not used. The share text never carries it. Our website then follows its own cookie controls.

    Legal Basis for Processing (UK GDPR)

    Under UK GDPR, we must have a legal basis for processing your personal data. The following statements cover our website and native-app processing. The ChatGPT card’s and the Claude connector’s separate data flows and controls are described above.

    📍 Location Data

    Legal Basis: Consent (Article 6(1)(a))
    Purpose: To provide accurate weather forecasts
    You give consent when you allow location access in your browser.

    ⚙️ User Preferences

    Legal Basis: Legitimate Interest (Article 6(1)(f))
    Purpose: To remember your preferences and improve your experience
    This is necessary for the app to function as you expect.

    🌍 Geo-Fencing Data

    Legal Basis: Legitimate Interest (Article 6(1)(f))
    Purpose: To enforce regional access restrictions
    This is necessary to comply with data licensing agreements.

    📊 Website and Native-App Analytics Data

    Legal Basis: Legitimate Interest (Article 6(1)(f))
    Purpose: To improve our service and fix bugs
    Website PostHog analytics is subject to the cookie controls described above.

    📢 Advertising Data

    Legal Basis: Consent (Article 6(1)(a))
    Purpose: To show relevant advertisements
    You give consent through our cookie consent banner. You can withdraw consent at any time.

    Data Protection

    Encryption

    All data transmission is encrypted using HTTPS/TLS protocols.

    No Account Required for Weather

    Weather lookups do not require a Weather With Attitude account or contact details. This does not mean that no data is stored: local preferences, analytics events and provider processing are described in this policy.

    Minimal Data Collection

    The ChatGPT card’s usage-event payload and the Claude connector’s usage events are limited to the fields described above and exclude location, prompts and roast text.

    Third-Party Services & Your Data

    🌦️ OpenWeatherMap

    We use the OpenWeatherMap API to provide weather data. Your location coordinates are sent to OpenWeatherMap to fetch conditions and forecasts. The ChatGPT app also sends the location query for geocoding.

    OpenWeatherMap handles these requests under its own data practices. Contact us with questions about weather-provider processing.

    📢 Google AdSense / AdMob

    Google collects browsing data for personalized ads. This is separate from our app data. We only load AdSense after you have consented to advertising cookies.

    Storage: Google's servers • Consent Required: Yes (via cookie consent banner) • You control: adssettings.google.com to opt-out of personalized ads

    ☁️ Vercel Hosting and Analytics

    Vercel hosts our website and API and provides website analytics. Hosting processes technical request metadata separately from the ChatGPT usage-event payload sent to PostHog.

    Provider: Vercel • Questions: Contact us about hosting data, retention or data requests

    📊 PostHog (Product Analytics)

    On our website, we use PostHog to understand how features are used. It sets a per-device identifier and records product-usage events and properties such as your chosen attitude level and how you reached us (referrer / campaign tags). It loads only after you accept analytics cookies. If you arrive from a Claude or ChatGPT link that carries a conversation or card identifier, a device with no PostHog identifier yet uses that random identifier instead of a new one. The ChatGPT card uses a separate server-side capture flow with a temporary card identifier and its own Usage stats control, and the Claude connector its own anonymous server-side events, as described above.

    Storage: PostHog servers, kept for 12 months and then deleted • Website control: decline or withdraw in cookie preferences • ChatGPT control: turn Usage stats off for the current card; contact us about events already sent

    🌐 IP Geolocation Services

    We use ipapi.co, ip-api.com, and ipwhois.app to detect your country for geo-fencing.

    Storage: Not stored by us • You control: Data cleared on browser close

    🤖 ChatGPT App Distribution

    Weather With Attitude is available as an app within ChatGPT. When you use our service via ChatGPT, your requested city and temperature unit, or optional approximate city, region and country supplied by ChatGPT, are processed by our weather API. Tool responses (weather data and attitude text) flow through ChatGPT's servers before being displayed to you.

    Card state can include the location query, observation time, selected roast and unit. The card’s optional usage events are handled separately, as described in the Weather With Attitude in ChatGPT section above.

    Host-side information: Refer to OpenAI's privacy policy for their data handling practices

    Your Rights & How to Delete Your Data

    Local Website and Native-App Data

    The following preferences and session data are stored locally on your device:

    • • User preferences (temperature unit, theme, obscenity level)
    • • Custom weather words
    • • Location history (last used location)
    • • Text-to-speech voice selection
    • • PWA install status
    • • Session geo-fencing data

    Clear Local App Data:

    Clears local app preferences and session data, then restarts the app. Does not delete analytics events, hosting data or ChatGPT host-side state.

    Third-Party Data (You Control These Separately)

    Google AdSense/AdMob:

    Opt-out of personalized ads and manage your ad data:

    Visit adssettings.google.com →

    PostHog and Vercel:

    Contact privacy@weatherwithattitude.com about retention, access or deletion of provider-held data. Turning ChatGPT Usage stats off stops future events from the current card; it does not delete events already sent.

    Alternative: Clear All Browser Data

    To clear browser-held cookies and cached data, use your browser settings. This does not delete information already held by service providers:

    • • Chrome: Settings → Privacy → Clear browsing data
    • • Firefox: Preferences → Privacy → Clear Data
    • • Safari: Preferences → Privacy → Manage Website Data

    Contact Us

    If you have any questions about this privacy policy or want to exercise your rights, please contact us:

    Email: privacy@weatherwithattitude.com

    Subject: Privacy Policy Inquiry

    We're committed to protecting your privacy and being transparent about our data practices.

    This privacy policy may be updated periodically. Check back for changes.