Privacy Policy for Serendipity Diary

Effective date: 2026-07-05

Serendipity Diary is an offline-first, privacy-focused diary and journaling app. It lets you write diary entries with a Markdown editor, mark each entry with a mood, the weather, a place label you type yourself, and tags, add photos, videos, and audio, look back on a calendar and in a searchable timeline, pin important entries, reuse your own templates, keep statistics and achievements about your writing streaks, and recover deleted entries from a trash. You can optionally use an AI writing assistant with your own API key, sync your diary through your own cloud account, back it up to your own WebDAV server or a local file, move it between your devices over your local Wi-Fi network, lock the app behind device authentication, move sensitive entries into a hidden Privacy Space, and upgrade to an optional subscription or one-time purchase that unlocks premium features and removes advertisements. This Privacy Policy applies to the Serendipity Diary mobile application on every platform where it is distributed and explains what information the app may process when you use it, how that information is used, and the choices you have.

Serendipity Diary does not require an account to write your diary and does not ask for your name, phone number, or precise location. Your diary entries, photos, videos, audio, settings, and purchase status are kept in private app storage and a local database on your device. We do not operate a backend server and never receive a copy of your diary. Some optional features that you turn on do send the specific content you choose to third parties that you select — the AI provider you configure for the writing assistant, your own cloud account for sync, or your own WebDAV server for backups — as described below.

1. Information We Collect

1.1 Diary content stored on your device

When you create or edit a diary entry, Serendipity Diary writes the entry's Markdown content, its title and a short preview, a search index derived from the text, the mood and weather you pick, the place label you type, any tags, pin and template flags, its status (active or in the trash), timestamps, and your writing statistics and achievements into the app's local database and private file storage on your device. Photos, videos, and audio you add to an entry are stored as files in the same private storage. The optional profile you can fill in on the "Mine" tab — a nickname, a signature line, and an avatar image — is also stored only on your device and is not an account. This local content is used so the app can render your timeline and calendar, search your diary, and keep working fully offline. Entries you delete move to the trash and are removed permanently after 30 days (or immediately, if you empty the trash yourself); uninstalling the app removes the local database and the app's private files.

The place label on a diary entry is text that you type or pick from labels you used before. Serendipity Diary does not request any location permission and never reads GPS or other device-location data.

1.2 Camera and microphone

1.2 Camera

1.2 Camera and microphone

If you choose to add a photo or a video clip to an entry by capturing one, Serendipity Diary uses the camera — and, while recording a video, the microphone for the video's audio track. The captured file is saved only into the app's private storage as described in section 1.1. Camera frames and recorded audio are processed on your device and are never streamed or uploaded to a server we operate. The camera and microphone are optional — you can also add media from your photo library or files, and the app works without them.

If you choose to add a photo or a video clip to an entry by capturing one, Serendipity Diary uses the camera. The captured file is saved only into the app's private storage as described in section 1.1. Camera frames are processed on your device and are never streamed or uploaded to a server we operate. The camera is optional — you can also add media from your photo library or files, and the app works without it.

If you choose to add a photo or a video clip to an entry by capturing one, Serendipity Diary uses the camera — and, on iOS, the microphone while recording a video for the video's audio track. The captured file is saved only into the app's private storage as described in section 1.1. Camera frames and recorded audio are processed on your device and are never streamed or uploaded to a server we operate. The camera is optional — you can also add media from your photo library or files, and the app works without it.

1.3 Photo library and media files

You can add existing photos and videos from your photo library to an entry; iOS asks for photo-library access the first time you use this feature. You can also attach audio and other media through the system document picker. Imported media are copied into the app's private storage and are processed only on your device; they are never uploaded by Serendipity Diary.

You can add existing photos and videos to an entry. Choosing them uses the system Photo Picker, so Serendipity Diary does not request broad access to your media library. You can also attach audio and other media through the system file picker. Imported media are copied into the app's private storage and are processed only on your device; they are never uploaded by Serendipity Diary.

You can add existing photos and videos to an entry. On iOS this uses photo-library access; on Android it uses the system Photo Picker, so the app does not request broad access to your media library. You can also attach audio and other media through the system file picker. Imported media are copied into the app's private storage and are processed only on your device; they are never uploaded by Serendipity Diary.

1.4 AI writing assistant

The AI writing assistant is optional and is off until you enable it by adding your own API key for a provider you choose — DeepSeek, Doubao (Volcano Engine Ark), Qwen (Alibaba Cloud DashScope), OpenAI, or Google Gemini. When you run an AI action on a diary entry (for example polish, rewrite, expand, shorten, summarize, fix grammar, change tone, continue writing, generate a title, extract key points, extract to-dos, or translate), the text you act on is sent over an encrypted connection directly from your device to the official API endpoint of the provider you selected, authenticated with your own API key, and the generated result is returned to your device.

Serendipity Diary does not operate an AI backend and does not receive, store, log, or proxy your prompts or the AI output on any server of ours. The processing is performed by the provider you chose, under that provider's own terms and privacy policy. Your API keys are stored only in your device's system secure storage (the iOS Keychain or the Android Keystore) and are transmitted only to that provider's matching endpoint. If you do not enable the assistant, no diary content is sent to any AI provider.

1.5 Cloud sync

Cloud sync is optional and off by default. If you turn it on, you choose a destination and connect it, and Serendipity Diary stores your diary entries, tags, and media attachments there as compressed files so they can roam between your devices:

Cloud sync is optional and off by default. If you turn it on, you connect your Google account, and Serendipity Diary stores your diary entries, tags, and media attachments in Google Drive as compressed files so they can roam between your devices:

Cloud sync is optional and off by default. If you turn it on, you choose a destination and connect it, and Serendipity Diary stores your diary entries, tags, and media attachments there as compressed files so they can roam between your devices:

We do not operate any sync server and never receive a copy of your diary. Synced content is transmitted over the operating system's encrypted transport to your own cloud account and is then subject to that cloud provider's terms and privacy policy. Entries you moved into the Privacy Space are not included in cloud sync (see section 1.9). You can disconnect cloud sync at any time in the app's settings.

1.6 WebDAV backup

You can optionally back up your diary to a WebDAV server of your own choosing (for example a NAS or a storage service you subscribe to). When you use this feature, Serendipity Diary uploads a complete backup archive — your entries, tags, and settings, optionally including media files — directly from your device to the server address you configure, and can list and restore those archives later. The server address, account name, and password you enter are stored only in your device's system secure storage (the iOS Keychain or the Android Keystore) and are transmitted only to that server. We recommend using an HTTPS server address; the connection security of a WebDAV backup depends on the server you choose. We do not operate the server and never receive a copy of your backups.

1.7 Local backup, export, and sharing

You can create a complete backup archive of your diary (optionally including media files) and store or send it anywhere you choose through the system share sheet, then restore it later on the same or another device by picking the file with the system file picker. You can also export a single entry as a plain-text or Markdown file, export all entries at once as an archive of Markdown files, and share an entry as text through the system share sheet (very long entries are handed over as a text file). In all of these cases the content goes only to the location or the app you explicitly choose; Serendipity Diary hands the content to the system and does not upload your diary to any server we operate.

1.8 Nearby device transfer

You can move your diary to another device running Serendipity Diary over your local Wi-Fi network. Devices find each other through the system's Bonjour service discovery — iOS asks for the local-network permission the first time — and the data travels directly from one device to the other inside your local network. It is not routed through the internet or any server we operate. The transfer runs only while you keep the feature open on both devices.

You can move your diary to another device running Serendipity Diary over your local Wi-Fi network. Devices find each other through the system's network service discovery, and the data travels directly from one device to the other inside your local network. It is not routed through the internet or any server we operate. The transfer runs only while you keep the feature open on both devices.

You can move your diary to another device running Serendipity Diary over your local Wi-Fi network. Devices find each other through the system's service discovery (Bonjour on iOS, network service discovery on Android; iOS asks for the local-network permission the first time), and the data travels directly from one device to the other inside your local network. It is not routed through the internet or any server we operate. The transfer runs only while you keep the feature open on both devices.

1.9 App lock and Privacy Space

You can optionally lock Serendipity Diary so it asks for Face ID, Touch ID, or your device passcode before your diary can be opened. Authentication is performed entirely by the operating system; Serendipity Diary only receives a success or failure result and never sees your biometric data or passcode. While the app lock is enabled, the app also covers its content the moment it leaves the foreground, so your diary is not visible in the app switcher.

You can optionally lock Serendipity Diary so it asks for your biometric (such as fingerprint or face) or device credential before your diary can be opened. Authentication is performed entirely by the operating system; Serendipity Diary only receives a success or failure result and never sees your biometric data or device credential. While the app lock is enabled, the app also asks the system to hide its content from the recent-apps screen and to block screenshots and screen recording.

You can optionally lock Serendipity Diary so it asks for your device biometrics or passcode (Face ID, Touch ID, fingerprint, or device credential) before your diary can be opened. Authentication is performed entirely by the operating system; Serendipity Diary only receives a success or failure result and never sees your biometric data or passcode. While the app lock is enabled, the app also hides its content from the app switcher (and on Android additionally blocks screenshots and screen recording).

Separately, you can move selected entries into a hidden Privacy Space. Those entries are kept in a separate local database, disappear from the regular timeline and search, are never included in cloud sync, and reappear only when you type your secret keyword into the search box. You can additionally protect the Privacy Space with its own passcode; that passcode is stored only as a salted hash in your device's system secure storage, and the keyword is stored in local settings. Both stay on your device — we cannot read or recover them for you, so please keep them somewhere safe.

1.10 Advertising data

While you have not upgraded to premium, Serendipity Diary displays advertisements through Google AdMob (app-open, interstitial, rewarded, and native in-feed ad formats) to keep the app free to use. Google AdMob and its partners may collect and process information such as your Identifier for Advertisers, device information (model, operating system, language), coarse location derived from IP address, and interaction data (ad views, clicks). Serendipity Diary shows the App Tracking Transparency prompt before any cross-app tracking identifier is requested, and presents the Google User Messaging Platform consent form before any ad is requested where regional regulations require it. This processing is performed by Google according to Google's own advertising and privacy policies, and you can limit or reset your advertising identifier at any time from your device's system settings (see section 4). Premium members do not see advertisements.

While you have not upgraded to premium, Serendipity Diary displays advertisements through Google AdMob (app-open, interstitial, rewarded, and native in-feed ad formats) to keep the app free to use. Google AdMob and its partners may collect and process information such as your Advertising ID, device information (model, operating system, language), coarse location derived from IP address, and interaction data (ad views, clicks). Serendipity Diary presents the Google User Messaging Platform consent form before any ad is requested where regional regulations require it. This processing is performed by Google according to Google's own advertising and privacy policies, and you can limit or reset your Advertising ID at any time from your device's system settings (see section 4). Premium members do not see advertisements.

While you have not upgraded to premium, Serendipity Diary displays advertisements through Google AdMob (app-open, interstitial, rewarded, and native in-feed ad formats) to keep the app free to use. Google AdMob and its partners may collect and process information such as your advertising identifier (Apple's Identifier for Advertisers on iOS, or the Advertising ID on Android), device information (model, operating system, language), coarse location derived from IP address, and interaction data (ad views, clicks). On iOS, Serendipity Diary shows the App Tracking Transparency prompt before any cross-app tracking identifier is requested. Serendipity Diary also presents the Google User Messaging Platform consent form before any ad is requested where regional regulations require it. This processing is performed by Google according to Google's own advertising and privacy policies, and you can limit or reset your advertising identifier at any time from your device's system settings (see section 4). Premium members do not see advertisements.

1.11 In-app purchases

Serendipity Diary offers optional premium access as auto-renewing subscriptions (monthly and annual) and a one-time lifetime purchase. Transactions are processed by the Apple App Store. Serendipity Diary does not receive your payment method, billing address, or any personally identifying information from Apple. It only receives the purchase identifier and the product identifier, which are stored locally so the app can unlock premium and hide advertisements without contacting any backend. You can restore your purchase on any device signed in to the same Apple ID by tapping "Restore Purchases".

Serendipity Diary offers optional premium access as auto-renewing subscriptions (monthly and annual) and a one-time lifetime purchase. Transactions are processed by Google Play. Serendipity Diary does not receive your payment method, billing address, or any personally identifying information from Google. It only receives the purchase identifier and the product identifier, which are stored locally so the app can unlock premium and hide advertisements without contacting any backend. You can restore your purchase on any device signed in to the same Google account by tapping "Restore Purchases".

Serendipity Diary offers optional premium access as auto-renewing subscriptions (monthly and annual) and a one-time lifetime purchase. Transactions are processed by the platform store (Apple App Store on iOS, Google Play on Android). Serendipity Diary does not receive your payment method, billing address, or any personally identifying information from the store. It only receives the purchase identifier and the product identifier, which are stored locally so the app can unlock premium and hide advertisements without contacting any backend. You can restore your purchase on any device signed in to the same store account by tapping "Restore Purchases".

2. How We Use Information

3. We Do Not Collect

Serendipity Diary does not request, collect, or transmit to us:

Your diary never reaches a server we operate. Diary content leaves your device only through features you use: the AI assistant (sent to the AI provider you configured, section 1.4), cloud sync (stored in your own cloud account, section 1.5), WebDAV backups (stored on the server you configure, section 1.6), local backups, exports, and shares that you direct (section 1.7), and nearby device transfer inside your local network (section 1.8).

4. Advertising and Google AdMob

Serendipity Diary uses Google AdMob to show advertisements in the free tier. Depending on your region and device settings, AdMob may use your Identifier for Advertisers to deliver personalized or non-personalized advertising, to measure ad performance, and to prevent fraud. Serendipity Diary shows the App Tracking Transparency prompt before AdMob is allowed to access the Identifier for Advertisers, and presents the Google User Messaging Platform consent form before any ad is requested where regional regulations require it. You can limit ad personalization or reset your advertising identifier at any time from your device's system settings.

Serendipity Diary uses Google AdMob to show advertisements in the free tier. Depending on your region and device settings, AdMob may use your Advertising ID to deliver personalized or non-personalized advertising, to measure ad performance, and to prevent fraud. Serendipity Diary presents the Google User Messaging Platform consent form before any ad is requested where regional regulations require it. Ad behavior is also governed by your device's ad personalization setting and Google AdMob's own regional policies. You can limit ad personalization or reset your Advertising ID at any time from your device's system settings.

Serendipity Diary uses Google AdMob to show advertisements in the free tier. Depending on your region and device settings, AdMob may use your advertising identifier to deliver personalized or non-personalized advertising, to measure ad performance, and to prevent fraud. On iOS, Serendipity Diary shows the App Tracking Transparency prompt before AdMob is allowed to access the Identifier for Advertisers. Serendipity Diary also presents the Google User Messaging Platform consent form before any ad is requested where regional regulations require it. You can limit ad personalization or reset your advertising identifier at any time from your device's system settings.

Where the consent form applies in your region, you can revisit and change your advertising consent at any time from the app's settings ("Privacy Options").

You can limit ad tracking at any time from your device settings:

For further details, please see:

5. AI Providers

The AI writing assistant is optional and works only after you add your own API key for a provider you choose. When you run an AI action, the text you act on is sent over an encrypted connection directly from your device to that provider's official endpoint, and is processed by the provider under its own terms and privacy policy. Serendipity Diary has no AI server and does not receive or retain your prompts or results. The available providers and their endpoints are:

You are responsible for obtaining and safeguarding your API key and for any usage or charges associated with it. You can review the relevant provider's policies before enabling the assistant (see section 16).

6. Sharing of Information

We do not sell your personal information. Depending on the features you use, information may be processed by:

7. Data Retention

Local content such as your diary entries, media, profile, settings, and premium status remains on your device until you delete it from inside the app or uninstall the app. Entries in the trash are removed automatically after 30 days. If you enabled cloud sync or WebDAV backups, copies are stored in your own Google Drive, iCloud, or WebDAV server until you delete them there or disconnect and remove them. Data processed by third-party services such as your chosen AI provider, Google AdMob, the Google User Messaging Platform, or the Apple App Store is retained according to those services' own retention policies.

Local content such as your diary entries, media, profile, settings, and premium status remains on your device until you delete it from inside the app, clear the app's data from Settings > Apps > Serendipity Diary > Storage, or uninstall the app. Entries in the trash are removed automatically after 30 days. If you enabled cloud sync or WebDAV backups, copies are stored in your own Google Drive account or WebDAV server until you delete them there or disconnect and remove them. Data processed by third-party services such as your chosen AI provider, Google AdMob, the Google User Messaging Platform, or Google Play is retained according to those services' own retention policies.

Local content such as your diary entries, media, profile, settings, and premium status remains on your device until you delete it from inside the app, uninstall the app, or (on Android) clear the app's data from Settings > Apps > Serendipity Diary > Storage. Entries in the trash are removed automatically after 30 days. If you enabled cloud sync or WebDAV backups, copies are stored in your own Google Drive, iCloud, or WebDAV server until you delete them there or disconnect and remove them. Data processed by third-party services such as your chosen AI provider, Google AdMob, the Google User Messaging Platform, the Apple App Store, or Google Play is retained according to those services' own retention policies.

8. Your Choices and Controls

9. Security

We take reasonable technical and organizational steps to reduce privacy and security risks. Your diary, media, profile, and premium status live in Serendipity Diary's private app sandbox on your device, and your AI API keys, WebDAV credentials, and Privacy Space passcode hash are kept in the iOS Keychain. Network calls made by the app (the AI provider you configured, cloud sync to your own account, advertising, advertising consent, the App Store, and the in-app browser views) use the operating system's encrypted transports; WebDAV backups use the connection security of the server address you configure, so we recommend an HTTPS address; nearby device transfer stays inside your local network. However, no method of electronic storage or internet transmission is completely secure.

We take reasonable technical and organizational steps to reduce privacy and security risks. Your diary, media, profile, and premium status live in Serendipity Diary's private app sandbox on your device, and your AI API keys, WebDAV credentials, and Privacy Space passcode hash are kept in the Android Keystore-backed secure storage. Network calls made by the app (the AI provider you configured, cloud sync to your own account, advertising, advertising consent, Google Play, and the in-app browser views) use the operating system's encrypted transports; WebDAV backups use the connection security of the server address you configure, so we recommend an HTTPS address; nearby device transfer stays inside your local network. However, no method of electronic storage or internet transmission is completely secure.

We take reasonable technical and organizational steps to reduce privacy and security risks. Your diary, media, profile, and premium status live in Serendipity Diary's private app sandbox on your device, and your AI API keys, WebDAV credentials, and Privacy Space passcode hash are kept in the platform's system secure storage (iOS Keychain or Android Keystore). Network calls made by the app (the AI provider you configured, cloud sync to your own account, advertising, advertising consent, the platform store, and the in-app browser views) use the operating system's encrypted transports; WebDAV backups use the connection security of the server address you configure, so we recommend an HTTPS address; nearby device transfer stays inside your local network. However, no method of electronic storage or internet transmission is completely secure.

10. Children's Privacy

Serendipity Diary is a general-audience app and is not directed to children under 13 (or the equivalent minimum age in your jurisdiction). We do not knowingly collect personal information from children. If you believe a child has provided personal information through the app, please contact us and we will take appropriate steps.

11. International Users

Serendipity Diary is available globally. Depending on the features you use (for example the AI assistant, cloud sync, WebDAV backups, AdMob, or the Google User Messaging Platform), your data may be processed by service providers in locations outside your country or region, subject to those providers' applicable policies and safeguards.

12. Permissions

Serendipity Diary only uses the permissions and identifiers needed for its declared features:

Serendipity Diary does not request access to your location, contacts, calendar, health platforms (Apple Health / Google Fit / Health Connect), SMS, or call history.

Serendipity Diary does not request access to your location, microphone, contacts, calendar, health platforms (Apple Health / Google Fit / Health Connect), SMS, or call history.

Serendipity Diary does not request access to your location, contacts, calendar, health platforms (Apple Health / Google Fit / Health Connect), SMS, or call history, and on Android it does not request the microphone.

13. Your Rights

Depending on where you live, you may have rights under applicable privacy laws (including GDPR, UK GDPR, CCPA/CPRA, LGPD and similar regulations) to access, correct, delete, restrict, object to processing, or port data relating to you. Because Serendipity Diary stores your diary and settings locally on your device (and, if you enable it, in your own cloud account or on your own server), you can exercise most of these rights directly by deleting entries inside the app, disconnecting and clearing cloud sync or WebDAV backups, or uninstalling the app to wipe its private storage. For requests that cannot be resolved this way, please contact us using the details below. If you are located in the European Economic Area or the United Kingdom, you also have the right to lodge a complaint with your local data-protection supervisory authority.

14. Changes to This Policy

We may update this Privacy Policy from time to time to reflect changes to the app, legal requirements, or third-party service providers. The latest version will be published with an updated effective date at the top of this page. Your continued use of the app after an update means you accept the revised policy.

15. Contact Us

If you have questions about this Privacy Policy or about how your data is handled, please contact us at: luofeiyuo@gmail.com

16. Third-Party Policies