DroidMac — Privacy Policy

Effective Date: 6 September 2026 Version: 1.2

What changed in 1.2: DroidMac for macOS now has a paid upgrade, DroidMac Pro. Section 4.3 describes the two new pieces of local data this introduces (your licence key and a daily transfer counter), and Section 10 describes what happens when you buy — including the fact that we never see your card details. Neither the counter nor the licence check sends anything off your Mac. The DroidMac Companion app for Android is unaffected: it remains free, with no paid features and no transfer limit.

What changed in 1.1: DroidMac and DroidMac Companion now include an optional diagnostics and crash-reporting feature (Section 3). It is described in full below, can be switched off at any time, and never has access to the contents of your files. Section 4 was also corrected to describe where Wi-Fi pairing tokens are actually stored on macOS.


1. Introduction

Codeaamy Private Limited ("we", "us", "our") is committed to protecting your privacy. This Privacy Policy describes how DroidMac (macOS) and DroidMac Companion (Android) — together, the "App" — handle information when you use them.

DroidMac is built on a fundamental principle: your files and your data belong to you, and they stay with you. All file transfers happen directly between your Mac and your Android device. No file ever passes through our servers, because we operate none for that purpose.

The single exception to "nothing leaves your device" is the optional diagnostics feature described in Section 3, which exists so we can find and fix crashes. You control it, and it never touches file contents.


2. What We Do NOT Collect

We do not collect, store, or transmit — whether or not diagnostics are enabled:

  • File content. Files transfer directly between your devices. We never receive, inspect, store, or transmit them.
  • Personal identification data (name, email address, phone number, postal address).
  • Account or registration data — DroidMac requires no account.
  • Your IP address. Diagnostic reports are configured to discard it at the point of collection.
  • Location data.
  • Advertising identifiers, device serial numbers, MAC addresses, IMEI, Android ID, or your Apple/Google account details.
  • Contacts, photos, messages, calendar entries, or any other content on your devices.
  • The real names of your files and folders — see Section 3.4.
  • Anything at all, if you switch diagnostics off.

3. Diagnostics & Crash Reporting (Optional)

3.1 What it is and why it exists

When DroidMac crashes, freezes, or fails a transfer, we have no way of knowing unless you tell us. Diagnostics exist so that faults report themselves with enough technical context to be fixed. They are not analytics: we do not use this data to build a profile of you, to measure engagement, to sell anything, or to share with advertisers.

Diagnostics are processed on our behalf by Sentry (see Section 9.3).

3.2 Your control over it

  • Consent first. Nothing is sent before you have accepted the Terms & Privacy Policy on first launch (macOS) or completed onboarding (Android). Before that point the reporting system is not merely idle — it is not started at all.
  • Switch it off at any time. macOS: Settings → Diagnostics. Android: Settings → Diagnostics & crash reports. Turning it off takes effect immediately, without restarting the App, and drops anything still queued.
  • See exactly what is collected. Both apps include a log viewer showing every entry that would be sent. On macOS, Settings → Diagnostics → Preview Report… shows the precise text of a support report before you send it.
  • Reset your identifier. "Reset installation ID" issues a new random identifier, after which new reports cannot be linked to earlier ones.

3.3 What is collected when diagnostics are enabled

An anonymous identifier. A random identifier (a UUID) generated on first launch and stored on your device. It is not derived from your name, your hardware serial number, your Mac's or phone's name, your network, your Apple or Google account, or any advertising identifier. It tells us only that several reports came from the same installation, which is what makes a bug reproducible rather than a one-off. A second identifier distinguishes one run of the App from another.

Technical information about your device:

  • App version, build number and release channel.
  • Operating system version.
  • Device model family (for example Mac14,5, or Pixel 8 Pro), processor, processor core count, and installed memory.
  • System language and region.

Fault information:

  • Crash reports, including the stack trace showing where the App failed.
  • Reports of the App becoming unresponsive.
  • Errors that the App handled but should not have encountered, with the error type and code.
  • Diagnostic log entries written by the App, at debug, information, warning and error level.
  • A short trail of the actions leading up to a fault — for example "device connected → folder opened → transfer started → transfer failed" — so a fault can be reproduced.
  • Whether a session ended in a crash, so we can measure how stable a release is.
  • Timing measurements for a sampled portion of operations, used to find performance regressions.

Information about transfers — never their contents:

  • Transfer type and outcome, file sizes, bytes transferred, duration, speed, number of retries, and whether the item was a file or a folder.
  • Connection type (USB, Wi-Fi).
  • A file's extension and the length of its name — see Section 3.4.
  • The name of a paired device, but only where that name matches a recognised manufacturer string such as "Pixel 8 Pro" or "MacBook Pro". A device you have renamed yourself is replaced with a placeholder, because people commonly rename devices to their own name.

3.4 How file and folder names are protected

File names are frequently sensitive on their own — a name can disclose a medical condition, a legal matter, or a person. By default the App never sends them.

A file called Scan results 2026.pdf is reported as ‹18 chars›.pdf. The extension is kept because most transfer bugs are specific to a file format and are not diagnosable without it; the length is kept because failures involving very long names are a real category of bug. The name itself is discarded before the report leaves your device.

Folder paths are shortened in the same way, and identifying path components are removed: on macOS your home directory becomes ~, and on Android the storage and app-private paths that embed your user and package identifiers are replaced with generic equivalents. This removal is applied to all diagnostic text, including error messages produced by the operating system, which routinely quote full paths.

If support is investigating a specific problem with you, you may choose to turn on "Include real file names" to help. It is off unless you turn it on, and you can turn it off again at any time.

3.5 Where diagnostics are sent and how long they are kept

Diagnostic reports are transmitted over an encrypted connection to Sentry's European Union infrastructure and are stored there. They are retained for the retention period configured on our Sentry project and are then deleted automatically. Access is restricted to Codeaamy personnel responsible for maintaining the App.


4. Local Data Storage

The App stores a small amount of data locally on your own device.

4.1 Wi-Fi pairing tokens

When you pair your Mac and your Android device over Wi-Fi, an authentication token is generated so the two can recognise each other later.

  • On Android, tokens are held in the platform's encrypted storage (Android Keystore–backed).
  • On macOS, tokens are held in a file within the App's Application Support directory (~/Library/Application Support/DroidMac/), readable by your macOS user account. This file is protected by your Mac's user account permissions and by FileVault where you have enabled it.

Tokens are only ever used on your Local Network, to authenticate your two devices to each other. They are never transmitted to us or to any third party. Removing a paired device in the App deletes the corresponding token.

4.2 App preferences

Preferences such as theme, font size, download folder and diagnostics settings are stored locally (macOS UserDefaults; Android app storage) and are never transmitted externally.

4.3 Licence key and transfer counter (macOS only)

If you purchase DroidMac Pro, two further items are stored locally on your Mac in macOS UserDefaults:

  • Your licence key — the signed token from your purchase email. It contains the email address you used at checkout, the product name, and the issue date. It is verified entirely on your Mac; checking it does not require an internet connection and does not contact us. It is never transmitted anywhere by the App.
  • A daily transfer counter — the number of bytes transferred today and the current date, used to apply the free tier's 1 GB daily allowance. It is a byte total only: it records no file names, sizes of individual files, destinations, or any other detail of what you transferred. It resets at local midnight and is never transmitted anywhere.

Neither item exists on the Android Companion app, which has no paid features and no transfer allowance.

4.4 Diagnostic logs held on your device

Recent diagnostic log entries are kept in memory while the App is running so you can view them, and they are discarded when you quit. They are included in a support report only if you choose to send one.


5. File Transfers

All file transfers performed by the App are:

  • Local only — directly between your Mac and your Android device.
  • Not intercepted — we do not access, monitor, or log file contents.
  • Not uploaded — no file is ever sent to Codeaamy or to any third party, including Sentry.
  • User-initiated — the App takes no automated action on your files without your explicit instruction.

USB (MTP) Transfers

Communication occurs over the physical USB connection between your devices. No network communication is involved.

Wi-Fi Transfers

A direct connection is established to your Android device on your Local Network. File data remains within your Local Network and is not routed through any external network or server.


6. Network Usage

6.1 Bonjour / mDNS — Local Device Discovery

The App uses Bonjour (mDNS/DNS-SD) to discover compatible devices on your Local Network. Bonjour operates entirely within your local subnet and does not send packets to the internet.

6.2 Outbound connections

File transfer, device discovery and pairing generate no outbound internet connections — they operate entirely on your Local Network.

The App makes outbound connections to the internet in three circumstances, and no others. There are no update checks, and no advertising or tracking connections.

  1. Diagnostic reports to Sentry — as described in Section 3, and only when diagnostics are enabled.
  2. Downloading the licence cancellation list — at most once a day, and only on the paid version. This is an ordinary file download; it sends us nothing about you, not even which licence you hold.
  3. Reporting a licence activation — once, at the moment you activate a licence key. See Section 10.3 for exactly what this contains.

Connections 2 and 3 relate only to DroidMac Pro. If you use the free version, neither ever happens.

6.3 Local Network Permission

macOS and Android require apps using local network features to declare a Local Network permission. It is used exclusively for device discovery and file transfer on your Local Network.


7. Bluetooth

The macOS App declares Bluetooth access in anticipation of a potential future feature. In the current version, Bluetooth is not used for any purpose. No Bluetooth scanning, connection, or data transmission occurs. This Policy will be updated if Bluetooth functionality is introduced.


8. USB Access

When your Android device is connected via USB:

  • The App communicates using MTP via the libmtp and libusb libraries.
  • Communication is entirely over the physical USB connection.
  • No USB session data is persisted or transmitted externally, beyond the non-identifying transfer statistics described in Section 3.3 when diagnostics are enabled.

9. Third-Party Components

9.1 libmtp

  • Function: USB MTP protocol for file transfer with Android devices.
  • Licence: LGPL-2.1+.
  • Data: Processes file data locally only. No external transmission. Contains no telemetry or analytics.

9.2 libusb

  • Function: Low-level USB access on macOS.
  • Licence: LGPL-2.1.
  • Data: Manages USB hardware locally only. No external transmission. Contains no telemetry or analytics.

9.3 Sentry — diagnostics processor

  • Provider: Functional Software, Inc. (trading as Sentry).
  • Function: Receives and stores the diagnostic and crash reports described in Section 3, on our behalf and under our instruction, as a data processor.
  • Region: Reports are sent to and stored on Sentry's European Union infrastructure.
  • Active only when you have consented and diagnostics are enabled. With diagnostics switched off, the component is not started and transmits nothing.
  • Privacy policy: https://sentry.io/privacy/

10. Payments and Purchases

This Section applies only if you buy DroidMac Pro for macOS. It does not apply to the free tier, and does not apply to the Android Companion app.

10.1 We never see your card details

Payments are processed by Stripe, Inc. Your card number, CVC, and billing credentials are entered on Stripe's systems and are never sent to, handled by, or stored by us. We cannot see them. Stripe's use of your payment data is governed by Stripe's own privacy policy: https://stripe.com/privacy

10.2 What we receive

From a completed purchase we receive the information needed to issue and support your licence — principally the email address you provide at checkout, plus the fact and date of the purchase. We use it to send you your licence key, to answer support requests, and to process a refund if you ask for one.

We do not use your purchase email for marketing unless you separately opt in.

10.3 What the licence check does and does not send

Your licence key is verified offline on your Mac. DroidMac Pro does not require an internet connection to work, and we are never told when or how often you use the App. There is no activation server standing between you and your own software: if our systems disappeared tomorrow, your licence would keep working.

Two limited connections exist, both concerned with licence keys being shared publicly rather than with you.

When you activate a licence key, the App sends us one message containing:

  • the licence ID — identifies the purchase, not you;
  • an installation identifier — a random value generated on your Mac. It is not derived from your hardware. We do not collect your device serial number, Mac address, or any hardware identifier (see Section 2);
  • the app version.

It contains no email address, no file or folder information, and no usage data. Its only purpose is counting how many machines a single licence key is used on, so that a key posted publicly can be cancelled. If the message fails to send, your licence still activates normally — nothing depends on it.

At most once a day, the App downloads a small list of cancelled licence IDs so a key that has been shared publicly stops working. This is a plain file download and tells us nothing about you or your licence. If it cannot be reached, your licence continues to work unchanged.

You can see the installation identifier, and clear it, by removing your licence in Settings → About.


11. System Permissions

Local Network Access

  • Why: Device discovery and Wi-Fi file transfer on your Local Network.
  • If denied: Wi-Fi features unavailable. USB transfer unaffected.

Bluetooth Access (macOS)

  • Why: Reserved for future use. Not active in the current version.
  • If denied: No current functionality affected.

File System / Storage Access

  • Why: To read and write files you explicitly select or approve for transfer.
  • Scope: Only files and directories you designate — no background scanning.
  • If denied: Files cannot be read for sending or written on receipt.

12. Children's Privacy

The App is not directed at children under the age of 13, and we do not knowingly collect personal information from children. The App requires no account and collects no personal identification data from any user. The optional diagnostics described in Section 3 contain no personal identification data and no file contents. If you believe a child has provided us with information through a support email, contact privacy@codeaamy.com and we will delete it.


13. Data Security

  • Pairing tokens: Stored as described in Section 4.1 and used only on your Local Network.
  • Diagnostics in transit: Transmitted over an encrypted (TLS) connection.
  • Data minimisation: Diagnostic reports are stripped of file names and identifying path components on your device, before transmission.
  • Minimum permissions: The App requests only the permissions its features require.

You are responsible for the security of your macOS and Android user accounts, your Local Network (WPA2/WPA3 recommended), and physical access to your devices.


14. Data Retention

Retention by us

  • With diagnostics off: we hold no data about you.
  • With diagnostics on: diagnostic reports are retained by our diagnostics processor for our configured retention period and deleted automatically thereafter. They contain no personal identification data.
  • Support correspondence: if you email us a report, that email is retained for as long as needed to resolve your query.

Retention on your device

  • Pairing tokens: until you unpair the device or uninstall the App.
  • Preferences: until the App is uninstalled or preferences are reset.
  • Diagnostic logs: held in memory only; discarded when the App quits.
  • Transferred files: stored where you designate. The App maintains no external index or log of them.

15. Your Rights

The App requires no account and collects no personal identification data, so we generally hold no information capable of identifying you. With respect to the data described in this Policy:

  • Access: Inspect diagnostic log entries and the exact contents of a support report from within the App (Settings → Diagnostics). Inspect locally stored preferences via your operating system.
  • Objection / withdrawal of consent: Switch diagnostics off at any time in Settings. This takes effect immediately.
  • Erasure: Use "Reset installation ID" to sever the link between future reports and earlier ones. To request deletion of diagnostic reports already submitted, email privacy@codeaamy.com with your installation ID (shown in Settings → Diagnostics) and we will delete the associated reports.
  • Deletion of local data: Unpair devices to remove tokens; uninstall the App to remove preferences.
  • Portability: Your files remain in your possession, in standard formats, at all times.

For any queries, contact privacy@codeaamy.com.


16. Governing Law

This Privacy Policy is governed by the laws of the Republic of India, including:

  • The Digital Personal Data Protection Act, 2023
  • The Information Technology Act, 2000
  • The Information Technology (Amendment) Act, 2008
  • The IT (Reasonable Security Practices and Sensitive Personal Data) Rules, 2011

Disputes are subject to the exclusive jurisdiction of courts in Pune, Maharashtra, India.


17. Changes to This Policy

We may update this Privacy Policy when the App's features change or when required by law. We will update the Effective Date and notify users through the App where practicable. Continued use after changes constitutes acceptance.


18. Contact Us

Codeaamy Private Limited Pune, Maharashtra, India


© 2026 Codeaamy Private Limited. All Rights Reserved.

© 2026 Codeaamy Private Limited. All Rights Reserved.  |  Terms & Conditions