Privacy

What we collect, why, and what we don't. This describes how SelectorLock actually works today — see the docs' security section for the same detail in a developer-facing form.

Account data

Sign-up and login are handled by Clerk, our authentication provider — we don't store your password ourselves. We keep your customer id, your assigned plan, and the API keys and scrapers you create against that id.

Proxy credentials

Every extract call carries your own proxy credentials. They're read from the request, used in memory for that one outbound connection, and discarded when the request finishes — never written to disk, never stored in any database, and never included in logs, including error logs.

Scrapers and scraped data

A registered scraper stores its name, optional target URL, and field map (CSS selectors and expected types) — not the pages it scrapes. Scraped page content is returned to you in the API response and isn't retained on our side afterward.

When a selector needs healing, the portion of the page needed to relocate your fields is sent to our LLM provider (OpenAI) for that single repair call, subject to OpenAI's own API data-usage policies. We don't ask it to be used for model training, and we don't retain it ourselves once the repair completes.

API keys

Keys are hashed (SHA-256) before storage. The raw key is shown to you once, at creation — we can't retrieve it afterward either, so treat it like a password.

Usage data

We log request metadata for your dashboard's usage history and rate limiting — timestamps, target URLs, success/error codes, and whether a repair fired. This log never includes proxy credentials or full page content.

Questions

Get in touch through the contact form for anything not covered here.