Privacy Policy
EarPurifier (هدوء) — AI Audio Isolation Studio
Developed by Mariam Initiative (مبادرة مريم)
Effective Date: November 2026
Last Updated: November 2026
Executive Privacy Summary
- Zero Data Collection & Zero Telemetry: EarPurifier does not track users, log IP addresses, collect behavioral analytics, or profile devices. Mariam Initiative operates no intermediary servers that process or harvest your files.
- Local Engine is 100% Offline: When using on-device processing, all media files, video frames, subtitles, and neural network computations remain exclusively on your physical machine.
- Cloud Engine Uploads Audio Stems Only: When using Kaggle cloud compute, only the isolated audio stream (16-bit 48kHz FLAC) is uploaded to a private ephemeral buffer under your personal Kaggle account. Your original video, images, subtitles, and container metadata never leave your computer.
- Automatic Ephemeral Purging: Ephemeral cloud buffers and containers are permanently deleted immediately upon task completion or user abortion.
- Native OS Encryption: Kaggle credentials are encrypted at rest using the native Windows Data Protection API (DPAPI). Plaintext keys never touch the physical disk.
- Strictly Bounded Local Logs: Operational logs stay strictly on your local disk with a 10 MB cap, automated 48-hour auto-purging, and token masking. Logs are never uploaded automatically.
1. Introduction and Architectural Scope
EarPurifier (هدوء) ("the Application," "we," "our," or "the Studio") is an open-source technical desktop utility developed by Mariam Initiative (مبادرة مريم) — a charitable service initiative dedicated to engineering high-utility software solutions that simplify knowledge acquisition and empower researchers and listeners.
This Privacy Policy governs your use of the EarPurifier desktop application and details our technical safeguards, data sovereignty commitments, cryptographic credential management, and the architectural boundaries between local compute and third-party cloud processing.
Mariam Initiative does not operate commercial backend servers, cloud databases, user account brokers, or data collection infrastructure. EarPurifier is designed from the ground up on the principle of Zero-Trust Privacy by Architecture.
2. On-Device Data Sovereignty (Local Engine)
When you process media using EarPurifier's Local Engine (Local Mode):
- Air-Gapped Processing: All audio and video processing, neural network inference (including Band-Split RoFormer, MDX23C, and Kim Vocal 2 models), stream demuxing, and hardware remuxing execute strictly within an isolated, hermetic local Python runtime (
%APPDATA%/EarPurifier/env) on your physical computer. - Zero Ingress / Egress: Absolutely zero audio samples, video frames, subtitle text, file names, directory structures, or metadata leave your local device.
- Model Weights Storage: Neural model weight files are stored locally on your hard drive once downloaded and are accessed offline without any remote network pinging.
3. Cloud Mode Data Handling (Kaggle Cloud Infrastructure)
When you explicitly configure and initiate processing using the Cloud Engine (Cloud Mode):
3.1. Audio-Only Extraction Boundary
EarPurifier uses a dual-boundary media pipeline. Before any network transfer occurs, the application uses local FFprobe and FFmpeg binaries to inspect your media container and extract only the targeted audio track into a temporary 16-bit 48,000 Hz stereo FLAC file (audio_<tag_16>.flac).
- What NEVER Leaves Your Machine:
- Video streams (
-vn) are never uploaded. - Subtitle tracks (
-sn) are never uploaded. - Secondary audio tracks and commentary dubs are never uploaded.
- Original file names and global container metadata are never uploaded.
- Video streams (
- What is Uploaded:
- Exclusively the extracted 16-bit 48kHz stereo FLAC audio stem required for acoustic separation.
3.2. Personal Account Isolation & Ephemeral Buffers
- User Ownership: Cloud compute executes under your own personal Kaggle account using your personal credentials (
KGAT_token or legacy API key). - Ephemeral Dataset Buffer: The extracted audio stem is uploaded to an isolated, private Kaggle dataset named
earpurifier-audio-buffer-<tag_16>created under your username with a 64-bit random hexadecimal tag. This dataset is marked private and is inaccessible to other users. - Master Asset Cache: Execution mounts the read-only, publicly accessible asset cache
verymuch/earpurifier-cloud-assets-v2containing pre-compiled wheels and static neural model weights to eliminate container boot overhead.
3.3. Direct Chunked GCS Downloader
Output retrieval bypasses third-party intermediaries. EarPurifier queries the Kaggle kernel session output API to obtain direct signed Google Cloud Storage (GCS) download URLs, then downloads the isolated vocal track (clean_vocals.flac) across 4 concurrent worker threads using HTTP Range requests into temporary .part fragments that are stitched locally.
3.4. Immediate Ephemeral Deletion Guarantee
- On Job Completion: Once the purified audio stem is safely verified and assembled on your machine, EarPurifier automatically issues an API call to permanently delete the ephemeral dataset buffer (
delete_dataset_with_retry) using exponential backoff. - On User Abort or Cancellation: Clicking "Abort", deleting an active job card, or closing the application triggers an immediate container deletion request (
kernels_delete(no_confirm=True)in ~0.44s) to halt GPU quota burn, followed by automated dataset buffer destruction and local temporary folder purging. - Local Temporary Files: Temporary working files in
%APPDATA%/EarPurifier/temp/<job_id>are immediately purged upon completion or abort.
4. Credential Security & Native Windows DPAPI Encryption
EarPurifier treats user credentials with zero-trust cryptographic isolation:
- Hardware-Backed Encryption at Rest: When you enter your Kaggle Username and API Token into the Settings dialog, the token is encrypted using the native Windows Data Protection API (DPAPI) via
CryptProtectData(crypt32.dll), tagged with the application entropy descriptor"EarPurifierKey". - Key Storage: The resulting cipher is stored in
%APPDATA%/EarPurifier/config.jsonprefixed withenc:. The decryption key is derived by Windows and bound to your local OS user account; it cannot be decrypted by unauthorized users, copied to other computers, or extracted by non-privileged software. - Memory Safety: Memory buffers allocated during encryption and decryption are explicitly freed using
kernel32.LocalFreeto prevent plaintext credential remnants from persisting in heap memory. - Direct TLS Communication: Plaintext credentials are transmitted solely over TLS 1.3 encrypted HTTPS connections directly to official Kaggle API endpoints (
api.kaggle.com). Credentials are never shared with, proxied through, or accessible to Mariam Initiative.
5. Telemetry, Analytics, and Network Connections
EarPurifier is built to respect digital rights and privacy. We maintain an uncompromising stance against spyware, adware, tracking, and analytics:
- Zero Analytics SDKs: The application contains no Google Analytics, Firebase, Sentry, Mixpanel, or third-party tracking libraries.
- Zero Profiling: We do not collect MAC addresses, machine GUIDs, hardware serial numbers, IP addresses, or personal identity markers.
- Automated Update Checks:
- If enabled in Settings (default: enabled), EarPurifier queries official GitHub releases (
api.github.com/repos/nitpacker/EarPurifier/releases/latestorraw.githubusercontent.com/...) via HTTPS once every 24 hours to inform you of newer versions. - No user identification, authentication token, or tracking payload is sent with update queries.
- You can disable automated update checks at any time by unchecking Check for Updates Automatically in Settings (
check_updates: false).
- If enabled in Settings (default: enabled), EarPurifier queries official GitHub releases (
- Dependency Downloads:
- If FFmpeg binaries or local neural model weights are missing, EarPurifier downloads official verified packages from public GitHub releases directly to
%APPDATA%/EarPurifier/bin/and%APPDATA%/EarPurifier/models/.
- If FFmpeg binaries or local neural model weights are missing, EarPurifier downloads official verified packages from public GitHub releases directly to
6. Diagnostic Logging & Local Data Retention
To enable debugging and technical support without compromising privacy:
- Local-Only Logging: If diagnostic logging is active (default: enabled), session events are logged strictly to your physical drive at:
%APPDATA%\EarPurifier\applogs\earpurifier.log - Strict Size and Time Caps:
- The logger uses a 10 MB rotating file handler with a maximum of 3 backup archives, bounding maximum log disk footprint.
- An automatic cleanup routine evicts and deletes log files older than 48 hours (172,800 seconds) on every application startup.
- Credential Masking: Debug logs automatically redact sensitive credentials, displaying only masked prefixes and suffixes (e.g.,
KGAT_...XXXXorXXXX...XXXX). Plaintext API tokens are never written to log files. - User-Controlled Transmission: Logs are never uploaded automatically over the internet. You may inspect, delete, or choose to share your log file manually when requesting assistance from technical support.
- Disabling Logging: You can turn off diagnostic logging entirely at any time in the Settings dialog by unchecking Diagnostics Logging (
enable_logging: false).
7. Third-Party Services
When using specific features of EarPurifier, you interact directly with third-party infrastructure:
- Kaggle & Google Cloud Platform:
- Used exclusively when you choose Cloud Mode.
- Subject to Kaggle's Terms of Service and Kaggle's Privacy Policy.
- Media uploaded to your Kaggle account is subject to Kaggle's cloud storage policies.
- GitHub (Microsoft Corporation):
- Used for application updates, release downloads, and open-source model assets.
- Subject to the GitHub Privacy Statement.
8. User Data Rights and Erasure
Because EarPurifier stores all data locally, you retain absolute sovereignty over your information:
- Instant Reset: You can erase all stored credentials, configuration options, queue states, and logs at any time by simply deleting the
%APPDATA%\EarPurifierfolder on your machine. - No Residual Cloud Stubs: In Cloud Mode, dataset buffers are purged upon job completion or cancellation. You may also inspect and manage your private datasets directly in your Kaggle Profile.
9. Policy Updates
We may update this Privacy Policy periodically to reflect architectural enhancements or changes in third-party APIs. Any revisions will be documented in the application repository, user guide, and release changelogs. Continued use of EarPurifier following updates constitutes acceptance of the revised policy.
10. Contact Us
If you have questions, feedback, or inquiries regarding this Privacy Policy or EarPurifier's technical privacy safeguards, you can reach out through our official channels:
Technical Inquiries & Support: https://t.me/blessed_tree
Official Initiative Channel: https://t.me/MariamInitiative
Open-Source Repository: https://github.com/nitpacker/EarPurifier