One computer
The extension talks only to ESCPost on the loopback address.
Data privacy
ESCPost runs on your own machine. Receipts go from the browser to a local process to the printer and never through a server of ours. The CLI can send anonymous usage data, only after asking, and every field it sends is listed below.
Web page, browser extension, local ESCPost process, printer. The receipt bytes never leave the machine and we never see them.
The extension talks only to ESCPost on the loopback address.
No account, no licence key. The extension and the web app collect nothing. The CLI asks once before it shares anonymous usage data, see below.
Two values in extension storage: the websites you approved for printing and the address of the local process once found.
A site can print only after you approve it by origin in the extension popup. Unapproved sites get no printer list and no printing.
On the first interactive run escpost asks once: Share anonymous usage data? (Y/n). No prompt without a TTY or with --non-interactive, and nothing is sent until you have answered.
With consent, each invocation sends one event. The complete list:
render or printers add;--profile, never their values;ok or an error kind such as missing_profile, never the message;source: escpost-cli tag, and first_run on the consenting invocation.Receipt data, paths, printer names, hosts, serial numbers, profile IDs, configuration contents, error messages, environment variables, user name, hostname, hardware identifiers. The event builder reads option names from the argument parser and never their values, and the test suite asserts that typed values do not appear in the body.
PostHog, EU region, the same project as receiptful.io. Events are anonymous: no person profile, and the request IP is discarded at ingestion. We look at which commands are used, how often they fail, and on which platforms.
escpost telemetry off, and escpost telemetry status to check;DO_NOT_TRACK=1;ESCPOST_TELEMETRY=0.The answer and the UUID live in telemetry.toml in the ESCPost configuration directory. Delete it to be asked again.
Static files, no backend.
No cookies, no third-party fonts, scripts, images or trackers. The hosting provider sees the request IP, as any host does; we do not. The light or dark theme choice sits in localStorage and goes nowhere.
ESCPost is Apache 2.0. Application, extension and page library are public; none of this needs to be taken on trust.
Read the code that talks to your printer, the code that decides which websites may print, and the code that builds the usage event in crates/escpost/src/telemetry/:
Write to service@escpost.dev, or open an issue in the repository above.