Privacy Policy, Annie Daily Journal
Effective Date: July 15, 2026
————————
1. Overview
Annie Daily Journal is a personal journaling app. Your journal entries and preferences are yours — they are stored on your device and, when iCloud is available, in your private iCloud account. Photo image files are stored on the device where they were added in the current version. Annie does not collect your personal data on developer-controlled servers or sell your personal data. There are no analytics SDKs, advertising networks, or third-party data processors in this app.
————————
2. What Data the App Stores
Annie stores the following data locally on your device. Text-based journal data can also sync to your private iCloud account if iCloud is enabled.
Journal Entry Data
Each day's entry may include:
Mood — an emoji label and numeric value you select
Tags — category labels from earlier app versions or imported data. Manual tag entry is hidden in the current app build, but stored tags are preserved.
Micro Journal moments — short text notes with timestamps you capture throughout the day
Dictated Micro Journal moments — spoken thoughts transcribed into text using Apple's speech recognition tools
Photos — images you take or select, stored as JPEG files
Vision-generated descriptions — plain-text descriptions of your photos generated on-device by Apple's Vision framework (see Section 5)
Optional saved places — if you enable Places, Annie can save an approximate or precise place snapshot with a Micro Journal moment you create
Recaps — weekly and monthly recap drafts generated from selected journal entries, if you choose to create and save them
First Draft Assistant output — the AI-generated first draft produced by Apple Intelligence from your micro-journal content, if you choose to save or edit it (see Section 4)
Entry dates and timestamps — stored as ISO 8601 date strings and Unix timestamps
Time zone — your current time zone at the time of entry creation
Custom Tags and Mood Preferences
Tags you create beyond the preset list are stored as UserTag records alongside your entries. If you customize a mood slot, Annie stores the custom emoji and label for that mood rating in a MoodPreference record.
App Preferences (UserDefaults)
The following preferences are stored in local app UserDefaults:
Reminder enabled/disabled, reminder hour and minute
Onboarding completion flag
Appearance preference (System, Light, or Dark)
Launch preferences, such as opening directly to Quick Entry or Dictate
Places preferences, such as whether new Micro Journal moments save no place, approximate places, or precise places, and whether saved places may be used in Auto Journals
Streak milestone celebration history
Private place aliases, such as labels you assign to saved places
Purchase status (isPurchased), the signed free-trial start date, and the one-time purchase confirmation flag are cached in the shared App Group UserDefaults suite (group.com.seneschal.Annie-Daily-Journal). After you start the trial through the App Store, its earliest transaction date and a monotonic last-observed date are also stored as encrypted, synchronizable Keychain items so deleting and reinstalling the app, or moving the device clock backward, does not create or revive trial access. See Section 9.
————————
3. How and Where Data Is Stored
On-Device Database
Journal entries, custom tags, mood preferences, and saved recaps are stored in a SwiftData SQLite database file named AnnieDailyJournal.store, located in the shared App Group container:
group.com.seneschal.Annie-Daily-Journal/AnnieDailyJournal.store
This container is sandboxed to Annie Daily Journal and its widget extension. No other apps can access it.
Photo Files
Photos are stored as JPEG files (full resolution and 200×200 thumbnails) inside the same App Group container:
group.com.seneschal.Annie-Daily-Journal/Photos/full/<uuid>.jpg
group.com.seneschal.Annie-Daily-Journal/Photos/thumbs/<uuid>_thumb.jpg
Photos are never uploaded to any server controlled by the developer. In the current version, the actual photo files are stored on the device where they were added and are not synced through CloudKit.
iCloud Sync (CloudKit)
If you are signed into iCloud on your device, Annie automatically syncs your journal database to your private CloudKit container:
iCloud.com.seneschal.Annie-Daily-Journal
This is a private database. Apple's CloudKit documentation describes a private database as available only when the device has an iCloud account, and only the user can access it by default. Apple encrypts iCloud data in transit and at rest according to Apple's iCloud security overview. The developer has no ability to read, access, or export your private CloudKit data.
If iCloud is unavailable (e.g., not signed in), the app falls back to local-only storage with no sync.
Text data such as entries, moods, tags, notes, recaps, photo filenames, and photo descriptions can sync through CloudKit.
The actual photo image files are stored on-device only and are not synced via CloudKit in the current version.
————————
4. Apple Intelligence — On-Device AI Generation
Annie uses Apple's FoundationModels framework (SystemLanguageModel) to generate first-draft journal entries and optional weekly/monthly recaps from your saved journal content. These features require Apple Intelligence to be available on the device.
Key facts:
Language model inference runs through Apple's on-device FoundationModels API. Annie does not send your journal content to any developer-operated server or third-party AI service.
For a daily first draft, the local prompt can include your micro-journal text, timestamps, mood, tags, and any Vision-generated photo descriptions from that day's entry.
The daily first-draft prompt can also include limited recent continuity context from the previous few days when today's text contains matching cues, such as "still here" or "the hotel."
If enabled in Settings, prompts may also include saved place labels as light scene-setting context. User-written text remains the primary evidence.
For weekly and monthly recaps, the local prompt can include selected daily entries, saved weekly recaps, mood metadata, tags, notes, micro-journal text, photo descriptions, and optional saved place labels.
Apple Intelligence availability is checked locally via SystemLanguageModel.default.availability. If a feature is unavailable on your device, the generation control is hidden or disabled.
————————
5. Vision Framework — On-Device Photo Analysis
When you attach a photo to a journal entry, Annie uses Apple's Vision and VisionKit frameworks to generate a plain-text description of the image. This description is used to make photos searchable and to give Apple Intelligence context when generating your journal.
The analysis includes:
VNRecognizeAnimalsRequest — detects animals (e.g., dogs, cats)
VNClassifyImageRequest — classifies general scenes and objects
ImageAnalyzer (VisionKit) — reads any text visible in the photo (OCR)
Key facts:
All image analysis runs entirely on your device using Apple's on-device Vision models. Your photos are never sent to any server for analysis.
The generated description (e.g., "dog, outdoor scene, text: 'Open'") is stored as a plain-text string alongside your journal entry in the local database.
If analysis produces no results, an empty string is stored and the photo is still saved normally.
————————
6. Apple Speech Recognition — Dictated Micro Journal Moments
When you choose to dictate a Micro Journal moment, Annie uses Apple's Speech and AVFoundation frameworks to turn your spoken words into text.
Key facts:
Dictation is user-initiated. Annie does not listen in the background.
Annie requires on-device speech recognition for this feature. If on-device recognition is unavailable for your device or language, dictation is not started.
Annie saves the resulting transcript as journal text. Audio recordings are not saved by default.
No third-party transcription service is used.
You can revoke microphone or speech recognition access at any time in system Settings.
————————
7. Local Notifications
Annie uses local notifications only — no push notification servers or remote messaging services are used.
Reminder notifications are scheduled entirely on-device using Apple's UserNotifications framework, up to 60 days at a time.
Notification content (reminder text, your current streak count) is generated locally and never transmitted.
Notification action buttons (Good / Baseline / Low by default, or your customized mood labels) write your mood selection directly to the local SwiftData database without any network call.
Your preferred reminder time (reminderHour, reminderMinute) is stored in local UserDefaults only.
————————
8. Camera, Microphone, Speech, Photo Library, and Location Access
Annie requests access to your camera, microphone, speech recognition, photo library, and location only when you choose to use the related feature.
Camera — used to capture a new photo in-app. The captured image is saved to Annie's App Group container and also written to your Photos library by the current camera capture flow.
Microphone — used only while you are actively dictating a Micro Journal moment.
Speech Recognition — used to transcribe dictated Micro Journal moments into text using Apple's speech recognition tools.
Photo Library — used via Apple's system photo picker, which gives Annie access only to the specific photo you select. Annie does not request broad access to your photo library.
Location — optional. If you turn on Places in Settings, Annie requests while-in-use location permission and can save a single place snapshot when you add a new Micro Journal moment. Annie does not request background location access, does not track routes in the background, and does not save live location history.
Apple Maps reverse-geocoding — when Places is enabled, Annie can ask Apple's MapKit service to turn the captured location into a private place label such as a venue, city, region, or country. This request is handled by Apple, not by the developer or a third-party mapping service. If no label is returned, Annie can still save the coordinate snapshot.
When you choose Approximate, or when iOS only grants reduced accuracy, Annie stores generalized coordinates and place labels. When you choose Precise and iOS grants full accuracy, Annie can store precise coordinates for that saved journal moment. If you rename a place, Annie stores that private label locally and reuses it for matching saved places. You can remove a saved place from an individual moment.
For fresh Micro Journal moments created from Apple Watch, the paired iPhone may make the same short place-capture attempt when it receives the Watch entry if Places is enabled. Annie does not keep location active while waiting for Watch entries, and delayed Watch transfers remain without a saved place rather than using the phone's later location.
These permissions are governed by the platform's standard permission system. You can revoke them at any time in Settings → Privacy & Security (iOS/iPadOS) or System Settings → Privacy & Security (macOS).
————————
9. In-App Purchase
Annie offers a free, non-consumable 7-day trial product (com.seneschal.Annie_Daily_Journal.trial7day) and a one-time lifetime unlock (com.seneschal.Annie_Daily_Journal.lifetime).
All payment processing is handled entirely by Apple's App Store via StoreKit 2. The developer never sees or stores your payment information.
The trial does not begin when you install or open the app. It begins only after you choose Start 7-Day Trial and confirm the free product through Apple's App Store interface. It is not a subscription and creates no automatic charge.
Annie verifies the signed free-trial transaction and uses its original purchase date as the trial start. The App Store retains that non-consumable transaction across deletion, reinstallation, and supported devices using the same Apple Account, so the same trial cannot be started again.
Annie caches a boolean purchase flag and signed trial start date in App Group UserDefaults so the app and its widget can make the same access decision.
Annie stores the earliest verified trial date and a monotonic last-observed date in encrypted, synchronizable Apple Keychain items. The second date prevents moving the device clock backward from reviving expired access. If iCloud Keychain is enabled, Apple may synchronize these items among devices signed in to the same Apple Account. The developer cannot access them.
Annie verifies the lifetime unlock against your current StoreKit entitlements and listens for transaction changes such as purchases or revocations. Trial, purchase, and transaction communication is between the app and Apple's App Store systems; Annie has no developer-operated purchase server.
The iPhone sends only the resulting access state, trial date, and verified evaluation timestamp to the paired Apple Watch through Apple's WatchConnectivity framework. The Watch uses that state plus its own encrypted Keychain monotonic clock floor to determine whether paid Watch features are available. A fresh Watch install remains locked until it receives state from the paired iPhone.
————————
10. Data Export
Annie provides two built-in export options, accessible from Settings:
Export JSON — generates a .json file containing entry data: date, mood, mood value, tags, legacy micro-journal text, richer micro-entry metadata, moment timestamps, moment types, local photo filenames, photo descriptions, optional saved place metadata, note, and created/updated timestamps. Photo image bytes, recaps, mood preferences, and standalone custom tag definitions are not included. The file is written to your device's temporary directory and shared via the system share sheet. You control where it goes.
Import JSON — reads an Annie JSON export file you choose through the system file picker. Existing entries with user data are skipped rather than overwritten. Imported photo metadata can only show an image if the referenced local image file already exists on that device.
Export PDF — generates a formatted PDF of entries within a date range you select, rendered entirely on-device using UIGraphicsPDFRenderer. When a local photo file is available, it can be included in the PDF. The file is written to the temporary directory and shared via the system share sheet.
Neither export is uploaded to any server. You decide what to do with the file once it leaves the share sheet.
————————
11. Data Deletion
To delete your data:
Delete a micro-journal moment — swipe or use the context menu on a text or photo moment. Associated photo files are deleted from the App Group container after the undo window expires.
Turn Places off — go to Settings → Places → Off. This stops future location capture but does not silently delete places already saved with older moments.
Delete all data — go to Settings → Delete All Data within the app. This removes all JournalEntry records from the SwiftData store, including saved place metadata attached to those entries, and clears local private place labels. Photo files and related records such as custom tags, mood preferences, recaps, purchase defaults, and other app preferences are not deleted by this command in the current version.
Delete the app — uninstalling Annie Daily Journal removes the local App Group container and all its contents, including the SwiftData database and all stored photos. iCloud data in your private CloudKit container can be deleted from Settings → [your name] → iCloud → Manage Account Storage → Annie Daily Journal → Delete Data. The encrypted Keychain trial dates and Apple's signed free-trial transaction are intentionally not reset by uninstalling; reinstalling Annie does not provide a second free trial.
————————
12. Data Shared With Third Parties
Annie does not share your data with any third party. Specifically:
Category
Status
Analytics / telemetry SDKs
None
Advertising networks
None
Crash reporting services
None
Social media integrations
None
Marketing or email platforms
None
External AI / ML APIs
None — all AI is on-device
The external Apple systems involved are iCloud/CloudKit for private database sync, App Store/StoreKit for purchase processing, and optional Apple Maps/MapKit reverse-geocoding when Places is enabled. On-device speech recognition, Apple Intelligence, and Vision processing remain on the device. These Apple services are governed by Apple's Privacy Policy. Apple's App Store Connect guidance also states that developers are responsible for keeping app privacy responses accurate and up to date.
————————
13. Children's Privacy
Annie Daily Journal does not knowingly collect data from children under 13. The app contains no features designed to collect personal information from minors.
————————
14. Changes to This Policy
If this policy changes in a material way, the updated version will be made available on the app's App Store page prior to the update shipping. The effective date at the top of this document will be updated accordingly.
————————
15. Contact
To contact, please fill out the form at the bottom of the Support Page.