3° Privacy Policy
Matthew Spence · msaspence@gmail.com
3° uses locations to show weather. Saved places, preferences and forecasts are stored on your devices. Weather and place-search requests send information to Open-Meteo or Apple. Privacy-limited operational and product analytics go to PostHog without coordinates, place names or search text in event payloads. Your paired iPhone and Apple Watch share location information. There is no app advertising, advertising tracking or developer account system.
Who is responsible
Matthew Spence operates 3°. Our mailing address is 4453 Park Blvd, San Diego, CA 92104, United States. Contact msaspence@gmail.com with privacy questions or requests. This policy covers the iPhone app, Apple Watch app, widgets, complications and this policy page.
3° is initially available in the United States App Store and is intended for a general audience. It is not directed at children. If you believe a child has sent personal information to support, contact us so we can address it.
Locations and your choices
Current Location uses Apple's location services to obtain coordinates and accuracy information for nearby weather. 3° requests While Using access and works with reduced accuracy. It checks movement while the foreground Current Location experience is active; it does not request Always access or provide a route-history feature. Widgets and complications may obtain permitted updates when the operating system schedules a refresh.
You can deny or revoke location access in system Settings, and turn off Precise Location where Apple provides that control. Review the separate permissions for the Watch and widgets. You can search for and save places for weather without granting Current Location access.
Revoking permission stops new device-location acquisition covered by that permission. It does not delete saved places, information already sent to providers, backups or records on another device. The paired phone may also supply its latest location to the Watch.
Weather requests
To retrieve forecasts, 3° sends the coordinates of current, saved and previewed places directly to Open-Meteo's commercial weather service over HTTPS, together with model and weather-request parameters. Viewing a place preview can request weather before you save it. Coordinates are not deliberately rounded to make them anonymous; they can describe a precise location even when the app requests a less accurate device fix.
Open-Meteo receives network information such as your IP address and the requested URL. Its paid-service privacy notice describes request logging associated with the developer's API subscription, removal of individual logs after 90 days, and retention of aggregate usage. Request URLs can contain coordinates. That is Open-Meteo's retention practice, not a deletion deadline for all 3° data.
Place search and names
On iPhone, place suggestions and result resolution use Apple MapKit. On Apple Watch, search text and language are sent to Open-Meteo's commercial geocoding service to find places. That service uses the GeoNames dataset; 3° does not send requests directly to GeoNames.
Current-location naming uses Apple's geocoding services. The Watch can ask its paired iPhone to resolve a name, sending coordinates to the phone. Apple processes requests under its own privacy information. Open-Meteo's request logging also applies to its search service.
What stays on your devices
3° persistently stores saved-place names, coordinates, time zones and order; your selected place and temperature preferences; forecasts and presentation caches; and an accepted last-known Current Location with its fix time when available. App Group storage lets the app and its extensions use this information on the same device. It is not a developer-operated online database.
Forecast cache entries are eligible for use for up to three days and are then ignored; their on-device files may remain until replacement or cleanup. A small on-device forecast lookup index also stores source coordinates and forecast times; it is rebuilt from the cache when needed. When you move, a nearby previous forecast and its source coordinates can remain on your device temporarily while a forecast for the new location is requested. Saved places, last-known locations and other preferences have no single automatic deletion deadline. Unsaved preview forecasts can also remain locally until later cleanup. 3° does not exclude all persistent records from device backups. Apple and your device settings determine backup and restore behavior.
Your paired iPhone and Watch
Apple WatchConnectivity shares saved places, their order and deletion metadata between your paired devices. The phone also sends its latest Current Location, its fix time when available, and a compact current-weather presentation to the Watch. The Watch compares fix times to avoid replacing a newer Watch position with an older phone position. Each device otherwise maintains and retrieves its own full forecasts. Subscription access and selected weather-model preferences are also shared as described below.
Local identifiers, versions and coordinate-derived place identifiers help reconcile changes. Removing a saved place leaves an identifier and deletion generation, called a tombstone, to prevent an old copy from reappearing. This metadata is not a promise of irreversible anonymity. Apple can retain synchronization context for later delivery.
Removing information
Delete a saved place from the locations list. This removes its active saved record and schedules associated local weather cleanup. If the other device is offline, deletion and cleanup take effect there when it next processes synchronization. Deletion metadata may remain.
To stop Current Location updates, change location permissions on the relevant devices and extensions. 3° has no general in-app erase-all control. Deleting one app is not a reliable way to erase the paired device, App Group data still used by an installed extension, device backups, queued synchronization or provider records. Review both devices and Apple's backup controls when removing the app.
Matthew does not have remote access to your local saved places, forecasts or device location store. Contact us for help with information you sent to support or for guidance on provider requests; we cannot remotely erase a provider's logs or your device backups.
Diagnostics, advertising and purchases
3° writes operational diagnostics through Apple's logging system, including request stages and timing, location authorization and accuracy context, model choices and error codes. App diagnostic messages are designed to omit raw coordinates, place names, search text and weather payloads. They are subject to Apple's system-log handling. If you send a diagnostic report to support, it becomes part of your support request.
3° sends limited operational, error, performance and product events, plus structured diagnostic logs, to PostHog’s US service. Events cover app first opens, app and complication opens, subscription-sheet steps and selected plan, saved-location counts and current-versus-saved navigation, temperature and weather-model choices, Watch tabs, day-sheet opens, cache availability during refresh and Open-Meteo response times. Each event can include the current subscription plan and phase, whether the verified seven-day download access is active, build/environment, platform, operating-system version, hardware model and screen dimensions. Forecast request and completion events share a temporary request ID; subscription-sheet steps share a temporary sheet ID. Events use a stable pseudonymous User ID derived with SHA-256 from the verified App Store appTransactionID. The raw Apple transaction ID is not sent to PostHog. Apple issues this identifier per Apple Account and app, so the derived ID can link events across devices and redownloads for that app. After verification, 3° keeps the derived ID in local App Group storage and reuses it while later StoreKit checks are pending or unavailable. If no verified ID has been stored yet, 3° uses a random installation ID; events may move to the verified ID after a successful check. The derived or fallback ID is stored locally for widgets and complications. 3° requests that PostHog not create a person profile, but the ID still permits activity to be linked over time. New event payloads request that PostHog skip GeoIP enrichment and, together with remote diagnostic labels, omit coordinates, place names, search text, raw error descriptions, transaction IDs and account IDs. PostHog receives the request IP address in transit. The project now has IP anonymization enabled, which drops IP addresses from newly ingested events; new app events also request that PostHog skip GeoIP enrichment. Earlier app versions sent coordinates and place names in retrieval events, and those historical records may remain. Exact event and log retention and any earlier IP storage remain unverified; 3° does not promise a deletion deadline for PostHog data.
3° has no integrated advertising, advertising tracking or external crash-reporting service. Its remote diagnostics are selected, structured app logs and handled errors, not a complete capture of Apple system logs or crashes. Apple may separately process platform diagnostics according to your Apple settings and its policies. 3° does not sell information to data brokers.
Subscriptions and Apple purchases
Apple handles app downloads, subscription purchases, billing, refunds and purchase history through the App Store. On iPhone and Apple Watch, 3° reads the verified StoreKit app transaction's original download date to give that Apple Account seven days of access to every feature, including unlimited saved places and custom weather models. The window is measured from the original download time, so reinstalling does not restart it. If the app transaction cannot be verified, the app cannot grant this download trial. Eligible new subscribers can separately redeem a one-week StoreKit introductory free trial when starting a subscription; Apple determines eligibility within the subscription group, and this period can overlap the first-download access window. The apps also request product information and read verified subscription transactions and renewal status, including the product, purchase and expiration dates, introductory offers, and refund or revocation status. Both apps can start a subscription purchase. The iPhone app also displays subscription status and provides Restore Purchases.
The iPhone keeps a small subscription-access record in device App Group storage: the product/plan, subscription phase, access expiration, the verified download-trial deadline when active, and selected weather-model preferences. The app and its widgets read it to apply access limits, including while offline. The iPhone shares this minimal projection with your paired Apple Watch through WatchConnectivity; the Watch stores a local copy for its app, widgets and complications and independently checks StoreKit. Access is checked against the deadline at use. Updates replace the previous projection; saved places remain stored when access ends and become locked rather than deleted. The Watch also keeps a minimal local StoreKit verification record for subscriptions and its download-trial deadline, so it can recognize renewals while away from the iPhone. The Watch sends its verified subscription plan, phase and expiration to the phone as a signal to recheck StoreKit; the phone grants paid access only after its own verification.
The app does not store receipts, raw transaction identifiers or Apple Account identifiers in this access record or send their raw values to PostHog or a developer-operated billing server. It stores the derived analytics ID separately in App Group preferences for the app and its extensions; that value remains until the container data is removed or a newly verified app transaction replaces it. It sends plan and subscription-phase categories and verified seven-day access status with analytics events, including subscription-sheet selection, submission and completion steps; Debug simulated purchases are labelled as simulated. Apple retains purchase and account information under its own policies. The app does not receive your payment-card details or Apple Account credentials. The local access record remains until replaced or removed with the relevant app/container data; an active trial deadline is replaced or cleared when the app rechecks StoreKit. Apple may retain paired-device synchronization context for later delivery.
Development builds can simulate a subscription for testing. Overrides do not create or change an Apple purchase. The selected Debug subscription choice is stored locally and remembered across iPhone app restarts until you clear it with Use actual subscription state or the container data is removed. A Debug projection is also stored and shared with the Watch and widgets so their restrictions can be tested consistently. It remains active while the saved Debug choice is active, even if the apps are suspended. A simulated plan selected on the Watch is stored locally and sent to the paired iPhone, where it becomes the saved Debug choice only if the originating phone choice is still active. That phone then shares the updated Debug projection back to the Watch and widgets. Changing or clearing the phone choice ends an unmatched Watch simulation; a changed phone choice removes the Watch record when received. These Debug records otherwise remain until replaced or their container data is removed. Release builds ignore developer overrides.
When you contact support
Support and privacy email is handled through Gmail. Matthew and Google receive the email address, message, attachments and other information you choose to send. We use it to answer you, resolve problems and handle privacy requests. Please send only information needed for your request.
Support messages are deleted within 12 months after your last contact unless they are needed for a legal obligation or an unresolved dispute. Google may retain service records and backup copies under its own policies. You can request earlier deletion of the information we control by emailing msaspence@gmail.com.
Our website and external links
The public privacy policy and support pages are hosted using Amazon Web Services S3 and CloudFront at msaspence.com. AWS receives information needed to deliver and protect the page, such as IP address, requested page, request time and browser/network information. AWS may retain operational and security records under its own policies. We have not added analytics, advertising, cookies or other tracking scripts to these pages.
The bundled in-app policy can be read offline. Displaying its text does not itself request weather, search for places, obtain location or synchronize devices. Following a web or email link uses the corresponding service and can send it network or message information.
Security and privacy requests
Weather and search requests use HTTPS. Apple app-container and App Group boundaries help limit local access. No storage or transmission system is absolutely secure. Providers may process information in countries where they operate, outside your country, where privacy protections can differ.
We use information to provide the weather and search you request, maintain your choices and answer support messages. Depending on the law that applies to you, you may have rights to access or correct information, request deletion, limit or object to processing, or withdraw consent. Email msaspence@gmail.com to make a request or raise a concern. We will explain what we can access, any identity verification needed, and any applicable limits or response requirements. You may also contact your relevant privacy authority.
For a privacy request, include your name, a reply address, the information or interaction concerned, and the access, correction, deletion, restriction or other action you want. For a correction, describe the change. We may ask for information needed to verify your identity or authority to act for someone else; please do not send identity documents unless requested. Matthew handles these requests personally. We handle requests within the periods required by the applicable law and explain any refusal or permitted extension. These requests are not used for marketing.
You can withdraw device-location permission in Settings and stop sending new requests by no longer using the relevant feature. Withdrawal does not undo prior processing or automatically erase retained information. No acceptance checkbox is required to read this policy.
Policy changes
We will update this policy when the app's data flows or privacy practices change. The effective date and revision identify the text you are reading. App updates include a bundled copy; the public page may contain a newer revision. We will provide additional notice or seek consent where required.