This privacy policy applies specifically to the Shoe Miles app and takes precedence over the general CodeCraftedApps privacy policy for all matters related to this app. Where any difference exists between the two policies, this app-specific policy governs.
Shoe Miles ("the App") is developed and published by CodeCraftedApps. CodeCraftedApps ("CodeCraftedApps," "we," or "I") is one independent developer based in the United States. We are committed to protecting your privacy and ensuring the security of your health data. This policy explains how we handle your information.
Overview
Shoe Miles is designed with a simple privacy principle: your data stays on your device and in your own private iCloud. We do not collect, transmit, or store any personal or health information on external servers.
Data Collection
- No Personal Data Collection: We do not collect, store, or transmit your personal health data to our servers.
- HealthKit Integration: All health data is read directly from Apple HealthKit on your device. It is never sent to us or any third party.
- Your Device and Your iCloud: Shoe data, workout references, and app preferences are stored on your device using SwiftData and, if iCloud is on, in your own private iCloud database.
- No App Analytics: The app does not use analytics, tracking, or data collection services.
Data Handling
- Device-Only Processing: All calculations, mileage tracking, and data processing occur on your device.
- Private iCloud Sync: If you have iCloud enabled, your shoe data syncs across your devices using CloudKit's private database. Only you can access your data. We (CodeCraftedApps) cannot read, access, or view your synced data.
- No Third-Party Sharing: We do not share, sell, or transmit your data to any third parties.
- No Advertising: We do not use your data for advertising purposes.
Data Stored on Your Device
Shoe Miles stores the following data locally on your device using SwiftData:
- Shoe information (brand, model, nickname, colorway, size, optional photo, color tag, purchase or start date, optional price, “already run” miles, warning and replacement mileage, retired date, “Used for” tags, which activities’ rotations it’s in, and its card look — background, icons, and which details show on its card, including its price)
- Shoe notes (timestamped, with the shoe’s mileage at the time)
- Workout references (date, distance, duration, activity, indoor or outdoor, elevation gain, source app name and identifier, the workout’s Apple Health identifier, your notes, whether you entered or edited the run yourself, which shoe it’s assigned to, and whether that shoe was suggested and not yet confirmed)
- A record of runs you deleted (their Apple Health identifier and the date), so they aren’t imported again
- App preferences and settings
This data is stored in your app's private container and is not accessible to other apps.
iCloud Sync
If you have iCloud enabled, Shoe Miles syncs your shoe data across your devices using CloudKit's private database. This means:
- Only you can access your data
- Data is encrypted in transit and at rest by Apple
- We (CodeCraftedApps) cannot read, access, or view your data
- You can disable iCloud sync at any time in iOS Settings
Shoe Miles also uses iCloud key-value storage for a few small settings — which activities you’ve set to “Don’t Track,” whether Smart Suggestions is on, brands and models you’ve added, the time of the last Health sync, a small summary (how many shoes and runs you have, your earliest shoe’s start date, and when it was last updated) used on the “Welcome back” screen after a reinstall, and — from earlier test builds — which shoes showed their price on their card — so they match on every device. These live in your own iCloud account, which we cannot access.
HealthKit Permissions
- Read Access: The app requests read-only access to HealthKit. It never writes to Health.
- User Control: You can revoke HealthKit permissions at any time in Settings › Privacy & Security › Health › Shoe Miles.
- Specific Data Types: Workouts (running, walking, and hiking) and walking + running distance. Elevation gain is read from each workout’s own details and needs no extra permission. The app does not read heart rate, active energy, step count, stride length, vertical oscillation, or ground contact time.
- On-Device Only: HealthKit data is accessed on-device only. It is never sent to us or any third party. If you enable iCloud sync, the workout references listed above are stored in your own private iCloud database, which we cannot access.
Smart Suggestions
When more than one pair could have been worn for a run, Shoe Miles can suggest which shoe you wore. It learns only from your own confirmed choices, using details such as distance, pace, time of day, indoor or outdoor, elevation, and your “Used for” tags. All of this runs entirely on your iPhone — nothing is sent over the network or to any third-party service. You can turn Smart Suggestions off at any time in Settings › New Workouts Go To.
Notifications
Shoe Miles may request permission to send local notifications for shoe mileage warnings, replacement reminders, unassigned workout alerts, a note when new runs are put on a shoe, and a reminder if you ask to be reminded later. All notifications are generated locally on your device.
Photos
You can attach a photo to a shoe. Photos from your library are chosen with the system photo picker, which shares only the photo you pick — Shoe Miles never gets access to your library. Taking a photo uses the camera, which asks your permission the first time. Shoe photos are stored on your device and synced via your private iCloud container. They are never sent to external servers.
Face ID / Touch ID
Shoe Miles asks you to confirm with Face ID, Touch ID, or your device passcode before erasing all app data. This is handled entirely by iOS; the app never receives your biometric data or passcode.
Data Retention
All app data — including your shoe information, workout references, and preferences — is stored on your device while the app is installed and, if iCloud is on, in your private iCloud until you delete it — in the app (Settings › Start Over) or in iOS Settings › your name › iCloud. We do not retain any data on external servers. When you uninstall Shoe Miles, the copy on your device is permanently deleted; your iCloud copy remains so a reinstall can offer to restore it.
Your Rights and Data Deletion
- Data Access: You can view all your data within the app at any time.
- Data Deletion: You can delete all app data at any time with Settings › Start Over › Delete All Data & Start Fresh, which removes it from your device and your private iCloud and resets the app’s settings. Uninstalling the app removes only the copy on your device; your iCloud copy stays until you delete it in the app or in iOS Settings › your name › iCloud. You may also email us at [email protected] with the subject line "Data Deletion Request" to confirm deletion or ask for assistance.
- Permission Control: You control HealthKit, notification, and camera permissions through iOS Settings.
- No Account Required: No user account or registration is required.
Consent and Revocation
By using Shoe Miles, you consent to this privacy policy and our data handling practices as described above. You can revoke your consent at any time by:
- Revoking HealthKit access: Go to Settings › Privacy & Security › Health › Shoe Miles, and disable any or all data types.
- Revoking camera access: Go to iOS Settings › Shoe Miles and turn off Camera.
- Uninstalling the app: This permanently removes the app’s data from your device. Your private iCloud copy stays until you delete it.
Revoking HealthKit access will prevent the app from reading new workout data but will not delete data already stored locally. To fully remove all data from your device and iCloud, use Settings › Start Over in the app.
Security
- iOS Security: Your data is protected by iOS security features including device encryption.
- No Network Transmission: Health data is never transmitted over networks (except to your own private iCloud).
- Local Encryption: App data uses iOS encryption standards.
- No Backend Servers: No servers to compromise or hack.
- No External Dependencies: The app uses only Apple frameworks with zero third-party SDKs.
Purchases
Shoe Miles is free to download with a 14-day free trial, then a one-time in-app purchase unlocks it. Purchases are handled entirely by Apple through the App Store. The app checks your purchase and trial status using Apple’s signed purchase records on your device, and keeps a copy of the last answer on your device so you stay unlocked when offline. Shoe Miles never sees your payment details and stores no payment information. Apple’s handling of purchase data is covered by Apple’s Privacy Policy.
Encryption
Shoe Miles does not implement any custom encryption. The app relies solely on Apple's built-in encryption for HTTPS/TLS (used by CloudKit for iCloud sync) and iOS device encryption. The app qualifies for the encryption exemption under U.S. export regulations (EAR) as it uses only standard operating system encryption.
Children's Privacy
Shoe Miles does not knowingly collect personal information from children under 13. The app reads health data from HealthKit locally and does not transmit any data off the device, except to your own private iCloud account.
Website Data
This website (codecraftedapps.com/apps/shoemiles/) is a static site hosted on GitHub Pages and served through Cloudflare. It uses no analytics scripts, sets no tracking cookies, and loads no third-party fonts or CDNs. Two services are involved in delivering it:
- GitHub Pages may collect standard server logs (IP address, browser type, pages visited) as part of hosting. See GitHub's Privacy Statement for details.
- Cloudflare may process standard request data (such as IP address and browser type) to deliver and protect the site. See Cloudflare's Privacy Policy for details.
Changes to This Policy
We may update this privacy policy from time to time. Any changes will be posted on this page with an updated revision date.
Contact
If you have questions about this privacy policy, email us at [email protected].