Privacy Policy
Effective date: 27 October 2026
Journily is developed by Klejdi Hoxha. This policy explains how the app and journiapp.io handle your information. For privacy questions or deletion help, contact support@journiapp.io.
1. Your journal and local storage
Journily has no public social feed or in-app ads. We do not sell your journal content. Trip chapters, journal text, country and region choices, passport stamps, photo copies and saved audio are stored in the app’s storage on your device. You can use the core journal without a Journily account.
Keeping a journal locally is separate from the network requests used for account services, AI, backup, analytics, diagnostics and purchases. Local storage alone does not move your scrapbook to another phone. Exporting opens your device’s share sheet; any files you save or send outside the app are then controlled by you and the destination you choose.
Map countries are marked manually; Journily does not continuously record background GPS routes. Country labels in usage events and approximate location derived by service providers are separate from GPS route tracking.
2. Accounts and cloud backup
When you sign in using email, Google or Apple, Firebase Authentication processes your sign-in details and account identifiers. These identifiers connect eligible services to your account.
Cloud backup requires a Journily account and Premium. Auto-Sync is enabled by default in the app profile, so an eligible signed-in account can back up changes automatically. Review Auto-Sync in Profile’s Cloud Backup section; you can turn it off and use Backup Now manually.
A backup can include your profile and settings, trips, journal entries, map choices and stamps, saved recaps, photos and audio. Firebase stores the backup and associated media so the app can restore them to your device. Switching Auto-Sync off stops future automatic backups; it does not remove an existing cloud copy. Manual Backup Now and restore actions also use the cloud.
3. AI processing
When you request online AI features, relevant information is sent through Journily’s authenticated Firebase service to OpenAI. Depending on the feature, that can include trip details, journal text, captions and selected photos, audio for transcription, or text for spoken narration.
AI recaps, prompts, captions, transcription and narration use different inputs. Relevant trip details can include the trip title, country, mood, companions, journal excerpts and photo or ticket captions. Generated results can be saved back into your local scrapbook and included in a later cloud backup.
OpenAI states that API data is not used for model training by default unless the API account explicitly opts in to sharing. Provider retention and abuse-monitoring rules still depend on the API feature and account controls. See OpenAI’s API data controls for those rules.
The AI backend also maintains account-linked request counts and a hash of the request IP address to limit abuse. Those operational records are separate from the journal backup. The app can offer an on-device fallback when an online request is unavailable; choosing an online feature can still send its inputs before a fallback is used.
4. App usage and diagnostics
The mobile app uses Firebase Analytics for usage events and Firebase Crashlytics for error reports. Events can include actions, country and mood labels, trip identifiers, device information and technical error context. The event design does not include journal text, photo files or audio recordings.
These services can also process app-instance identifiers, app and operating-system versions, device characteristics and other service metadata under their own rules. The app initializes these services separately from the website’s analytics choice. Declining website analytics does not disable mobile app analytics or crash reporting.
Read Firebase’s privacy and security information and Google’s privacy policy for provider details.
5. Purchases and Premium access
Apple or Google handles in-app transactions. RevenueCat processes purchase history, transaction or receipt information and app-user identifiers to validate purchases, restore access and manage Premium entitlements. For signed-in users, the app can associate Premium access with the Firebase account identifier; anonymous purchase identifiers can be used before sign-in.
Journily does not ask you to enter card details in the app. Store purchase history and RevenueCat records are separate from the scrapbook backup. See RevenueCat’s privacy policy, Apple’s privacy policy and Google’s privacy policy.
6. Optional website analytics
On journiapp.io, we use Google Analytics only after you choose Allow analytics. It measures page visits, clicks on App Store and Google Play download buttons, and clicks on the sample-album PDF link so we can understand how visitors find the website and which pages help them explore the app. A click does not confirm that a PDF finished downloading, or that you installed the app or subscribed.
When enabled, Analytics processes information such as the page visited, referring website, campaign labels, device and browser information, and approximate location. We do not send journal entries, photos, account email addresses, or other app content through website analytics. We disable Google advertising signals and advertising personalization in our website tag.
Optional Analytics cookies use names beginning with _ga and are configured to expire after 180 days without extending on each visit. We remember your accept or decline choice in your browser for up to 180 days. If you decline or have not chosen, the Google Analytics tag is not loaded. You can change your choice using Analytics settings at the bottom of any page. Withdrawing consent removes these Analytics cookies and reloads the page to stop the tag.
Our download links also carry fixed campaign labels identifying the source website and broad page group. Apple and Google process visits to their own stores under their respective privacy policies, even when website analytics is declined. These labels contain no journal content or personal account identifiers.
Read Google’s privacy policy, Apple’s privacy policy, and Google’s Analytics opt-out information. For questions about website analytics, contact support@journiapp.io.
7. Retention, exports and deletion
Local memories stay in the app’s storage until you delete them or remove the app’s data. Device backup or restore services may keep separate copies under your device settings. Cloud scrapbook data remains until it is replaced or deleted through the relevant cloud-data controls.
The app offers cloud-data and account-deletion controls. Account deletion can require a recent sign-in, and network or service errors can prevent deletion from completing. If you encounter an error or need confirmation, contact support@journiapp.io.
Uninstalling the app does not delete a cloud backup or store purchase history. The account-deletion flow does not automatically remove every operational record, including separate AI usage/security records, diagnostics or records held by purchase providers. Exported PDFs, shared files and copies stored by recipients are outside the app’s deletion controls. Contact us for questions or requests about these separate records.
8. Hosting, external services and contact
Firebase provides app account, backend, cloud-storage and diagnostic services; OpenAI processes online AI inputs; RevenueCat manages purchase entitlements; Apple and Google provide their store and sign-in services. Providers can process data internationally according to their infrastructure, settings and terms.
The website uses Firebase Hosting and Google Fonts. Hosting and font services can receive IP addresses and request metadata when a page loads, independently of optional Google Analytics. External avatar images and links in the app can also contact their hosting services when used.
For a shorter explanation of your choices, see the private travel diary guide. For privacy questions, data requests or deletion help, email support@journiapp.io.