Framekeep is a free app that helps you review and organize photos and videos in your Apple Photos library. Its planned App Store availability is all supported regions outside mainland China and the European Union. This policy explains what Framekeep processes on your device, what information may be sent to service providers, and the choices available to you.
Your photo library
Framekeep requests access to the photos and videos you choose to make available through Apple's Photos permissions. It uses this access to scan a selected date range, find similar or potentially blurry photos, display media, estimate file sizes, and help you review items for deletion. You can grant limited access and change the available photos through Framekeep's Settings or your device settings.
Photo and video analysis takes place on your device. Framekeep does not upload your photos, videos, thumbnails, filenames, photo-library asset identifiers, or shooting dates to the app provider or Firebase for analysis. Previewing or compressing an item may cause Apple's Photos service to download its original from iCloud, according to your Apple settings.
Framekeep asks you to confirm deletion. Deleted items are handled by Apple Photos and may be available in Recently Deleted under Apple's rules. Video compression creates a new copy in your library; it does not replace the original automatically.
Information stored on your device
Framekeep stores your confirmed scan range, onboarding status, privacy choices, and cleanup history on your device. Cleanup history records completed actions and summary information, not copies of deleted photos or videos. Image-analysis results are cached in memory during use. Temporary video files are used during compression.
You can clear the analysis cache and cleanup history in Framekeep. These actions do not delete your photos or videos and do not delete information already received by an external service. Device backup behavior is governed by your Apple and device settings.
Usage analytics and crash reports
Framekeep includes Google Analytics for Firebase and Firebase Crashlytics. The Usage Analytics and Crash Reports switches in Settings control the corresponding optional reporting features.
On a new installation, both options are off until you choose to enable them. You can turn them off again at any time, and photo-management features do not require you to enable them. Framekeep remembers choices you have explicitly saved.
When Usage Analytics is enabled, Framekeep may send fixed screen names, actions such as starting or finishing a scan, item counts, total byte counts, compression quality, operation duration, and standardized error codes. The Analytics SDK also processes app-instance identifiers, app and device information, lifecycle / session events, and approximate geographic information inferred from network information. It does not need access to your device's Location Services for that approximate information.
When Crash Reports is enabled, Crashlytics may receive crash stack traces, device and operating-system information, installation identifiers, fixed operation logs, and standardized nonfatal errors. Framekeep removes original file paths, asset identifiers, and raw error descriptions from the errors it explicitly reports. Crash information may be stored on the device before reporting. Disabling Crash Reports causes Framekeep to discard pending reports through the SDK; it cannot recall reports already sent or currently being transmitted.
Framekeep's current code does not set a personal account ID for Analytics or Crashlytics. Installation identifiers can still distinguish an app installation; these reports should not be described as guaranteed anonymous.
Remote configuration
Framekeep uses Firebase Remote Config to retrieve feature settings such as classification thresholds and compression availability. This service can contact Firebase even when Usage Analytics and Crash Reports are disabled. It uses installation identifiers and app / device configuration information needed to fetch settings, with related service diagnostics. Cloud configuration cannot override a user's choice to disable the two optional reporting features.
Service providers and other uses
Google / Firebase services process the information described above to provide configuration, analytics, and diagnostics. Firebase services are covered by Google's applicable data-processing and security terms; Google Analytics has separate service terms. These terms describe provider responsibilities, security measures, and data handling. Their documentation is available at Firebase Privacy and Security and Google's Privacy Policy, Firebase Data Processing and Security Terms, and Google Analytics Terms. Apple's handling of your Photos library and iCloud is governed by Apple's applicable terms and privacy information.
Retention and deletion requests
Local preferences and cleanup history remain subject to the controls described above and the app's installation lifecycle. Clearing local data does not automatically remove information held by Firebase / Google Analytics.
Google Analytics event-data retention is set to two months. This does not mean that all Analytics information is deleted after two months: standard aggregated reports are outside this control, and user-identifier retention can be renewed by new activity depending on the property setting. See Google Analytics retention.
Firebase states that Crashlytics keeps crash stack traces and associated identifiers for 90 days before starting removal from live and backup systems. This is not a promise that every copy is removed on day 90. Firebase Remote Config retains installation identifiers until deletion is requested; Firebase's installation deletion process removes associated data within 180 days. Deleting a Firebase installation identifier does not delete Google Analytics data. See Firebase retention information and Firebase installation deletion.
To contact us about privacy or request access to or deletion of data, email fj185235@gmail.com. Because Framekeep does not require an account and does not attach your email address to its telemetry, your email address alone may not identify an installation's reports. We will assess what records we can identify, explain any limits, and assist with available provider procedures. Framekeep does not currently offer an in-app tool to identify or delete all server-held telemetry. You may also contact your local data-protection authority where applicable. Please do not send your photo library or passwords.
Our website and support email
The Framekeep website is hosted on Firebase Hosting. Its pages contain no analytics or advertising scripts, contact forms, third-party fonts, or browser-storage code. Firebase processes request IP addresses for service protection and usage information; its published retention description for Hosting IP data is a few months. Firebase Hosting privacy information
If you email us, we receive your email address, message, and any attachments you choose to provide. We use them to respond to your request through the support mailbox hosted by Gmail. Correspondence is kept as needed to handle the request and related follow-up or legal obligations. You can ask us to delete correspondence by emailing the same address. Please do not send your photo library or account credentials.
International processing and availability
Framekeep is planned for distribution outside mainland China and the European Union. Google services may process information on infrastructure outside your country. Google's published privacy and data-processing terms describe the safeguards used for international transfers. Store availability does not limit processing to the country where you download the app.
Children
Framekeep is a general-purpose photo-library utility and is not designed specifically for children. If you believe a child has sent personal information that needs to be removed, contact us at the address below.
Changes and contact
We will update this policy when our data practices change and identify the effective date above. For questions about Framekeep or this policy, contact fj185235@gmail.com.