Privacy Policy
Effective Date: April 21, 2026
Overview
Crufti is a macOS application published by Another Mad World, an unincorporated studio based in Washington State, USA (“Another Mad World,” “we,” “our,” or “us”). The application scans for and removes leftover files when you delete apps. Crufti is software, not a managed service: it runs entirely on your Mac, we operate no backend that ingests your data, and our business model does not depend on collecting, profiling, or monetizing user information.
This policy describes, in plain English, how the application and our marketing website at crufti.app handle information. Use of the application and website is also governed by our Terms of Service, which contain our dispute resolution terms, including binding arbitration and a class-action waiver for US users, as well as disclaimers and limitations of liability.
What we don’t collect
We do not collect, receive, or store any of the following from the Crufti application:
- Telemetry or product analytics
- Usage statistics or behavioral data
- Crash reports or diagnostic logs
- Contents of any file scanned, matched, or deleted
- File paths, filenames, or directory listings
- Bundle identifiers, application names, or metadata for the apps you clean
- Personal information such as your name, postal address, or phone number (beyond what you choose to include in an email to us)
- Device identifiers, hardware serials, or location data
- Keystrokes, clipboard contents, or screen contents
Your IP address is handled only as described in “Network activity” below: it is processed by our content delivery network on our behalf to deliver the update feed and the marketing website, but we do not log, retain, or analyze it ourselves.
Network activity
The application makes one category of outbound network request: checking for software updates through the Sparkle update framework. Crufti uses the Sparkle update framework. Sparkle periodically fetches an appcast XML file from https://crufti.app/appcast.xml via our content delivery network (Cloudflare).
Like any HTTP request, this exchange necessarily reveals your public IP address, a Sparkle user-agent string, and a timestamp to the CDN that serves the response. That is an unavoidable feature of network communication, not a choice we have made to track you. Cloudflare acts as our service provider (CCPA) / processor (GDPR) and processes this metadata on our behalf to deliver the update feed and protect the endpoint from abuse. We do not access Cloudflare’s request logs for our own use, and we do not combine Cloudflare’s data with any other data we hold. Sparkle’s optional SUSendProfileInfo flag is explicitly set to false in the application’s Info.plist, preventing transmission of system profile information. For information about how Cloudflare handles network metadata in its role as a CDN, see the Cloudflare Privacy Policy.
To decline an individual update, use the “Skip this Version” / “Remind Me Later” options in Sparkle’s update dialog when it appears. To prevent update checks entirely, you can block Crufti’s network access in macOS System Settings → Network → Firewall, or simply quit the application when it is not in use. A manual “Check for Updates…” command will still issue a request when you choose to run it.
Separately, macOS itself may contact Apple servers (for example for notarization checks, Gatekeeper, and OCSP) when a signed application is launched. That traffic is operating-system behavior, governed by Apple’s privacy practices, and is not something Crufti controls or originates.
Local activity and background behavior
Crufti may monitor the macOS Trash folder for .app bundles and post a local macOS notification when one is placed in the Trash, so you can clean up its leftovers. Trash monitoring is local to your Mac — nothing is transmitted. To post notifications, Crufti requests the macOS Notifications permission; you can grant or deny this in System Settings → Notifications. Crufti will function without this permission; notifications will simply not appear.
File access entitlement
Crufti uses the macOS user-selected file access entitlement (com.apple.security.files.user-selected.read-write) to read application bundles you drop onto the application. Crufti does not read files outside your drop selection and the library locations covered by Full Disk Access.
Full Disk Access
Crufti will run without Full Disk Access, but macOS will prevent it from reading inside protected containers (for example Containers and Group Containers inside ~/Library), so scans in that mode will miss leftover files stored there. To scan those locations completely, the application requests the Full Disk Access permission offered by macOS.
Full Disk Access is granted by you, in System Settings, to the application running on your own machine. The grant is between you and macOS; we have no visibility into what the application reads, and nothing that the application reads under this permission is transmitted off your Mac.
Local data storage
The application writes records to your Mac that remain on the local device and are never transmitted to us or to any third party. These include, but are not limited to, deletion manifests, local cleaning history, and update-framework preferences such as the last-update-check timestamp:
- Cleaning history — a record of past cleaning sessions, stored through SwiftData inside the application’s own container.
- Deletion manifests — JSON audit files created before each cleaning operation and stored in
~/Library/Application Support/Crufti/DeletionManifests/. - Sparkle preferences — Sparkle writes a small amount of state to macOS user defaults (typically at
~/Library/Preferences/com.crufti.app.plist), including the last-update-check timestamp, the state of the update-check toggle, and EdDSA signature-trust state used to verify updates.
You control retention of this local data. Cleaning history can be cleared from within the application, manifest files can be deleted from the folder above at any time, and Sparkle preferences are removed when you uninstall the application and its support files. Because none of this data reaches our servers, we have nothing to produce in response to data-access, deletion, or portability requests concerning it.
Marketing website
The crufti.app website is a static site hosted on Cloudflare Pages. It sets no first-party cookies, serves no analytics scripts or tracking pixels, and loads no advertising or third-party measurement tools. As the host and CDN, Cloudflare processes standard server-level request metadata (such as IP address, user-agent, and requested path) on our behalf in order to deliver pages and provide security services; this processing is governed by the Cloudflare Privacy Policy. We do not access those logs for marketing or profiling, and we do not combine them with any other data we hold.
Email correspondence
If you email us at hello@anothermadworld.com, the contents of your message, your email address, and any information you choose to include become personal information we process for the purpose of responding to you. Our mail is delivered through Apple’s iCloud Custom Email Domain service, which means Apple acts as a sub-processor for email-in-transit and mailbox storage. You can request a copy or deletion of that correspondence at any time. We retain email correspondence for up to three (3) years after our last exchange with you unless a longer period is required by law.
Third-party services
The third-party components involved in delivering the application, this website, and support correspondence are:
- Cloudflare — hosts the appcast file and the marketing website, acting as CDN and security layer. Cloudflare processes network metadata (IP address, user-agent, request path, timestamp) on our behalf.
- Apple — provides iCloud Custom Email Domain, which delivers and stores mail sent to our support address. Separately, macOS itself communicates with Apple servers as part of running signed applications (notarization, Gatekeeper, OCSP); that is Apple’s OS behavior, not something Crufti initiates.
- Sparkle — an open-source update framework that runs locally inside the application and performs the appcast fetch described above. Sparkle does not transmit data to the Sparkle Project; it is a client-side library.
We do not use third-party analytics vendors, crash-reporting services, advertising networks, tag managers, or session-replay tools.
Children’s privacy
The application and website are not directed to children. We do not knowingly collect personal information from children under 13 in the United States, consistent with the Children’s Online Privacy Protection Act. For users in the EU and the UK, we do not knowingly process data of anyone under 16. For California users subject to CCPA/CPRA rules on the sale or sharing of personal information, we do not knowingly process data of anyone under 16 for sale or sharing purposes. If you believe a child has provided us with personal information, contact us at the address below and we will take reasonable steps to address the matter.
International users and data transfers
Another Mad World is based in the United States. If you access the application or website from outside the United States, you acknowledge that the limited network metadata described above may be processed in the United States and in other jurisdictions through which Cloudflare routes traffic. Cloudflare operates under the EU–US Data Privacy Framework and relies on Standard Contractual Clauses for transfers of personal data out of the EEA, the UK, and Switzerland; that framework provides the legal basis for the incidental transfer of your network metadata when you use the update feed or visit the website.
GDPR, UK GDPR, and Swiss FADP
Where the GDPR, UK GDPR, or Swiss FADP applies, Another Mad World is the controller of the limited personal data described in this policy. Our legal basis for processing the network metadata involved in update delivery and website hosting is our legitimate interest (Art. 6(1)(f) GDPR) in securely distributing software updates and operating the site. Our legal basis for processing email correspondence is our legitimate interest in responding to your inquiry, or, where applicable, the performance of a contract with you.
You have the rights of access, rectification, erasure, restriction, objection, and portability in respect of any personal data we hold about you (in practice, typically limited to email correspondence). To exercise these rights, contact us at the address below. You also have the right to lodge a complaint with your local supervisory authority.
California notice at collection (CCPA/CPRA)
This section is provided to California residents under the California Consumer Privacy Act, as amended by the CPRA.
Categories of personal information collected in the preceding 12 months. Internet or other electronic network activity information (IP address, user-agent string, request path, timestamp) processed by our CDN when you fetch the update feed or visit the website; identifiers and correspondence content (your email address and the contents of your email) if you contact us.
Sources. Directly from your device and browser (network metadata); directly from you (email correspondence).
Business purposes. Delivering software updates, operating and securing the marketing website, responding to support and privacy inquiries, and complying with law.
Categories disclosed to service providers (CCPA) / processors (GDPR). Network-activity metadata is disclosed to Cloudflare (CDN and security). Email content and identifiers are disclosed to Apple in its role as mailbox host via iCloud Custom Email Domain. The Sparkle update framework is open-source software that runs locally inside the application and does not transmit data to the Sparkle Project.
Sale or sharing. We do not sell or share personal information as those terms are defined by the CCPA/CPRA, and we have not done so in the preceding 12 months. We do not use or disclose sensitive personal information for any purpose that would trigger a right to limit its use.
Retention. We retain email correspondence for up to three (3) years after our last exchange with you unless a longer period is required by law. We do not retain CDN-level request logs ourselves; Cloudflare’s retention is governed by its own policy.
California rights. You have the rights to know, to access, to correct, to delete, to limit use of sensitive personal information, to opt out of sale or sharing (none occurs), and to non-discrimination for exercising your rights. To exercise these rights, contact us at the address below. We do not require a California-specific authorized-agent form; a clear written request is sufficient.
Other US state privacy laws
We extend the substantive rights described above to residents of other US states with comprehensive consumer-privacy laws, including Virginia (VCDPA), Colorado (CPA), Connecticut (CTDPA), Utah (UCPA), Texas (TDPSA), Oregon (OCPA), and Montana (MCDPA). Residents of those states may exercise their applicable rights of access, correction, deletion, portability, and opt-out of targeted advertising or profiling by contacting us at the address below. We do not engage in targeted advertising or in profiling that produces legal or similarly significant effects.
For Washington State residents under the My Health My Data Act (MHMDA): we do not collect, sell, or share consumer health data, and none of the information described in this policy falls within the MHMDA definition of consumer health data.
Do Not Track and Global Privacy Control
Because we do not track users across sites or over time, we take no specific action in response to Do Not Track or Global Privacy Control signals. There is no tracking behavior to disable.
Security and breach notification
We apply commercially reasonable technical and organizational measures appropriate to the limited nature of the information involved in delivering the application. No software, storage medium, or network transmission is, however, ever perfectly secure.
In the event of a data breach affecting personal information we control, we will provide notice to affected individuals as required by applicable law, including RCW 19.255 (Washington) and other state breach-notification statutes, and, where applicable, Articles 33 and 34 of the GDPR.
Changes to this policy
We may update this policy from time to time. The “Effective Date” at the top of the page will reflect the most recent revision. For material changes that affect how we handle personal information, we will provide at least thirty (30) days’ advance notice — through the application, on this website, or by email where we have an existing correspondence thread with you. Non-material edits (such as clarifications or address updates) may take effect upon posting.
Relationship to our Terms of Service
These practices are also subject to our Terms of Service, which contain our dispute resolution terms, including binding arbitration and a class-action waiver for US users, as well as disclaimers, warranties, and limitations of liability that apply to your use of the application and the website.
Contact
For privacy questions, contact Another Mad World (the publisher) at hello@anothermadworld.com. Another Mad World is an unincorporated studio based in Washington State, USA; more information about the publisher is available at anothermadworld.com.