privacy
last updated october 23, 2026
The short version.
- Picking runs entirely on your computer. What you pick goes from the extension to your coding agent and nowhere else.
- Only these go online: signing in to an element account; save & share, which uploads a snapshot of the element you chose so the link works; remote sessions on Pro and Max, sealed end to end so we can't read them; and what you write to us on the support page.
- No analytics scripts, no ads, no tracking cookies, on this site or in the extension. If you arrive from one of our ad or creator links, we count your visit, helper install, first pick, sign-up and upgrade against that link's code. We never sell your data.
This policy covers the element Chrome extension, the el command-line tool and hub, elmts.dev, accounts.elmts.dev, share.elmts.dev, support.elmts.dev and remote.elmts.dev. element is made by Randy Yu Software LLC ("we"). Questions: support@elmts.dev.
What element reads
Only when you pick or share an element (hold ⌥ or ⌃⌥ and click, the toolbar button, or a command your agent runs), the extension reads that element on the current page:
- its CSS selector, tag, role, accessible name and visible text
- its HTML and the page's CSS that applies to it, with its images and fonts (the snapshot)
- a screenshot cropped to the element
- the page's URL and title, and the component and source file when the page exposes them in development builds
Password fields are never read; in snapshots they become same-length dummy characters. Pages are not read in the background or while you browse.
Picking stays on your computer
A pick goes from the extension to the element hub, a small program on your own computer, through Chrome's native messaging. The hub hands it to the coding agent you're using on the same computer (for example Claude Code, Codex, Cursor or pi). Picks, screenshots and local snapshots are kept in memory and in ~/.element on your computer. We never receive them.
Your coding agent may send what it receives to its own AI provider as part of your conversation, under that agent's terms and privacy policy.
Ad and creator links
Our ads and creator posts use links with a short code, like elmts.dev/go/… or elmts.dev/c/…. When you open one, we count the visit against that code, and whether it was on a phone or a computer. We read your browser's type only to tell the two apart and to skip bots and link previews; we don't keep it. The install page keeps the code in your browser's local storage for up to 30 days and adds it to the install command it shows you. If you install with it, the helper keeps it in ~/.element/ref with a random install id, and tells us once when the install finishes and once when your first pick reaches your agent. If you then create an account, we store the code with your account, and if you upgrade we count that too.
We keep these counts as daily totals for each code. The install id is kept only in scrambled form, to avoid counting twice, and deleted after 90 days. We don't keep IP addresses, browser details, page addresses, ad click ids or anything you pick. Without a code, none of this happens. To opt out, install with el install --no-ref or run el with ELEMENT_NO_COUNTS=1; either removes ~/.element/ref and is remembered in ~/.element/no-counts until you delete that file. If you open one of these links from the EU, EEA, UK or Switzerland, we still count the visit, but the link doesn't carry the code to the install page, so nothing is stored in your browser.
Your account
Signing in is optional and only needed for save & share. You sign in with GitHub or Google; we never see your password. From your provider we receive and store your account id with them, your email address, your name and your avatar URL. We also store your plan, a hashed session cookie for accounts.elmts.dev, and short-lived sign-in codes for el login. If you signed up through an ad or creator link, we also store that link's code with your account (see above).
Signing in puts a license key on your computer (in ~/.element/license). The CLI and extension check it offline; the hub contacts accounts.elmts.dev about every 6 hours to refresh it, and asks share.elmts.dev how many save & shares you've used this month.
Save & share
When you save & share an element, the extension or el share uploads its snapshot (the HTML and CSS, images and fonts, the screenshot and the pick details above, including the page URL) to share.elmts.dev and gives you a link.
- Who can see it: anyone with the link, unless you make it private (Pro, Max). Links are unlisted and marked so search engines don't index them. Check an element for personal information before you share it.
- Private links: we store, with the link, the emails and @domains you allow, and the email and name of anyone who asks for access (until you answer, or the link is deleted or expires). The extension keeps a copy of those lists on your computer so the drawer can show them. People who open a private link sign in through accounts.elmts.dev with GitHub or Google, so we learn their email to check it against your list.
- How long we keep it: until the link expires (24 hours on Free; 1, 7 or 30 days, or never, on paid plans, as you choose) or until you delete it. Expired and deleted snapshots are removed from storage within about an hour. Images and fonts are stored once by content hash and removed when no live snapshot uses them.
- What we record: which account made each link (so you can delete it and so we can count your monthly save & shares), when it was made and when it expires.
- Viewers: we don't log who opens a link. Shared pages run no scripts from the original page and load nothing from third parties.
Remote sessions
On Pro and Max, when you're signed in, the hub keeps a connection to remote.elmts.dev so agents on your other computers can pick from your browser. Everything sent between your computers is encrypted end to end with keys that stay on them; the relay can't read it. It sees which of your devices are connected (a random device id, the computer's name and its public key) and the size and timing of messages, and keeps none of it. el link over ssh doesn't use our servers at all.
Support
When you write to us on support.elmts.dev, we store your messages and any files you attach with your account, so we can answer and you can see the conversation. Our team reads and answers your messages in a private Discord server; files stay with us and aren't sent to Discord. Before files are stored, metadata (including location) is removed from photos, and location data from MP4 and MOV videos; other files (PDFs, WebM videos, text) are stored as uploaded.
Payments
Paid plans are sold through Polar, which acts as the merchant of record and handles checkout, invoices, taxes and the customer portal. Polar collects your payment details; we never see your card number. We receive your Polar customer id, the plan, subscription status and renewal dates. At checkout we pass Polar your account id and, if you have one, your link's code. We don't send payment or plan information to any ad platform.
Who processes data for us
| processor | what for |
|---|---|
| Cloudflare | hosting for elmts.dev, accounts.elmts.dev, share.elmts.dev, support.elmts.dev and remote.elmts.dev; storage of accounts and support conversations (D1), shared snapshots and support attachments (R2) |
| GitHub, Google | signing in, if you choose them |
| Discord | delivering support messages to our team (text only) |
| Polar | checkout, billing and the customer portal for paid plans |
| Resend | sending account email, such as sign-in and billing notices |
Like any web host, Cloudflare processes IP addresses to deliver pages and stop abuse. We use them for rate limiting and don't keep them in our own records.
Cookies and analytics
elmts.dev sets no cookies and runs no analytics scripts; ad and creator links are counted as described above. It remembers your light or dark choice, your progress on the install page and any link code in your own browser's storage. accounts.elmts.dev sets one session cookie when you sign in, and a short-lived one during sign-in. While you're signed in it also sets a cookie on elmts.dev holding only your display name and a short scrambled form of your account id, so our own sites (this one, support and share) can show that you're signed in; it ends with your session or when you sign out, and page scripts can't read it. share.elmts.dev sets a cookie only when you sign in to open a private link (who you are, for up to 7 days), and a short-lived one during that sign-in; if you're already signed in to your account, it does this for you. support.elmts.dev sets a session cookie when you sign in there (for up to 30 days), the same way. Signing out of the websites doesn't sign out el on your computer. No advertising or tracking cookies anywhere.
What the extension stores
Your settings (appearance, shortcuts, link expiry), your list of saves, and which tab belongs to which agent session, stored locally in the browser. Nothing is synced.
Extension permissions
- Read and change data on websites: to show the highlight and read the element you pick or share, on whatever page you're working on.
- Native messaging: to hand picks to the element hub on your computer.
- Tabs, scripting: to start the picker in the current tab, open pages your agent asks for, and take the element screenshot.
- Storage, context menus: your settings and saves, and the right-click menu.
Your choices
- Delete any link you made from Saves (on Pro and Max), or let it expire.
- Sign out with
el logout. Delete local data by removing~/.element. - To see, correct or delete your account and its data, email support@elmts.dev from the address on your account. We reply within 30 days.
Children
element is a developer tool and isn't meant for children under 13. We don't knowingly collect their data.
Changes
If this policy changes, we'll update the date above, and for significant changes tell signed-in users by email.
Contact
Randy Yu Software LLC · support@elmts.dev