NEOCODEC · RELEASES · CONTACT

Privacy Policy

Product: Neocodec (macOS video/GIF converter; internal repo codename vidconvert) Publisher / data controller: George Liu, Brisbane, Queensland, Australia Contact: https://neocodec.com/contact/privacy Effective date: 17 August 2026


Summary (plain English)


1. Scope

This policy covers the Neocodec website, macOS application, free-trial service, license activation, update checks, support, and the app's optional OpenRouter transcription integration. Cloudflare, Google, Polar, and OpenRouter/the selected model provider also process data under their own terms and policies; this policy does not replace them or cover unrelated third-party websites opened from external links.


2. Local conversion and the optional transcription exception

All video/GIF conversion is performed entirely on your device using bundled helper programs (FFmpeg/ffprobe and gifsicle). Your source files, their contents, filenames, and the converted output:

Neocodec-operated conversion, trial, licensing, update, and support infrastructure does not receive conversion media automatically.

2A. Optional OpenRouter transcription uploads

Transcription is off until you save your own OpenRouter API key in the macOS login Keychain and explicitly approve an upload. Neocodec does not copy the key into preferences, logs, or diagnostic reports. It contacts OpenRouter to verify the key and refresh model information.

The selected model determines what an approved transcription sends:

Audio and whole-video uploads require separate, versioned approvals. Declining approval sends no media. Withdrawing approval blocks new uploads; cancel a running queue item to stop that item. Completed transcripts remain in the local destination you selected.

OpenRouter passes the request to the third-party provider operating the selected model. Every media request asks OpenRouter to route only to providers that do not retain the data. Neocodec cannot verify that a provider honours that request. If no qualifying provider is available, Neocodec refuses the transcription instead of silently falling back. OpenRouter and the selected provider necessarily receive the approved media/request, your IP address, and ordinary request metadata and process them under their own terms and privacy policies. Neocodec does not receive or store a copy.


3. License activation and validation (Polar)

To unlock the paid version, the app sends a small amount of data to our merchant of record, Polar (api.polar.sh), when you activate a license and periodically thereafter to keep the license valid.

Data sent for activation/validation:

Periodic re-validation checks send less than activation: your license key, the product identifier, the activation id, and the hashed device identifier — but not the device label, operating-system version, or app version. As with any network request, contacting Polar (api.polar.sh) necessarily discloses your device's IP address and a basic user-agent string to Polar, exactly as any web request does (the same disclosure noted for update checks in Section 4); Polar's handling of this is governed by its privacy policy, linked below.

How it is used: solely to issue, validate, count, and (when you choose) deactivate license activations, and to prevent abuse such as sharing one key across unlimited machines. The app validates your license when you activate it, each time you launch the app, about once every 24 hours while it is running, and from the command-line tool when a licensed cached verdict is at least 24 hours old. Either path refreshes the same grace period. If you are offline, both the app and command-line tool keep working for up to 14 days from the last successful validation. Neither transmits your media, file names, command arguments, or usage as part of licensing.

Polar processes this data as part of providing the licensing service. See Polar's privacy policy: https://polar.sh/legal/privacy-policy.

3A. Free-trial validation (Neocodec and Cloudflare)

The full-feature free trial lasts exactly 14 × 24 hours. No account, name, email address, license key, or payment method is required to start it. Internet access is required at the first start. While the trial is active, the app normally refreshes a signed trial lease after 24 hours; a verified lease permits up to 72 hours offline but never extends the absolute trial end.

Data sent: the app sends a SHA-256 hash derived from the Mac's hardware identifier and a fixed Neocodec-specific value, plus the Neocodec product-major number. The raw hardware identifier is never sent. The trial request does not contain media, filenames, conversion settings, usage history, an account, a license key, a device name, an email address, or payment information.

Data retained by Neocodec: before writing anything to the trial database, the service applies a secret server-side HMAC to the submitted hash. It retains only that second, server-derived pseudonymous value, an opaque trial ID, the product major, the first-seen time, and the immutable original 14-day end. If support blocks or extends a trial, the service also stores the bounded override, time, reason, and authenticated admin email, plus an append-only before/after audit record. Admin reasons must not contain a customer's name, email, license key, raw/submitted device hash, media name, or other free-form personal details. A customer can quote the opaque trial ID for support without disclosing the device hash.

How it is used: only to return the same original trial after preference deletion or an ordinary reinstall, calculate and sign a short-lived lease, prevent repeated free trials on the same device for the same product major, investigate abuse, and perform audited support actions. It is not used for advertising, behavioral analytics, cross-product tracking, or profiling.

The trial service is hosted on the Cloudflare platform. As with any network service, Cloudflare necessarily processes connection metadata such as the IP address and request time to deliver and protect the request. Neocodec does not intentionally write IP addresses, request bodies, the submitted device hash, derived ledger keys, or signed leases to application logs. See Section 7 for the retention periods and rolling-backup delay that applies when data is deleted.


4. Software updates (Sparkle)

The app uses the open-source Sparkle framework to check for and deliver updates from neocodec.com. Sparkle tells the app when a new version is available and manages the update. Like any web request, an update check necessarily shares your IP address and a basic user-agent with the host. We do not use update checks to build user profiles.


5. No accounts, analytics, or advertising — and optional local crash reporting

5a. Diagnostics you copy and send us

Separately from crash reporting above, Settings ▸ About has "Copy Diagnostics" and "Email Support…". These build a plain-text support report only when you press the button. There is no background collection, and the report never leaves your Mac unless you paste or send it. Because you send it yourself, you can read and edit it first.

Unlike the crash reports described above, this report can include the names of files you converted. Specifically it contains:

You can wipe the stored error tail at any time with "Clear recent errors" on the same screen.

Technical breadcrumbs in the macOS log. Neocodec writes technical breadcrumbs — version numbers, preset names, counts, durations, and error codes — to the standard macOS unified log, which is how Mac software records diagnostics. These are designed to contain no file names and no file contents. Note that the macOS log is shared system-wide: an administrator of your Mac can read it, which matters on a managed work Mac or a shared computer.

What we do with a report you send. We use it only to answer your request, we do not add it to any profile, and we delete it when your request is closed. We do not paste its contents into third-party services.


6. Purchases and payments (merchant of record)

Your purchase is sold and processed by Polar, acting as the merchant of record. Polar (and its underlying payment processors) collects and processes the personal and payment information needed to complete your purchase — such as your name, email address, billing/country information for tax, and payment-card details — and issues your receipt. We do not receive or store your full payment-card details. Your license key is issued and emailed to you by Polar; we may receive limited order information (such as your email address and the fact of a purchase) to provide support and manage your license entitlement. Polar's collection and use of purchase data is governed by Polar's own privacy policy: https://polar.sh/legal/privacy-policy.


7. What we store, and for how long

7A. Website contact forms

When you use a Neocodec support or privacy form, we process the name you provide, your email address, subject, and message so we can respond. Cloudflare processes network and anti-abuse information, including your IP address, to deliver the form and verify that it was submitted by a person. Support and privacy messages enter the same Zoho Desk support workflow; fixed subject prefixes distinguish privacy requests from general support.

The website does not keep a separate form-submission database. Correspondence follows the 24-month support-retention period above unless a legal hold, transaction record, active dispute, or privacy-request record requires a different period. Do not submit passwords, full licence keys, API keys, or media files.

7B. Website analytics

The Neocodec website uses Cloudflare Web Analytics and Google Analytics 4 (measurement ID G-8SZ48NN4FD) to understand which pages are visited, basic referral and campaign information, approximate device/browser characteristics, and aggregated site interactions. The website does not send conversion media, licence keys, contact-form message contents, or Mac-app activity to these analytics services.

Cloudflare processes connection information needed to provide and measure the site. Google Analytics can process the page URL, referrer, IP address and browser/device information, and may use cookies or similar identifiers according to the visitor's browser and applicable consent settings. Cloudflare's Google tag gateway may deliver the Google tag and measurement requests through a first-party path on neocodec.com; this changes the network delivery path but Google remains an analytics recipient. Analytics records are retained according to the configured Cloudflare and Google Analytics property settings. You can limit this processing using browser privacy controls, content blockers, or the controls made available by Google.


8. Your rights

Depending on where you live (for example under the Australian Privacy Act / Australian Privacy Principles, or the EU/UK GDPR), you may have rights to access, correct, delete, or restrict the processing of your personal information, and to complain to a regulator. Contact the secure privacy form at https://neocodec.com/contact/privacy with enough information for us to identify the relevant record without sending a full license key or media. We will acknowledge the request, investigate it, and respond; if you remain dissatisfied you may complain to the Office of the Australian Information Commissioner or the regulator available in your jurisdiction. For data held independently by Polar, OpenRouter, or a model provider, you may also need to contact that provider directly.


9. Children

The app has no Neocodec account and is not directed at children. Trial/licensing services process the technical identifiers described above, and optional transcription sends user-approved content to OpenRouter/model providers. We do not knowingly seek children's personal information; a parent or guardian can use https://neocodec.com/contact/privacy about a concern.


10. International transfers

Website analytics is processed by Cloudflare and Google; license-activation data is processed by Polar and its infrastructure providers; free-trial data is processed by Cloudflare and its infrastructure; and approved transcription data is processed by OpenRouter and the selected model provider. These providers may be located outside your country, including the United States, the European Union, and other locations selected by them. The exact model provider can vary with your selection and current OpenRouter routing. Where personal information is transferred internationally, the safeguards required by applicable law apply.


11. Changes to this policy

We may update this policy as the app evolves (for example, if consent-based diagnostics are introduced). We will post the updated policy at https://neocodec.com/privacy and update the effective date above.


12. Contact

George Liu, Brisbane, Queensland, Australia https://neocodec.com/contact/privacy