Travelet is a local-first travel expense tracker. Your trips, expenses, receipt photos, and budgets live on your device and sync between your iPhones via your iCloud. We do not run accounts, we do not track you, and we do not see your spending.
1. Information We Collect
Information You Provide
- Trip and expense data — trip names, dates, budgets, currencies, and the expenses you log (amount, currency, category, date, optional title, note, merchant). Stored locally on your device using Apple's SwiftData framework.
- Receipt photos — when you scan a receipt, the captured image is sent to our backend proxy for AI extraction (see Section 3) and is not retained by Travelet on disk after extraction completes.
- Voice input — when you dictate an expense, the speech is recognized on-device by iOS Speech framework. The resulting transcript may be sent to our backend proxy for AI parsing into structured data.
- Location data — if you grant location permission, the app reads your current GPS coordinates (on-device) to suggest places when adding an expense and to plot expenses on the map. Coordinates are stored only with the expenses you choose to save.
Information Collected Automatically
- Anonymous device identifier — a randomly generated UUID created on first launch and stored in the iOS Keychain on your device. This identifier is sent with backend requests for the sole purpose of rate-limiting AI scans per device. It is not linked to your name, email, Apple ID, or any other personal identifier.
- StoreKit purchase records — when you buy an in-app scan pack, Apple processes the transaction and the resulting receipt is validated locally. Purchase metadata stays between you and Apple.
Information We Do NOT Collect
- We do not collect your name, email address, phone number, or physical address.
- We do not require an account or login of any kind.
- We do not collect analytics, usage statistics, or telemetry data.
- We do not use advertising frameworks or third-party tracking SDKs.
- We do not access your contacts, photos library, calendar, or other device data outside of the receipt camera and the location services you explicitly grant.
- We do not store your trip details, expenses, receipt images, voice transcripts, or location history on our servers.
2. How We Use Information
| Data | Purpose | Stored Where |
|---|---|---|
| Trips and expenses | Run the app's core functionality | Device only (SwiftData) + your iCloud |
| Receipt photos | AI extraction during the scan flow | Sent to backend proxy, not retained |
| Voice transcript | Parse spoken expense into fields | Sent to backend proxy, not retained |
| Location coordinates | Suggest place, plot expense on map | Device only, attached to the expense you save |
| Home currency preference | Convert foreign expenses for the dashboard | Device only (UserDefaults) |
| Anonymous device UUID | Rate-limit AI scans per device | Device Keychain + transient backend log |
3. Backend Proxy and AI Processing
Travelet uses a small backend service operated by NexoLab as a proxy to large language model (LLM) providers for two specific tasks:
- Receipt scan — the captured image is forwarded to a third-party vision model (Google Gemini or Anthropic Claude) which returns the structured data (merchant, total, line items, currency, date). The image is not persisted by our backend.
- Voice expense parsing — the speech transcript is forwarded to a third-party text model (Anthropic Claude) which returns the structured fields (amount, currency, merchant, category). The transcript is not persisted by our backend.
The backend logs only minimal request metadata (timestamp, anonymous device UUID, success/failure, model usage tokens) for the purposes of rate-limiting and operational monitoring. These logs are periodically purged.
Currency exchange rates are fetched directly from frankfurter.app, a public European Central Bank rate API. Travelet's backend is not involved in those calls.
4. Data Shared with Third Parties
iCloud (Apple)
If you are signed into iCloud on your device, Travelet syncs your trips and expenses across your iPhones via Apple's CloudKit service. The data is stored in your private iCloud database, encrypted by Apple. We do not have access to it. Apple's handling of iCloud data is governed by Apple's Privacy Policy.
LLM Providers
Receipt images and voice transcripts are processed by Anthropic and/or Google Gemini, depending on which model is currently configured. These providers process the data only to fulfill the immediate request and do not use it to train their general models when accessed through their commercial APIs (per the providers' enterprise data usage policies).
frankfurter.app
Currency conversion rates are fetched directly from frankfurter.app. The requests contain only currency codes — no user data is sent.
No Other Third Parties
We do not share, sell, rent, or trade any of your data with any other third parties. We do not use third-party analytics, advertising, or tracking services.
5. Data Security
- All on-device data is protected by iOS file-system encryption (active when your device has a passcode set).
- The anonymous device UUID is stored in the iOS Keychain, which provides hardware-backed encryption.
- All network communication uses HTTPS (TLS 1.2 or later).
- iCloud sync data is encrypted in transit and at rest by Apple.
6. Data Retention
- On-device data — stored as long as the App is installed. Deleting the App removes all local data.
- iCloud sync data — managed by your iCloud account. Removing the App from all your devices and disabling iCloud for Travelet removes the synced data from your iCloud database.
- Backend logs — minimal request metadata is retained for operational purposes and periodically purged. No request payloads (images, transcripts) are retained.
7. Children's Privacy
The App is not directed at children under the age of 13 (or the applicable age in your jurisdiction). We do not knowingly collect personal information from children.
8. Your Rights
Since we do not collect personal information linked to your identity, there is generally no personal data to access, correct, or delete on our side. However:
- You can delete all on-device and iCloud data by uninstalling the App from all your devices and disabling iCloud for Travelet.
- You can revoke camera, microphone, and location permissions at any time in iOS Settings.
- For any data-related requests, contact us at support@nexolab.pl.
9. EU / UK GDPR Rights
If you reside in the European Economic Area, the United Kingdom, or Switzerland, the General Data Protection Regulation (GDPR) gives you additional rights regarding the limited backend-side data we process about your installation (the anonymous device UUID and the in-transit OCR/voice payloads described in Section 3).
Data Controller
NexoLab — Igor Barkowski
Gdańsk, Poland
Email: support@nexolab.pl
Legal Basis for Processing
- Anonymous device UUID, rate limiting, AI receipt and voice processing — legitimate interest (Article 6(1)(f) GDPR) in operating, securing, and abuse-proofing the service.
- In-app purchases and credit grants — performance of a contract (Article 6(1)(b) GDPR), specifically the Terms of Use you accept when purchasing.
- Local device data (trips, expenses, photos, location) — not processed by us. The data remains on your device and, if you enable iCloud, in your private iCloud database to which only Apple has technical access as a processor.
Your Rights Under GDPR
You have the right to:
- Access (Art. 15) — request a copy of the data we hold tied to your anonymous device UUID.
- Rectification (Art. 16) — request correction of any inaccurate data.
- Erasure (Art. 17) — request deletion of the backend records tied to your device UUID.
- Restriction of Processing (Art. 18) — request that we stop processing your data in certain circumstances.
- Data Portability (Art. 20) — request your data in a structured, machine-readable format.
- Objection (Art. 21) — object to processing based on legitimate interest.
Because we do not maintain user accounts, exercising these rights requires you to provide your anonymous device UUID (visible in the App under Settings → About). Send the UUID and your request to support@nexolab.pl; we respond within 30 days as required by Article 12(3) GDPR.
Right to Lodge a Complaint
You have the right to file a complaint with a supervisory authority if you believe your data has been handled in violation of the GDPR. The competent authority for Poland is:
- Urząd Ochrony Danych Osobowych (UODO)
- ul. Stawki 2, 00-193 Warszawa, Poland
- https://uodo.gov.pl
Residents of other EEA/UK countries may instead contact their national data protection authority.
International Transfers
The AI providers we proxy to (Anthropic, Google) operate outside the European Economic Area. Transfers rely on the European Commission's Standard Contractual Clauses or other approved transfer mechanisms maintained by those providers.
10. Changes to This Policy
We may update this Privacy Policy from time to time. Changes will be posted within the App or on our website. The "Last updated" date at the top reflects the most recent revision.
11. Contact Us
If you have questions about this Privacy Policy, contact us at:
- Email: support@nexolab.pl
- Support: Travelet Support
Apple and the Apple logo are trademarks of Apple Inc., registered in the U.S. and other countries. App Store is a service mark of Apple Inc.