Privacy Policy

AusGuard for iOS. This page is written against the shipping code; where the code and a nice-sounding promise disagree, the code wins. Last reviewed 20 October 2026, app version 1.4.0.

1. Short version

2. What we collect and why

DataWhyWhere it lives
Device identifier (Apple's vendor ID, or a generated ID if unavailable) Rate-limiting abuse and binding AI request quotas to one install Sent on every API call as X-Device-Id; stored in the sessions and users tables
iOS version, device model, app version, language, timezone Crash triage and knowing which builds to support Request headers; stored per device in users
IP address and the path you requested Abuse and error diagnosis Stored per device (users.last_ip, users.last_path) and in analytics_events
Approximate first-seen and last-seen timestamps, request count Counting real users so a solo developer knows whether to keep going Stored in users
Map coordinates (latitude, longitude) Fetching weather, air quality, UV, tides, beaches and nearby places for your area Passed in the request URL per call. Forwarded to the data providers below. Not written to a database, except in the two cases below.
Coordinates and suburb you choose, if you enable push alerts Delivering warnings for your area Stored in the subscriptions table until you turn alerts off or delete your data
Apple push token, if you enable notificationsDelivering pushes via Apple Stored in subscriptions / push_log
Email from Hide My Email, or your real email, if you sign in with Apple Optional account: syncs preferences and supports deletion requests Stored in users after Apple Sign-In. Never requested otherwise.
Because the same per-device identifier is attached to your requests across sessions, Apple's privacy label treats this app as data that is linked to your identity. It is still not used to track you across other apps or websites, and there are no third-party analytics or advertising SDKs in the binary.

3. Who else sees your data

Our server asks other services on your behalf. They receive the minimum needed for the answer: usually coordinates or a state name. Outbound calls carry no device identifier.

ProviderGetsProvides
Cloudflare (hosting)Everything above, as our server and database hostRunning the API and the D1 database
Cloudflare Workers AI, then Zhipu AI (GLM-4-Flash)The text of your AI question plus the local weather context needed to answer itOnly when you use an AI feature: natural-language questions, itinerary and meetup suggestions
Open-MeteoCoordinatesForecasts, UV, air quality, and marine wave conditions for surf and beach screens
Australian Bureau of MeteorologyNothing about youWarnings, radar, fire danger
USGSNothing about youEarthquake catalog
ApplePush tokens; email if you sign inNotifications, Sign in with Apple, payments
State transport and emergency agenciesNothing about youClosures, transit, hazard feeds

Weather and hazard answers may be cached at the edge for 5 to 60 minutes, keyed by a coordinate grid rather than by you.

4. What we do not do

5. Your rights

6. Retention and security

Device rows persist while the app is in use and are not purged on any automatic schedule; they go when you delete the account or ask us to. Sessions expire automatically, and push delivery logs are pruned after 7 days. Requests are served over HTTPS with HTTP Strict Transport Security enabled, and the API rejects calls that omit a valid application proof.

7. Contact

AusGuard is made by one independent developer in Australia. Questions, deletion requests, or complaints: cczusyh@gmail.com. If you ask, we will tell you exactly what rows your device identifier has.

8. Changes

We will update this page when the code changes and put the review date at the top. Continued use after an update means you have read the new version.