Privacy Policy

Taia - Smart Tourist Helper

Effective date: 2026-10-29

This policy explains how this application handles information and how to contact us about privacy.

Information we process

Taia is a Thailand travel guide without user accounts. The app stores your expense titles, amounts, categories and dates, saved place identifiers, selected regions, language preference, last visited section, last sync date, and cached guide content, daily phrases and exchange rates in a SQLite database on your iPhone. If you enable optional sync and choose Sync now, the backend receives saved place identifiers and expense records. It creates a random installation secret stored in this device's Keychain and stores only a SHA-256 hash of that secret, an installation creation timestamp and the associated records on the server. A region selection is a preference, not a measurement of your location. API, public content and privacy-page requests pass through Cloudflare, which terminates public HTTPS and proxies them to the same Railway backend service. Cloudflare and Railway necessarily process connection information such as IP addresses, request time, destination and technical request details, and the request content needed to deliver the service, including installation authorization and synced records for private requests. The application server does not write request URLs, IP addresses, authorization headers or request bodies into its application access logs. Taia does not request your name, email address, precise location, microphone audio or contacts and contains no analytics or advertising SDK.

How we use information

Local records provide expense totals, editing, favorites and offline access. Language and region preferences adapt the guide. Public backend requests update editorial places, tips, daily phrases and dated exchange rates. Optional installation-scoped storage keeps a server snapshot of the favorites and expenses you choose to sync, and the secret authorizes access and deletion. The secret is not an account and does not provide cross-device sign-in or recovery. Technical request processing is needed to deliver the service, operate the hosting infrastructure and diagnose failures. Expense export opens the iOS share sheet only when you choose it; Thai pronunciation uses Apple's speech synthesis on your device.

Service providers and sharing

Cloudflare provides the public HTTPS proxy for the app API and public website and processes requests to deliver and protect this route. Railway hosts the backend and its persistent SQLite volume and processes the proxied requests as infrastructure provider. The backend fetches public THB exchange rates from Frankfurter at api.frankfurter.dev. That request contains only currency codes and ordinary server connection details, not your expenses, saved places or installation secret. The app includes no third-party analytics, advertising, login or messaging integrations. If you export expenses or copy a phrase, the destination app or clipboard receives the content you select under iOS behavior and that destination's own privacy practices. Opening the public privacy page sends an ordinary web request through Cloudflare to the same Railway service and does not require cookies or login. The contact email below is a public privacy contact, not an in-app email delivery service. We do not sell personal records.

Data retention

Local records remain until you delete them in Taia or remove the app, subject to iOS storage and device backup behavior. A Keychain secret can persist independently of the app's SQLite files; removing the app is not a reliable way to delete server records. Server snapshots remain associated with the installation until an authorized deletion request. Sync replaces the current snapshot rather than maintaining a user-visible record history. Public exchange-rate cache is not personal data. This implementation does not schedule personal-data backups or promise a fixed hosting-log retention period. Cloudflare and Railway infrastructure logs, host-managed copies or backups, if present, follow the respective provider's actual lifecycle; we do not claim an independently verified retention or deletion duration for those systems. Device backups or exported copies may outlive deletion in the active app.

Deleting your information

Settings contains Delete all personal data. When an installation secret exists, the app first requests deletion of its installation and associated server expense and favorite rows, invalidating the secret, then resets local personal records and preferences and removes the Keychain secret. If the network request fails, the app retains local records and the secret so you can retry; it does not report successful deletion. The server enables SQLite secure deletion and attempts to truncate its write-ahead log after deletion. This removes active records and access authorization; it is not a guarantee about copies already held in infrastructure backups, device backups or exports. Turning sync off stops further uploads but does not delete an existing server snapshot. Individual expenses and favorites can be removed locally and the next explicit sync replaces their server snapshot. Without the installation secret, the service cannot authenticate a request to find or recover a particular anonymous installation. For privacy questions or help with a deletion issue, contact hamish.mackinnon@icloud.com without sending your installation secret.

Permissions and your choices

Taia needs no microphone, camera, contacts, photo-library or location permission for its advertised features. It uses text addresses rather than embedded geographic maps. Speech synthesis plays phrases and does not record audio; a Thai voice may need to be available through iOS. You control the optional sync switch, region selections, language, clipboard actions and share-sheet exports. You can stop sync in Settings and use the bundled guide offline. If an iOS capability or destination app has its own permission, manage it in iOS Settings; withdrawing such permission does not automatically erase records already saved or exported. An internet connection is needed for updates, rates, sync and deletion of synced records.

Your privacy rights

Depending on your location, you may have rights to access, correct, delete or restrict processing of personal data and to contact your local data-protection authority. You can view and edit expenses, remove favorites, export the expense list and delete installation data within the app. Because there are no accounts or email identifiers, we cannot identify an installation from your name or email alone and do not promise recovery when its secret is lost. Send privacy questions or requests to hamish.mackinnon@icloud.com. Please describe the issue without including secrets or unnecessary sensitive information. We will assess requests according to applicable law and the information we can actually authenticate.

Security

The app uses HTTPS for deployed API communication, with public TLS terminated by Cloudflare and HTTPS proxying to the pinned Railway service origin, and stores the installation bearer in a device-only Keychain item accessible while the device is unlocked. The backend stores a cryptographic hash rather than the bearer itself, scopes private database operations to the authenticated installation, validates request sizes and record values, and keeps data on a persistent Railway volume. The app has no shared embedded server credential. Possession of the installation secret authorizes that installation's records, so do not disclose it. These measures reduce risk but no storage or network system can be guaranteed completely secure. Local device security, backups and destinations chosen for exports are also under your control.

Children’s privacy

Taia is a general travel utility designed for adult independent travellers and is not directed to children. It does not create accounts, request age or knowingly solicit children's personal information. Avoid entering sensitive personal information in expense titles. If you believe a child's information has been entered, use the deletion controls on the device or contact hamish.mackinnon@icloud.com to discuss the available options; anonymous installation data requires its secret for authenticated access.

Changes to this policy

We may update this policy when Taia's actual features, processing or hosting practices change. The current public version is available at this page through the Privacy Policy link in app Settings. The effective date identifies this version. Material changes will be reflected in the policy and, where appropriate, accompanying app information. The public policy does not require an account, login or cookies.