Security

We can't leak
what we don't have.

Every privacy scandal starts the same way: a company collected data it didn't need. We skip that step entirely.

User-first  •  Private by design  •  Native Apple  •  Craft over speed  •  Simple is harder  •  Your data is yours  •  Independent  •  Kind by default  •  User-first  •  Private by design  •  Native Apple  •  Craft over speed  •  Simple is harder  •  Your data is yours  •  Independent  •  Kind by default  • 
Architecture

How your data flows.

Short version: your data goes from your fingers to your device to your private iCloud. That's it. There is no step where it touches our servers, because we don't have servers.

👆
You
Enter data
📱
Your Device
On-device storage
☁️
Your iCloud
Private database
Storage

Your device + your iCloud. Nothing else.

All data is stored using Apple's SwiftData framework with CloudKit sync to the user's private iCloud database. The private database is encrypted by Apple and accessible only by the user's Apple Account. KindSoft has no ability to query, read, list, or access records in any user's private container.

If iCloud is unavailable or not enabled, data is stored locally on the device only. It never falls back to a KindSoft server — we don't have one.

Network

No data leaves the device to us. Ever.

Our apps make no network calls to KindSoft-operated servers. No analytics pings. No crash reports. No telemetry. No heartbeats. The only network traffic is Apple's own CloudKit sync (device ↔ iCloud) and optional public content fetches (RSS news feeds, public recipe APIs) — none of which carry user data.

We don't operate a backend. There is no API endpoint, no database server, no cloud function, no Lambda, no container. The "server" in our architecture is Apple's iCloud infrastructure, which we don't administer and can't access.

Encryption

Apple handles encryption. We handle architecture.

CloudKit private databases use Apple's end-to-end encryption for data at rest and in transit. On-device data is protected by the device passcode and hardware encryption (Secure Enclave). We don't implement our own cryptography because we don't need to — Apple's platform encryption covers our entire data surface.

Our job is the architecture decision that makes encryption sufficient: never store user data anywhere Apple's encryption doesn't already cover.

Permissions

Ask only for what we need. Use only what we asked for.

Every system permission our apps request (HealthKit, Calendar, Contacts, Notifications) is disclosed with a plain-language purpose string, is opt-in only, and is used exclusively for the stated purpose. Permissions that aren't needed are never requested. Data from one permission is never used for another purpose.

If you deny a permission, the feature that needs it is unavailable but the rest of the app works normally. We never degrade the experience to pressure you into granting access.

Third parties

Zero SDKs that touch your data.

Our apps contain no third-party analytics SDKs (Google Analytics, Mixpanel, Amplitude, Firebase), no crash reporters (Crashlytics, Sentry, Bugsnag), no advertising frameworks, and no attribution trackers. The only third-party code is Apple's own frameworks — SwiftUI, SwiftData, CloudKit, HealthKit, StoreKit, WidgetKit.

When our apps fetch external content (public recipe APIs, RSS news feeds), those requests carry no user data, no authentication tokens, no identifiers. They are anonymous, stateless HTTP GETs.

At a Glance

The security checklist.

No KindSoft-operated servers — your data never touches infrastructure we administer
No analytics or telemetry — zero third-party SDKs that process user data
No advertising frameworks — no ads, no attribution, no IDFA collection
No user accounts with us — authentication is Apple Account only via StoreKit
CloudKit private database — end-to-end encrypted by Apple, inaccessible to the developer
HealthKit stays local — health data is never transmitted off-device by our apps
Full data export — users can export their complete dataset as a JSON file at any time
No data on lapse — subscription status is device-local; no user data is deleted if subscription expires

Found something?
Tell us.

If you discover a security issue in any KindSoft product, please report it. We take every report seriously and respond within 24 hours.

support@kindsoft.tech