Skip to content

Carthios — Privacy Policy

Last updated: October 14, 2026

Carthios is an independent macOS app that gives Spotify Car Thing a new dashboard. This policy explains the data handled by the Mac app, its optional diagnostics, and the separate analytics used by this website.

In one sentence: Carthios diagnostics are optional and off by default, accept only a small set of coarse status events, and never include the content you dictate, play, view, or store.


Who runs Carthios

Carthios is built by Zian Meng as an independent developer.
Contact: workingzian@gmail.com

Optional Mac app diagnostics

Your choice, off by default

The Mac app does not send product diagnostics unless you explicitly turn them on during onboarding or later from the Carthios menu. Declining does not limit any Carthios feature. You can disable diagnostics again at any time; disabling stops new collection and deletes any events still waiting in the local unsent queue.

What an enabled app may send

The diagnostics endpoint accepts only these closed, coarse categories:

Each event has exactly two properties. An event time can remain temporarily in the local retry queue so old events expire; the endpoint validates and discards that time rather than forwarding it as an analytics property. Batches are limited to 25 events and 32 KB.

What is never included

Carthios diagnostics do not accept or send:

The endpoint rejects unknown event names, fields, values, oversized bodies, and free-form strings rather than storing or forwarding them. Request bodies and event contents are not written to application logs.

Processor and security

Accepted aggregate events are processed with Vercel Web Analytics, which acts as the analytics infrastructure provider for zianmeng.com. The Carthios endpoint does not pass the incoming app request’s IP address, user-agent, or cookies into the custom event. Requests use HTTPS. Carthios does not sell diagnostics, use them for advertising, or share them with data brokers.

Vercel currently exposes Custom Events only on supported paid plans. If the zianmeng.com project is on a plan without Custom Events, the endpoint still accepts the app’s best-effort request so Carthios does not retry indefinitely, but the event is not available in the Vercel Analytics dashboard.

Retention, access, and deletion

When Custom Events are available, aggregate event retention and reporting windows are governed by the active Vercel Analytics plan and account configuration. Those windows can change and are not a promise that data is deleted when a dashboard reporting window ends.

Carthios intentionally sends no user, account, or persistent installation identifier. As a result, an accepted event cannot be linked back to an individual user, located as “your” event, exported for one person, or individually deleted after processing.

You can stop future events and delete the local unsent queue by turning diagnostics off in Carthios. For questions about aggregate retention or a privacy request that cannot be handled through the app, email workingzian@gmail.com.

Website analytics are separate

Public pages on zianmeng.com use Vercel Web Analytics and Google Analytics 4, loaded through Google Tag Manager, to measure page visits and interactions such as download clicks and successful beta interest submissions. Google Analytics may use browser cookies and identifiers under your browser settings and Google’s policies. The private beta login and download page does not load these analytics scripts. Website analytics run independently of the optional Mac app diagnostics: enabling or disabling diagnostics in Carthios does not change website measurement, and visiting this website does not enable diagnostics in the Mac app.

The website does not use Carthios app data to build profiles, serve targeted advertising, or follow visitors across unrelated sites. Your browser, Vercel, and Google may process ordinary request information needed to deliver and measure the public site under their respective settings and policies. Our beta form events report success or failure without including the entered email, password, or computer choice.

Beta tester list

You can join the beta tester list here.

The optional tester list is separate from app diagnostics and beta activation. For a new entry, this website saves your email address, your declared Mac or Windows choice, the signup and declaration time, and the form’s beta invitation consent version. Public submissions do not verify ownership of an email address or confirm a tester’s platform. Existing records, including any separately confirmed details, are preserved. The list is stored privately using Upstash Redis. Our form events do not send your email to website analytics, and joining does not create an app account or grant beta access.

Submitting an email already on the list leaves its existing details unchanged. To correct your computer choice, leave the list, or request deletion, email workingzian@gmail.com from the address you signed up with. Your entry is kept through the beta invitation period or until you request removal. A hashed network-address counter expires after 15 minutes and limits automated submissions; your network address is not stored in the tester record.

Personal Windows invitations use your normalized email and a randomly generated password. The server stores only their hashes, a random invitation identifier, the permitted platform, and an expiry in private Vercel configuration. The invitation email contains your password. Login checks do not create a Google Sheets license record or send your email or password to analytics. A signed, HTTP-only session cookie lasts up to seven days; revoked or expired invitations stop working even before that cookie expires.

For personal beta invitations, we privately record successful sign-ins, download requests, and whether the server transferred the full file, the transfer failed, or it was cancelled. Records contain only the invitation identifier, platform, build, counts, times, and transferred byte totals. They do not contain passwords, email addresses, network addresses, device identifiers, or app activity, and are not sent to Google Analytics. As the invitation issuer, Zian can match an invitation identifier to its recipient for beta support. Activity records are stored in Upstash Redis and expire 90 days after the last recorded activity; you can request earlier deletion by email. A full server transfer does not prove that a file was saved or an app installed. Tracking began on October 14, 2026, and cannot reconstruct earlier activity.

Local data and permissions

Carthios stores settings locally on your Mac and keeps credentials in macOS Keychain. Features such as Calendar, Reminders, Location, Bluetooth, Speech Recognition, Accessibility, and Automation use the macOS permission or control shown for that feature. Their content is used to provide the requested feature and is not added to product diagnostics.

Weather and Transit request a coarse location from macOS only when needed. For Weather, the Mac sends latitude and longitude rounded to four decimal places to MET Norway’s api.met.no service over HTTPS. MET Norway receives those coordinates and ordinary network request information under its own service terms. Carthios keeps only the latest forecast response in memory, uses it as a fallback for no more than six hours, and does not send coordinates or a location history to Car Thing. macOS location and geocoding services may also process the request according to Apple’s privacy settings and policies.

Children

Carthios is a general-purpose utility and is not directed to children under 13. The optional diagnostics described here do not contain an age, name, account, or persistent identifier.

Changes to this policy

If these practices change, this page’s “Last updated” date will change. A material expansion of Mac app collection will require a new disclosure and consent rather than silently broadening the existing allowlist.

Contact

Questions, security reports, or privacy requests:
workingzian@gmail.com