Unfenced - Privacy Policy
Controller: Unfenced is operated by an independent sole trader based in Israel, who is the controller of the personal data described here - except where we act as a processor for business customers under a Data Processing Addendum. We are not an incorporated company. We will identify the operator to a supervisory authority, or to any data subject exercising a right, on request to the address below.
Contact / Data Protection: privacy@unfenced.ai
Data Protection Officer: none appointed. Article 37 does not require one here: our core activities do not consist of large-scale regular and systematic monitoring of data subjects, nor of large-scale processing of special-category data. We will appoint one if that changes.
Transfers into Israel: Israel holds a European Commission adequacy decision, so personal data may move from the EEA to the controller without Standard Contractual Clauses or other additional safeguards.
EU/UK representative: not currently appointed - see Article 27 below, which states the position plainly rather than leaving it unsaid.
Last updated: 7 October 2026
Unfenced is in private preview, offered free of charge to business and professional users only. We deliberately hold as little personal data as the Service can run on. This policy describes what that is.
This policy explains what personal data Unfenced processes, why, on what legal basis, how long we keep it, who we share it with, and the rights you have. It is written to meet the transparency requirements of the EU/UK GDPR (Articles 13 and 14). We serve users in the EU, so GDPR and the ePrivacy rules apply.
1. Who this covers
- Account holders - people who sign up and use the Service.
- Third parties whose data appears in retrieved content or sessions - when you direct the Service to fetch a page or act in a logged-in session, that page may contain other people's personal data. For that data we generally act as a processor on your instructions (see Section 8), and you are the controller.
2. What data we collect and where it is stored
We keep the following. Unless stated otherwise, database records are held in Supabase (PostgreSQL), region eu-central-1 (EU).
| Data | What it is | Where |
|---|---|---|
Account profile (profiles) | Your email address, and account metadata. | Supabase (EU) |
Stored credentials (credentials) | Website passwords and TOTP (2FA) seeds you save so the agent can sign in for you. Sealed with AES-256-GCM. | Supabase (EU) |
Browser sessions (browser_sessions) | Login cookie jars captured when you sign a site in once. Sealed with AES-256-GCM. | Supabase (EU) |
Fetch log (fetches) | The full URLs you fetch, page titles, and the user-agent used. | Supabase (EU) |
Recordings (recordings) | An agent's answer and the step-by-step trace of a session, for review and replay. | Supabase (EU) |
Usage events (usage_events) | Metering units (e.g. fetches, session time) for billing and rate-limiting. | Supabase (EU) |
Support requests (support_requests) | Issue reports, feature requests, and general support messages you submit in the dashboard, including optional urgency and reproduction steps. Platform admins can read them to respond. | Supabase (EU) |
| Session-replay frames | Screenshot frames captured during a live session so you can replay it. | Cloudflare R2, bucket unfenced-sessions, EU jurisdiction |
| Worker working data | On the fetch/act worker's disk: Chrome browser profiles, cookie jars, an append-only fetch log, and an append-only audit chain. | Worker disk (EU) |
Connect recovery backup (connect_recovery) | A Windows-encrypted copy of shared Connect device credentials and reconnect choices. The cloud cannot decrypt it; restoration needs the same Windows user's key and the same account. Windows roaming profiles may carry the key to another PC. | Connect registry on the worker (EU) |
What we do _not_ collect:
- We do not store your IP address in any record about you. Not in the fetch log, not in the audit chain, not in the session records, and there is no IP column on any table. The worker's own process log does not record one either. See Section 11.
- The audit chain redacts credentials, cookies, tokens, form-field values, and response bodies before anything is written to it. It records that an action happened, not the secret content of it.
- Persistent secrets never reach the AI model. Agents reference a credential by _name_; the server resolves the secret and fills it into the page. There is no route that reveals a stored secret.
3. Where the data comes from
- Directly from you - your email at sign-up; credentials and sessions you choose to store; support requests; the URLs and instructions you give.
- Generated by your use - fetch logs, recordings, usage events, and replay frames are produced as the Service carries out your requests.
- From the sites you direct us to - retrieved page content, and any personal data contained in it or in a logged-in session, comes from those third-party sites at your direction (Article 14 source).
4. Why we process it, and our legal basis
| Purpose | Data used | Legal basis (GDPR Art 6) |
|---|---|---|
| Provide the Service - fetch pages, drive sessions, return results | URLs, credentials, sessions, retrieved content, replay frames | Contract (Art 6(1)(b)) - necessary to deliver what you asked for |
| Authenticate you and secure your account | Profile, access tokens | Contract; legitimate interests (Art 6(1)(f)) in security |
| Meter usage, prevent abuse, and (once live) bill | Usage events, fetch counts | Contract; legitimate interests in protecting the Service; legal obligation for billing records once billing is live |
| Keep an audit trail of actions taken under your authority | Redacted audit chain | Legitimate interests in accountability and security, and to help you and third parties resolve disputes |
| Diagnose faults and improve reliability | Logs, recordings | Legitimate interests in operating a reliable service |
| Communicate with you about the Service | Email and support requests | Contract; legitimate interests |
| Analytics on the dashboard | See the Cookie Notice | Consent (Art 6(1)(a)) where required by ePrivacy for non-essential analytics |
Where we rely on legitimate interests, you may object (Section 9). Where we rely on consent, you may withdraw it at any time without affecting prior processing.
5. The AI model and your data
ChatGPT page-reading plugin
The ChatGPT plugin sends requested URLs, page text, links and source previews to OpenAI. Unfenced records fetch jobs, history and usage under your connected account. Pages may contain personal data; request only content you may share with OpenAI.
It supports page reading only, without forms, uploads, credential storage, third-party sign-in or purchases. Never supply URLs containing passwords, tokens, card details, government identifiers, personal health or biometric data. It rejects embedded credentials and known sensitive query keys; it cannot identify every sensitive URL or page. It never requests those data in chat. Other Unfenced browser and vault features are separate from this plugin.
OpenAI processes chats and results under its own policies. Disconnect in ChatGPT to stop access. See Section 9 for Unfenced account deletion.
Other clients and the optional demo agent
The Service is automation infrastructure; it is not itself an AI product, and by default it does not send your data to a third-party AI provider. An optional demo agent can be enabled by the operator that uses Anthropic to process a request; this is currently OFF in production. If it is enabled for an environment you use, that will be disclosed, and the Subprocessors list will reflect it. Regardless, stored persistent secrets are never sent to any model (Section 2).
6. Who we share it with (subprocessors)
The full, current list of service and marketing providers, with each one's purpose, data and region, is in subprocessors.md. It includes Google, Reddit and Meta for measurement on public marketing pages; the Cookie Notice explains when their code runs. The optional Anthropic demo agent is off in production.
We do not sell your personal data. We share it with the listed providers only for the stated purposes, and with authorities where legally required.
7. International transfers
Our primary data stores (Supabase, Cloudflare R2) are configured for EU data residency, and the worker that does the processing runs in the Netherlands. The position for each subprocessor is set out in subprocessors.md.
- To the controller (Israel). Covered by the European Commission's adequacy decision for Israel. No Standard Contractual Clauses are needed.
- Vercel (US-headquartered). Hosts the dashboard and, after consent, its cookieless analytics. Vercel's Data Processing Agreement incorporates the European Commission's Standard Contractual Clauses. A copy of the clauses we rely on is available on request to privacy@unfenced.ai.
- Microsoft Clarity. After analytics consent on the hosted dashboard, Clarity receives session recordings and interaction events. Dashboard text, including account and site names, is visible. Inputs, displayed API keys, and token-bearing links are masked. The Subprocessors list holds its transfer terms, subject to counsel review.
- PostHog. Where we have configured it, analytics consent on the hosted dashboard also starts PostHog, EU-hosted, for session recordings, product analytics, and limited error tracking. Signed-in users are identified by account user ID, display name, and email; limited fetch and activation milestones and dashboard render-failure events are recorded. Onboarding steps, client type, preview status and test-fetch outcomes, plus fixed endpoint labels and HTTP method/status and failure categories for limited dashboard requests, are also recorded without request bodies or identifiers. Render failures sent to Error Tracking use fixed messages without raw exception text. Dashboard content reaching PostHog is visible across dashboard tabs. Inputs, displayed API keys, connection snippets containing keys, and token-bearing links are masked. See the Subprocessors list for when this is engaged.
- Google, Reddit and Meta (US). Their marketing measurement code runs on public pages as described in the Cookie Notice. Transfer mechanisms and provider terms remain subject to counsel review, as recorded in the Subprocessors list.
- Anthropic (US). Engaged only if the operator enables the optional demo agent, which is off in production. If it is ever enabled, that is disclosed at the point of use and the same SCC mechanism applies. Persistent stored secrets are never sent to a model.
- Residential egress proxy. Carries the fetched-page traffic itself. The provider and its region depend on the deployment; the operator of a self-hosted install chooses their own.
8. When we are a processor, not a controller
For your account data (email, your credentials, your billing), we are the controller. For the content and personal data inside the pages you fetch and the sessions you drive, we act as a processor on your instructions - you decide which sites to access and what to do, and you are the controller of that data. Business customers should use the Data Processing Addendum, which governs that relationship.
9. Your rights
Subject to the conditions in the GDPR, you have the right to:
- Access - get a copy of the personal data we hold about you.
- Rectification - correct inaccurate data.
- Erasure ("right to be forgotten") - have your data deleted (see below).
- Restriction - limit how we process your data.
- Portability - receive certain data in a portable format.
- Object - object to processing based on legitimate interests, and to direct marketing at any time.
- Withdraw consent - where processing relies on consent (e.g. analytics).
- Complain - lodge a complaint with a supervisory authority. If you are in the EEA or the UK, that is the authority where you live, where you work, or where the alleged infringement took place; you do not have to come to us first. In Israel, the authority is the Privacy Protection Authority (PPA) of the Ministry of Justice.
To exercise a right, contact privacy@unfenced.ai. We will respond within the statutory time limit (generally one month).
Erasure - what we delete, and a known gap
Three different deletions with three different reaches, stated separately because they are not the same promise:
- A saved login. We remove its record from
credentials- the sealed password and any TOTP seed with it. If that login is an additional account you added beside a primary one, its own isolated cookie jar (browser_sessions) goes with it. - A session recording. We remove its
recordingsrow and its replay frames. - Your account. We remove everything: the database records (
profiles,credentials,browser_sessions,fetches,recordings,usage_events), the worker's local Chrome profiles, cookie-jar data, and encrypted Connect recovery backups for that account, and the session-replay frames in object storage.
Deleting an account also erases the session-replay frames in Cloudflare R2 for that account: the deletion wipes the whole frames/<account>/ prefix, after the database records are gone. If any store cannot be cleared, the deletion answers "incomplete" and names what is left rather than reporting success. The two halves fail differently, and it matters which one you are told about: this machine's own stores are cleared first, and a failure there stops the deletion with your account intact, so you can try again; object storage is cleared after the account, and a failure there is reported with the account already deleted. We would rather tell you a deletion is unfinished than tell you it finished when it has not.
Known gap: deleting the saved login for a primary sign-in does not clear the signed-in browser state on the worker - the Chrome profile and the shared cookie jar it keeps. That state is shared with every other provider you have signed in and with the agent itself, so clearing it for one login would sign you out of the rest, and we would rather not do that without being asked. Deleting your account clears it, and so does asking us; a "sign out everywhere" control that clears it on its own is not built yet.
Known gap: an entry you submitted to the beta waiting list (email, name, and anything you wrote in the free-text fields) is not removed by account deletion today. Ask us and we will delete it. We keep a waiting-list entry on the basis of our legitimate interest in running and reviewing the preview queue (Art. 6(1)(f)), for no longer than 12 months from submission or until the preview closes, whichever is sooner, and then delete it. You can object or ask for deletion at any time and we will act on it - there is nothing we need it for once you have said so.
10. Retention
The periods below are the operator's current defaults; the mechanism that enforces them is described in the Data Retention page.
| Data | Retention |
|---|---|
| Account profile | For the life of the account; deleted on account closure. |
| Credentials, browser sessions | Until you delete them or close the account; never aged out automatically. |
| Fetch log, recordings | 365 days by default, or until you close your account, whichever is first. There is no per-item delete for either. |
| Session-replay frames (R2) | 365 days (aligned with the recording); erased with the account, by prefix (Section 9). |
| Usage events | 365 days for metering, and longer where tax or accounting law requires the records to be kept. |
| Audit chain (redacted) | For the life of the account. |
We keep personal data only as long as needed for the purposes above or as required by law, then delete or anonymize it.
Accounting records. None are kept today, because the preview is free and we raise no invoices. When paid plans begin, invoices and the transaction records behind them will be retained for 7 years, the ordinary statutory period for books and records, and this table will say so before the first charge.
11. Security
- Encryption at rest. Credentials, TOTP seeds, and browser-session cookie jars are sealed with AES-256-GCM.
- Encryption in transit. Connections to the Service use TLS.
- No IP in the record. No table holds an IP address, and the worker's process log does not record one either: its request lines carry the method and a redacted path and nothing that identifies the connection.
- Redacted audit trail. The audit chain strips credentials, cookies, tokens, form values, and response bodies before writing.
- Secret isolation. Persistent secrets are resolved server-side and never exposed to the AI model or through any read route.
- EU data residency for the primary stores.
No system is perfectly secure; we cannot guarantee absolute security, but we work to protect your data with measures appropriate to its sensitivity.
12. Children
The Service is not directed at children and is intended for business users. We do not knowingly collect data from children.
13. Changes to this policy
We may update this policy. For material changes we will give reasonable notice. The "Last updated" date shows the current version.
14. Contact
Write to privacy@unfenced.ai for anything in this policy, including to exercise a right under Section 9. We will respond within one month.
The controller is the sole trader who operates Unfenced, based in Israel. We do not publish a name and postal address while the Service is an unincorporated, free, invitation-only preview; we will identify the operator, with an address for service, to any supervisory authority, to a data subject who asks in connection with exercising a right, and in response to a properly constituted legal request. That is a deliberate choice and its limits are recorded in COUNSEL-CHECKLIST.md.
For business-customer processing terms, see the Data Processing Addendum.
12. Article 27 representative
The GDPR requires a controller established outside the EU/UK that offers services to people in the EU/UK to designate a representative there, unless the narrow derogation in Article 27(2)(a) applies - processing that is occasional, does not involve large-scale special-category or criminal-offence data, and is unlikely to result in a risk to people's rights and freedoms.
We have not designated one. The preview is invitation-only, closed to consumers, and processes a small volume of business contact data; on that basis we consider the processing occasional within the meaning of Article 27(2)(a). We record plainly that this is a judgement rather than a certainty: the Service also holds credentials, which is not low-risk processing, and a supervisory authority could reasonably take a different view.
We will designate a representative when the preview opens to general availability, and sooner if the volume or nature of processing changes. Until then, anyone in the EU or UK can reach the controller directly at privacy@unfenced.ai, and a supervisory authority can obtain the operator's identity and address at the same address.