diff --git a/Driveline.xcodeproj/project.pbxproj b/Driveline.xcodeproj/project.pbxproj index 7fbb814..49ab19b 100644 --- a/Driveline.xcodeproj/project.pbxproj +++ b/Driveline.xcodeproj/project.pbxproj @@ -869,14 +869,14 @@ CODE_SIGN_ENTITLEMENTS = Driveline/Driveline.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 27; + CURRENT_PROJECT_VERSION = 28; DEVELOPMENT_TEAM = 4U6275HKV3; ENABLE_PREVIEWS = YES; ENABLE_USER_SCRIPT_SANDBOXING = NO; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = Driveline/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = Driveline; - INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.travel"; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.navigation"; INFOPLIST_KEY_NSLocationAlwaysAndWhenInUseUsageDescription = "Driveline supports recording your drives even when the app is in the background"; INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "Driveline requires your location to record your drives"; INFOPLIST_KEY_NSSupportsLiveActivities = YES; @@ -917,14 +917,14 @@ CODE_SIGN_ENTITLEMENTS = Driveline/Driveline.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 27; + CURRENT_PROJECT_VERSION = 28; DEVELOPMENT_TEAM = 4U6275HKV3; ENABLE_PREVIEWS = YES; ENABLE_USER_SCRIPT_SANDBOXING = NO; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = Driveline/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = Driveline; - INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.travel"; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.navigation"; INFOPLIST_KEY_NSLocationAlwaysAndWhenInUseUsageDescription = "Driveline supports recording your drives even when the app is in the background"; INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "Driveline requires your location to record your drives"; INFOPLIST_KEY_NSSupportsLiveActivities = YES; @@ -961,7 +961,7 @@ buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 27; + CURRENT_PROJECT_VERSION = 28; DEVELOPMENT_TEAM = 4U6275HKV3; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 26.0; @@ -986,7 +986,7 @@ buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 27; + CURRENT_PROJECT_VERSION = 28; DEVELOPMENT_TEAM = 4U6275HKV3; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 26.0; @@ -1010,7 +1010,7 @@ isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 27; + CURRENT_PROJECT_VERSION = 28; DEVELOPMENT_TEAM = 4U6275HKV3; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 26.0; @@ -1034,7 +1034,7 @@ isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 27; + CURRENT_PROJECT_VERSION = 28; DEVELOPMENT_TEAM = 4U6275HKV3; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 26.0; @@ -1061,7 +1061,7 @@ ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 27; + CURRENT_PROJECT_VERSION = 28; DEVELOPMENT_TEAM = 4U6275HKV3; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = DriveWidgetExtension/Info.plist; @@ -1096,7 +1096,7 @@ ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 27; + CURRENT_PROJECT_VERSION = 28; DEVELOPMENT_TEAM = 4U6275HKV3; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = DriveWidgetExtension/Info.plist; @@ -1129,7 +1129,7 @@ buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 27; + CURRENT_PROJECT_VERSION = 28; DEVELOPMENT_TEAM = 4U6275HKV3; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 26.0; @@ -1154,7 +1154,7 @@ buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 27; + CURRENT_PROJECT_VERSION = 28; DEVELOPMENT_TEAM = 4U6275HKV3; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 26.0; diff --git a/privacy-policy.md b/privacy-policy.md new file mode 100644 index 0000000..7cf2e82 --- /dev/null +++ b/privacy-policy.md @@ -0,0 +1,112 @@ +# Privacy Policy + +**Driveline** · Last updated: 22 June 2026 + +> **The short version:** Driveline records your drives — GPS route, distance, duration, weather, and place names. All of that data lives on your device and, if you choose, in your personal iCloud account. We do not collect it, sell it, or share it with any third parties for advertising or analytics. + +--- + +## 1. Who We Are + +Driveline is developed and published by Damien Glancy ("we", "us", "our"). If you have any questions about this policy, you can reach us at [damien.and.rose@icloud.com](mailto:damien.and.rose@icloud.com). + +--- + +## 2. What Data Driveline Collects + +Driveline collects only the information it needs to record and display your drives. + +### Location Data + +When you start a drive, Driveline records your GPS coordinates, speed, and timestamp at regular intervals. This continues in the background until you stop the drive. Location data is used solely to draw your route on a map, calculate distance, and determine place names for your start and end points. + +### Drive Metadata + +For each drive, Driveline stores: + +- Start and end time +- Total distance +- A name (auto-generated from place names, or one you set yourself) +- Category (e.g. Errand, Road Trip — set by you or suggested automatically) +- How the recording was started (manually or via automation) + +### Place Names + +To generate human-readable start and end location names, Driveline sends your GPS coordinates to Apple's Maps reverse-geocoding service. Apple's own privacy policy governs how Apple handles this request. The resulting place name (e.g. "Kensington, London") is stored on your device. + +### Weather + +Driveline fetches current weather conditions at the start and end of your drive using Apple WeatherKit. To do this, your GPS coordinates are sent to Apple's WeatherKit service. Apple's privacy policy governs that request. The resulting weather data (temperature and condition) is stored on your device alongside the drive. + +### App Preferences + +Your in-app settings (e.g. preferred map appearance, route line width) are stored locally on your device using standard iOS storage and are never transmitted. + +### Performance Diagnostics + +Driveline uses Apple's MetricKit framework to receive anonymised, on-device performance reports (such as hang rates and crash diagnostics). These reports are provided by iOS itself and are not transmitted to us. We use them only to identify and fix technical issues within the app. + +--- + +## 3. How Your Data Is Stored + +All drive data is stored locally on your device using Apple's SwiftData framework. + +If you have iCloud enabled for Driveline, your data is also synced to your personal iCloud account via CloudKit. Your iCloud data is encrypted and accessible only to you. We do not have access to your iCloud account or the data it contains. + +--- + +## 4. Data We Do Not Collect + +To be explicit about what Driveline does *not* do: + +- We do not collect or transmit your location data to our own servers. +- We do not use any third-party analytics or advertising SDKs. +- We do not track you across apps or websites. +- We do not collect your name, email address, or any account information. +- We do not access your contacts, photos, camera, or microphone. + +--- + +## 5. Data Sharing + +We do not sell, rent, or share your personal data with any third parties, except as described below: + +- **Apple Maps (Geocoding):** GPS coordinates are sent to Apple to reverse-geocode place names. See [Apple's Privacy Policy](https://www.apple.com/legal/privacy/). +- **Apple WeatherKit:** GPS coordinates are sent to Apple to fetch weather data. See [Apple's Privacy Policy](https://www.apple.com/legal/privacy/). +- **Apple iCloud / CloudKit:** If iCloud sync is enabled, your drive data is stored in your personal iCloud account. See [Apple's Privacy Policy](https://www.apple.com/legal/privacy/). +- **Legal requirements:** We may disclose information if required to do so by law or in response to valid legal requests. + +--- + +## 6. Exports + +Driveline allows you to export your drive routes as GPX files. When you choose to export and share a file, you are in full control of where that file is sent. Driveline does not automatically send exports anywhere. + +--- + +## 7. Data Retention and Deletion + +Your drive data is retained on your device and in iCloud for as long as you choose to keep it. You can delete individual drives, or all data, at any time within the app. Deleting the app from your device removes all locally stored data. If iCloud sync is enabled, you can delete your iCloud data through your device's iCloud settings. + +--- + +## 8. Children's Privacy + +Driveline is not directed at children under the age of 13. We do not knowingly collect personal information from children. If you believe a child has provided information through the app, please contact us and we will take steps to address it. + +--- + +## 9. Changes to This Policy + +We may update this privacy policy from time to time. When we do, we will update the "Last updated" date at the top of this page. We encourage you to review this policy periodically. Continued use of the app after changes are posted constitutes your acceptance of the updated policy. + +--- + +## 10. Contact + +If you have any questions or concerns about this privacy policy or how your data is handled, please contact us at [damien.and.rose@icloud.com](mailto:damien.and.rose@icloud.com). + +--- + +© 2026 Damien Glancy. All rights reserved.