Last updated: 12 August 2026 (revision 3)
"Where's the remote?" is a Chrome extension that reads job postings on LinkedIn and Indeed and shows whether a role is genuinely remote, hybrid, onsite, or requires travel, based on the posting's own description text rather than the platform's own label. This page explains what data the extension handles and why.
On the first supported jobs page you visit, the extension displays an inline explanation of the data handling described below. It does not extract or transmit job descriptions, generate or send an installation identifier, or create classification results unless you select Enable remote checks. Selecting Not now keeps remote checking off. You can enable it later from the same inline control, or withdraw consent at any time by selecting Pause remote checks. Withdrawing consent stops new classifications; you can separately clear classifications already saved on your device.
The extension runs only on LinkedIn and Indeed job pages. It does not run on, or read, any other site. On those pages it reads:
It does not read your LinkedIn or Indeed account details, your messages, your connections, your saved or applied jobs, or any page outside the job sections of those two sites.
To classify a job posting, the extension sends that posting's description text (up to 8,000 characters) to our backend — a Cloudflare Worker we operate — which forwards it to OpenAI's API to determine the classification. Alongside it, the extension sends a random identifier generated on your device when the extension is installed. This identifier exists purely so we can limit how many classification requests a single installation can make, protecting the service from abuse. It is a random value, is not derived from you or your device, and is not linked to any account. We never share its raw value with anyone; it is passed to OpenAI only as an irreversible hash, as an abuse-reporting reference.
Nothing else is sent. No LinkedIn or Indeed account details, browsing history, cookies, page URLs, search terms or the platform's own labels leave your device.
One caveat we want to be explicit about: job descriptions are written by employers and recruiters, not by us, and a description sometimes contains personal details such as a hiring manager's name, an email address or a phone number. When it does, that text is part of what gets sent for classification. We do not extract, store or use such details, but we cannot remove them from a description before it is classified.
The Worker is stateless: its own code does not log or store the description text, the classification result, or your installation identifier. It relays the request to OpenAI, validates the response, and returns it. The one record it writes per request is a count of tokens — the units of text a language model processes — so we can monitor cost and detect abuse. That record contains no description text, no classification result, and nothing identifying where the request came from.
Separately from the Worker's own code, we have Cloudflare's operational logging switched on for it. That is a platform feature rather than something we write: it records metadata about each request, which can include request headers and therefore the installation identifier described above. We use it only to monitor the service's cost, errors and availability. Requests also pass through Cloudflare's standard network logging.
OpenAI does not use data submitted through its API to train its models by default. OpenAI does retain API inputs and outputs for a limited period — up to 30 days under its standard policy — for abuse monitoring, after which they are deleted, except where OpenAI is required by law to retain them for longer.
Once a job posting has been classified, the result (category, a short
reason, and, if relevant, how often office attendance is required) is cached
using Chrome's local storage (chrome.storage.local) for 14 days,
keyed to that job listing, so the same listing isn't re-classified every time
you see it. Entries past 14 days are deleted when the extension next runs.
These cached classifications are never transmitted anywhere — they are only
read back on your own device. The random installation identifier described
above is stored in the same place, but unlike the cache it is sent
with each classification request, as described in the previous section. All of
it is removed if you uninstall the extension.
Your "hide hybrid & non-remote roles" preference is stored using
Chrome's synced storage (chrome.storage.sync). This means that if
you are signed in to Chrome with sync enabled, this single on/off setting is
synced to your Google account and to your other signed-in Chrome
installations, the same way your bookmarks are. It is handled by Google, not
by us — we never see it. No other data is synced. Disabling extension sync in
Chrome's settings keeps it local to the device.
The use and transfer of information received by "Where's the remote?" complies with the Chrome Web Store User Data Policy, including its Limited Use requirements. We use this information only to provide or improve the extension's single remote-work classification purpose, and do not use or transfer it for advertising, profiling, lending, or other unrelated purposes.
If the extension's data handling changes, this page is updated and the "last updated" date above changes with it. Material changes — anything that newly collects, transmits or shares data, or uses existing data for a new purpose — will be described here before the version that makes the change is released.
Questions about this policy can be sent to seanrapsontravel@gmail.com.