Privacy Policy
SoundNote Privacy Policy
Effective date: September 29, 2026 Last updated: October 26, 2026
This Privacy Policy applies to "SoundNote" (the "App"), an iOS application, including its main app, home screen widgets, Lock Screen Live Activity, Apple Watch app and watch-face complications. It explains how your information is handled and what rights you have.
Please read this policy in full before using the App. By downloading, installing, launching, or otherwise using the App, you confirm that you have read, understood, and agreed to this policy. If you do not agree, please stop using the App and uninstall it.
1. Who we are
The App is independently developed and operated by an individual developer ("we", "us", "the developer").
- Developer: 尼森与海 (Nisen & Sea)
- Contact email:
huayanming2019@gmail.com - Support page: in-app "About → Help & Support", or email huayanming2019@gmail.com
We do not act as a data processor on behalf of any third party, and we have not engaged any third party to process your personal information.
2. Summary — please read this first
The App is a purely local tool. There are no accounts, no servers operated by us, and we do not collect, upload, or sell any of your content.
- Your tasks, lists, calendar entries, notes, voice memos, audio recordings, focus records, appearance and theme settings are stored only on your own device (the App's private container and the device Keychain). They are never transmitted to us or to any third party.
- We do not hold your name, phone number, email address, contacts, location, photos, advertising identifier (IDFA/IDFV), or any data that directly identifies you.
- The document tools ("Scan to Text", "Text from Image", and the PDF tools) run entirely on your device: files you capture or select are never uploaded, and temporary copies are deleted as soon as processing finishes.
- The App contains no advertising SDKs, no analytics SDKs, no crash-reporting SDKs, no behavioural tracking, and no cross-app tracking. We do not build user profiles and do not send targeted marketing.
- Because of this, the App does not require App Tracking Transparency (ATT) authorization, and no data is ever sold.
3. Information we handle, and why
3.1 Information stored only on your device
The following is created by you while using the App and is stored locally on your device only. We have no ability to access it:
| Category | Examples | Purpose | Storage |
|---|---|---|---|
| Tasks & lists | Titles, dates, times, list names, notes, completion state, priority, repeat rules | Task management and reminders | Encrypted fields in the local database |
| Calendar & schedule | Calendar entries, class schedule, countdowns/anniversaries | Calendar views and countdowns | Encrypted fields in the local database |
| Notes | Text notes, daily notes, voice-note waveform and duration | Notes and voice-memo features | Local database and files |
| Audio recordings | Audio you record via voice notes / voice library | Playback, management, export of your own recordings | Local file directory |
| Focus sessions | Focus timer history, daily session totals, activity streak | Focus statistics | Encrypted fields in the local database |
| Settings & appearance | Theme, accent colour, fonts, widget and Lock Screen layouts, language, recording length | Persisting your preferences | Local database and preferences store |
| Backups | Encrypted backup files you explicitly export | Your own data portability | Wherever you choose to keep them |
3.2 System permissions
Permissions are requested only for the features that need them. Declining a permission disables only that feature.
| Permission | Purpose | When it is requested | If declined |
|---|---|---|---|
| Microphone | Record voice memos; dictate tasks | First time you record or dictate | Recording and dictation unavailable; keyboard input still works |
| Speech Recognition | Transcribe speech into task text | First time you use voice input | Dictation unavailable; keyboard input still works |
| Notifications | Remind you when a task or countdown is due | First time you create a task with a reminder | No due-time notifications |
| AlarmKit (iOS 26+) | Full-screen alarm for alarm-type tasks, bypassing silent mode | When you set an alarm on a task | Standard notification only |
| Camera (iOS only) | Photograph a paper document and read its text | When you tap "Scan with Camera" in Scan to Text | In-camera capture unavailable; "Choose from Photos" still works |
| Motion sensors (accelerometer) | Subtle parallax effect on the focus session and Lock Screen pages only | When those pages are open | No parallax; everything else works |
Important — how speech-to-text works. Speech-to-text is performed by Apple's system speech recognition service. To transcribe your speech, the audio you dictate is processed by Apple under Apple's own privacy policy. We do not receive, store, or sell that audio or the transcription results, and we do not use them for anything other than transcription. If you prefer that no audio ever leaves your device, simply use keyboard input instead. Recording, storing, and playing back voice memos happens entirely on your device and does not involve that service.
Photos and camera. The App does not request photo library access. Images are selected through the system's own out-of-process picker (PHPicker on iOS, the system photo picker on Android), which hands only the image you selected to the App — it cannot read any other photo. Camera access is requested on iOS only, and only when you actively tap "Scan with Camera" (the App uses the system document scanner). On Android, capture is performed by the system camera app and the App requests no camera permission.
3.3 Sharing between your own apps on the same device
The App uses an Apple App Group to share the minimum data required (for example today's tasks and progress) between the main app, home screen widgets, the Lock Screen Live Activity, and the Apple Watch app. This sharing happens entirely inside your device.
If you enable iCloud device backup or a local Finder/iTunes backup, your device data (including the App's data) is included according to Apple's rules. This is Apple's system backup behaviour; we cannot access your backups. Please refer to Apple's privacy policy. If your backup does not include the encryption key used by the App, encrypted content may not be readable after a restore (see section 7).
3.4 Version-update checks (read-only queries to Apple)
When online, the App may query Apple's official iTunes lookup endpoint (https://itunes.apple.com/lookup) for the App's own latest version information, in order to show an update prompt when a new version is available:
- The request contains only the App's public App Store identifier (bundleId). It does not contain any of your tasks, notes, recordings, account information, or device identifiers.
- The request is made directly from your device to Apple. We do not proxy, relay, or log it. Apple's handling of that request is governed by Apple's privacy policy.
- The result is used only to show update prompts and is network-throttled to about once per day. When offline, not yet published, or if the query fails, the App skips it silently; no feature is affected.
- The App collects no information from this and never forces an upgrade.
Other than the version-update query to Apple described above (3.4), the App performs no other network requests (no ads, no analytics, no content delivery, and no automatic reporting of any kind).
3.5 Local crash diagnostic logs (on-device only; exported only by you)
When the App encounters an error, it may write a redacted crash log locally on your device (in the App's private crashes/ directory). The log contains only the error type, call stack, app version number, and a redacted error summary, and contains none of your tasks, notes, recordings, or any personal information:
- Everything is redacted before writing: URL query strings, credentials (tokens / passwords / signatures), and any quoted input fragment in the error summary are masked; our own code never writes task titles, note bodies, or recording content into the log either.
- The log is stored only on your device and is never uploaded automatically. The App integrates no third-party crash-reporting or reporting service.
- It only leaves your device if you explicitly choose to export or share it in "Settings - Diagnostics", via the system share destination you choose.
- You can delete all local crash logs at any time from the Diagnostics page.
3.6 Local usage counters (on-device only, never online)
To tell whether the App is actually being used after install, the App keeps a small set of anonymous counters on your device. They answer one question only: how many times did each step happen, and when did it first happen?
- What is recorded is an event name and a count, for example: app opened, onboarding finished, hold-to-talk started, transcription succeeded / failed (split into "nothing heard", "offline", "no microphone permission"), first to-do or entry created, paywall shown (including which entry point triggered it), purchase started / purchase completed.
- No content: the counters never include your task titles, note bodies, recordings, amounts, ledger notes, or any text you typed.
- No identity: the App creates and stores no install identifier, device fingerprint, or advertising identifier; it records no model, OS version, language, timezone, or IP address; two installs cannot recognise each other.
- Never leaves the device: the App bundles no third-party analytics, attribution, or tracking SDK. These counters are never uploaded automatically and are never batched or sent anywhere. They leave only if you tap "Copy summary" on the Diagnostics page yourself, which places text on your own system clipboard for you to send to whomever you choose.
- You can clear them at any time on the same page; deleting the App removes them with it.
3.7 Document tools (scan / OCR / PDF)
"Scan to Text", "Text from Image", "PDF to Text", "PDF to Images" and "Images to PDF" run entirely on your device:
- Images you capture or select exist only in the App's private temporary directory while they are being recognised or merged, and are deleted as soon as processing finishes. They are never written to your database, never included in backups, and never counted in any analytics.
- Text recognition (OCR), PDF text extraction, page rendering and PDF assembly all use on-device capabilities (system Vision and PDFKit on iOS; an offline recognition model shipped inside the installed app plus system PDF APIs on Android). No network request is made and no file is uploaded.
- Recognised text and generated images/PDFs are handed to your next action (copy or share) only; the App keeps no copy.
- The App does not offer server-side "to Word / Excel / PPT" conversion, which would require uploading your file for cloud layout reconstruction.
3.8 In-app purchase
The App offers a one-time, non-consumable in-app purchase to unlock full functionality. Payment and transactions are handled by Apple through the App Store. We never receive your name, card details, billing address, or any payment credential. We only receive Apple's confirmation of whether the product has been purchased, which is used to unlock features on your device. You can re-verify at any time using "Restore Purchases" inside the App.
4. What we do not do
- We do not collect or upload any content you create in the App.
- We do not collect device identifiers (IDFA, IDFV) and do not track you across apps or websites.
- We do not collect location, contacts, messages, call history, health data, or photo library content.
- We do not use cookies or similar tracking technologies.
- We do not sell, rent, or trade any of your information.
- We do not send marketing or third-party promotional content.
5. Sharing, transfer, and disclosure
We do not share, transfer, or publicly disclose your personal information, because we cannot access it. The only exceptions are:
- Actions you take yourself — when you export or share a file through the system share sheet, the recipient is your choice; please assess their trustworthiness.
- Apple platform services — in-app purchases, iCloud device backup, and App Store analytics (aggregated and anonymous) are processed by Apple under Apple's policies.
- Legal requirements — if compelled by law, we can only provide what we actually hold. As explained above, we do not hold your content data.
6. Retention and security
6.1 Retention
Your data remains on your device until you delete it (deleting individual items, clearing data, or uninstalling the App). Uninstalling the App deletes the data in its private container. Copies inside device-level system backups expire according to Apple's backup policy.
6.2 Security measures
- Field-level encryption: Text content such as tasks, notes, and focus records is encrypted with AES-256-GCM before being written to the local database.
- Key management: The master encryption key is stored in the iOS Keychain; it is never written to a plain file and is never included in data exports.
- Encrypted backups: Backup files you export are encrypted with PBKDF2-HMAC-SHA256 (600,000 iterations) + AES-256-GCM, using a passphrase you control. We cannot decrypt them. Earlier app versions derived the key with 150,000 iterations; the App can still decrypt those older backups, while backups exported from the current version always use 600,000 iterations.
- Least privilege: Only the permissions required for the corresponding feature are requested.
No local storage can be guaranteed absolutely secure. Please protect your device passcode and your backup passphrase. If someone else can unlock your device, they may see the App's content (the App provides a Privacy Mode to temporarily mask the home content).
7. Your rights
Because your data lives on your device and is under your direct control, you can exercise the following rights in the App at any time, without contacting us:
| Right | How |
|---|---|
| Access / correct | View and edit any content directly in the App |
| Delete | Delete individual items, empty the in-app Trash, or uninstall the App to erase everything |
| Portability / export | Export an encrypted backup, or export your recordings via the system share sheet |
| Withdraw consent | Turn off the relevant system permissions in iOS Settings → Privacy, or disable the feature in the App |
| Account deletion | Not applicable — the App has no account system, so there is no account to delete |
If you believe we have handled your information unlawfully, you can contact us using the details in section 10, and you have the right to complain to your local data protection authority.
Please note: the App provides an in-app Trash for accidental deletions; items become unrecoverable once you empty it. After uninstalling the App or clearing its data, anything not exported is permanently lost — please export backups regularly.
8. Children
The App is a productivity tool not directed to children under 14 (or the equivalent minimum age in your jurisdiction) and does not knowingly collect any personal information from children.
- If you are under 14, please read this policy with a parent or guardian and use the App only with their consent.
- The App has no account system and collects no personal information, so there is no children's data for us to collect, store, share — or to delete on your behalf.
- The App contains no advertising, no behavioural tracking and no recommendation algorithm. It does not push content based on a minor's usage, and it does not prompt spending (the in-app purchase is a one-time unlock completed by an adult through the system payment sheet).
- Parents and guardians should guide and supervise minors' use. To delete content a minor created in the App, do so on the device directly or uninstall the App — everything lives only on that device, so uninstalling removes it all.
- If a guardian believes we have somehow come into contact with a minor's information (we do not collect it), please contact us using section 10; we will respond within 15 business days.
- Because we cannot access your data, we cannot delete content from your device on your behalf.
9. Changes to this policy
- If this policy changes materially (for example, new categories of data, new third-party SDKs, or new cloud features), we will highlight the change in the App and update this policy with the release.
- Material changes will update both the "Effective date" and "Last updated" dates, and we will obtain your consent again in the App where required.
- The current version is always available in the App and on this page. If you do not agree with a change, please stop using the App and uninstall it.
10. Contact us
For any question, comment, or complaint about this policy or the handling of your information:
- Email:
huayanming2019@gmail.com - Support page: in-app "About → Help & Support", or email huayanming2019@gmail.com
We will respond within 15 business days.
11. Appendix — components used by the App
For transparency, the following lists item by item the components the App actually uses and what each is for. All are general-purpose building blocks; none of them are advertising, analytics, tracking, or content-distribution components. The list can be checked line by line against the dependency manifest in the App's source repository:
| Component | Purpose | Makes network requests |
|---|---|---|
| drift / sqlite3 | Local database (tasks, notes, ledger entries, voice assets) | No |
| flutter_secure_storage | Keeps encryption keys and purchase credentials in the system Keychain | No |
| encrypt / pointycastle | Field-level AES-256-GCM encryption and digest algorithms | No |
| flutter_local_notifications / timezone | Local reminders and alarms, raised by the system on your device | No |
| record / just_audio | Recording and playback; audio files never leave the device | No |
| speech_to_text | Speech-to-text; transcription is performed by Apple's system speech recognition (see 3.2) | Provided by the system |
| sensors_plus | Reads device orientation sensors for the bubble-level tool | No |
| lunar | Lunar calendar, solar terms and lunar repeat rules | No |
| intl / flutter_localizations | Locale-aware date, number and currency formatting | No |
| path_provider / file_picker / share_plus | Local file access, file selection, the system share sheet | No |
| uuid | Generates record identifiers locally | No |
| http | Used only to query Apple's public endpoint for the App's own version number (see 3.4) | Yes, read-only, Apple only |
| in_app_purchase | In-app purchase; the transaction is handled by Apple, the App never sees payment details | Provided by the system |
| in_app_review | Invokes the system rating prompt | Provided by the system |
| Version-update check | Queries only Apple's public endpoint for the App's own version (see 3.4) | Yes, read-only, Apple only |
| System document capabilities (iOS: Vision / PDFKit; Android: PdfRenderer / PdfDocument) | Image OCR, PDF rendering and assembly (see 3.7) | No |
| ML Kit text recognition (Android only) | Image OCR; the model ships inside the installed app and runs offline on device | No |
| PDFBox-Android (Android only) | PDF text-layer extraction (see 3.7) | No |
All of these run locally on your device. In-app purchase, the speech-recognition engine, iCloud backup and the rating prompt are provided by Apple and governed by Apple's privacy policy. The http component points at no server of ours — the App has no server.
*This policy is governed by the laws of the People's Republic of China. If you are located elsewhere, we will also honour the mandatory provisions of your local law.*