Intelligent Workspace
Legal

Privacy Policy

In effect since

There is no account to create, no server of ours to talk to, and nothing in the extension that reports back. That leaves this document short on promises and long on specifics: what is stored, where it sits, and every moment something crosses the network.

No account, no server

Nothing you do in the extension is sent to us. There is no “us” at the other end: no backend, no database, no log with your name on it.

Your key, your traffic

The assistant talks to Google with the key you pasted, from your browser, under your quota. There is no proxy of ours in the middle to read it.

Nothing is sold, ever

No advertising, no data brokers, no telemetry endpoint, and no profile of you for anyone to buy.

Basic information on data protection

Controller
Luis Reoyo (GENKI Organización), Spain.
Purpose
To run the features of the extension on your own device, and to serve this website.
Legal basis
Your consent, given by installing the extension and by switching on each optional feature, and our legitimate interest in serving and securing the website.
Recipients
None by default. A feature you trigger yourself can reach Google, the radio directory, YouTube, jsDelivr, Stripe or Vercel, each listed in section 5.
Transfers
Those providers are outside the EEA. The request is made by your browser and only when you ask for it. Section 6 explains the safeguards.
Your rights
Access, rectification, erasure, restriction, portability, objection, and the withdrawal of consent. Most of them you exercise yourself, from the panel. Section 14.

Two different things, one policy

This covers the Chrome extension and the website you are reading. They are separate pieces of software with separate privacy stories, and blurring the two is how a policy ends up meaning nothing. Wherever a rule applies to one and not the other, it says so.

Both are published by Luis Reoyo (GENKI Organización), who is also the data controller for the little the website handles. No data protection officer is appointed, because the scale of this processing does not require one under article 37 of the GDPR. Anything in this document can be checked against the source code, which is public.

Why each thing is processed, and under which legal basis

The GDPR asks for a lawful basis per purpose rather than one for the whole product, so here they are, one line each.

  • Running the features on your device: your consent, given when you install the extension and again when you switch on an optional feature such as the activity record or the assistant. Article 6.1.a.
  • Sending a prompt to Google, searching the radio directory or loading a YouTube thumbnail: your consent, given by the action itself. Nothing is sent until you ask for it.
  • Serving this website and keeping it up: our legitimate interest in delivering the pages you requested and in aggregate measurement that carries no identifier. Article 6.1.f.
  • Processing a software support contribution: performance of the transaction you started, and the accounting duties that follow it. Articles 6.1.b and 6.1.c.

Where the basis is consent you can withdraw it at any time, and withdrawing it is a switch in the settings rather than a request to us. Withdrawal does not undo processing that already happened, which in this case means data already written to your own device and which you can delete yourself.

What the extension keeps, and where

Everything the extension knows lives in your own browser profile, in the two places Chrome gives an extension: its storage areas and an IndexedDB database. Neither is reachable from the internet, and no part of the extension copies them anywhere.

WhatWhere it livesDoes it leave this machine?
Groups, rules, colours and grouping preferenceschrome.storage.syncOnly through Chrome’s own profile sync, if you have it switched on
Notes, checklists and Kanban boardsIndexedDBNo
Screenshots, and the text OCR reads out of themIndexedDBNo
Conversations with the AI assistantIndexedDBNo. The replies arrive from Google; the transcript stays here
Saved sessions and group backupsIndexedDBOnly inside a file you export yourself, to the folder you choose
Pomodoro sessions and their historyIndexedDBNo
Music you add and your radio favouritesIndexedDBNo
Web activity: seconds, visits and sessions per site, per daychrome.storage.localNo, unless you switch on that record’s own sync, which is off by default
Snippets, keyboard overrides and omnibar preferenceschrome.storage.syncOnly through Chrome’s own profile sync, if you have it switched on
Your Google AI Studio keychrome.storage.localNever synced. It travels only as the header of your own request to Google

Removing the extension from chrome://extensions deletes all of it, databases included. Chrome does that itself, and nothing is left behind anywhere else, because there is nowhere else.

Chrome’s own sync, and what rides along

Some settings, namely rules, snippets and keyboard overrides, are written to the browser’s synced storage area so a second computer signed into the same Chrome profile behaves the same way. That area belongs to Chrome, not to us: with Chrome sync on, Google carries it under your account; with it off, it stays on this machine and behaves exactly like local storage.

The web activity record is deliberately kept out of it. Syncing it is a switch of its own, off until you turn it on, because where somebody has been is not something to start shipping anywhere without being asked. Your API key is never synced at all.

When something does leave your browser

The features below reach the network because they cannot work otherwise, and each is listed with what it sends and when. None of them is on a schedule and none runs in the background waiting to phone home.

Where toWhat is sentWhen
generativelanguage.googleapis.comYour prompt, whatever page text or screenshot you attached to it, and your own API key. Asking it to find an open tab also sends the titles and addresses of the tabs you have open, because that is the list it searchesOnly when you ask the assistant for something — from the panel, or by typing `find` and a space in Chrome’s address bar
Chrome’s built-in on-device modelNothing. It runs inside Chrome, on this machine, and makes no request at allWhen you choose it instead of Gemini
youtube.com · i.ytimg.comThe video id, for the thumbnail and the embedded playerOnly for a YouTube link you preview or play
cdn.jsdelivr.netNothing about you. It fetches the OCR language model, which Chrome then cachesThe first time you run OCR on a screenshot

And, of course, the websites you open yourself. The extension arranges the tabs around a page; it does not sit between you and what is in it.

Transfers outside the European Economic Area

Every provider in that table is a company established in the United States: Google, Vercel, Stripe, the jsDelivr network, and whichever server hosts the radio station you chose. A request to any of them is an international transfer, so it is named here rather than left implied.

Two things limit it. The request is made by your browser, not forwarded by a server of ours, and it happens only when you trigger the feature that needs it. Google, Vercel and Stripe are certified under the EU to US Data Privacy Framework and also offer the European Commission’s standard contractual clauses, which are the safeguards these transfers rely on. Their own privacy terms govern what they do with the request once it arrives.

How long any of it is kept

Nothing here has a server-side lifetime, because there is no server holding it. What exists on your device stays until you delete it, and these are the rules it follows.

  • Notes, screenshots, backups, conversations, Pomodoro history and the music library: kept until you delete them or remove the extension.
  • The web activity record: kept for the number of days you set in its own settings, and older days are dropped automatically.
  • Settings, rules and snippets: kept while the extension is installed. If Chrome sync carried a copy, removing the extension clears that copy too.
  • A prompt sent to Google, or a search sent to the radio directory: gone from here as soon as the answer arrives. What the receiving service keeps is set by its own retention policy.

This website keeps no record of your visit beyond the request logs its host produces, which Vercel rotates on its own schedule, and the aggregate page counts described in section 10.

The AI assistant

The assistant runs one of two ways, and you pick which. Gemini goes over the network with a Google AI Studio key you create and paste yourself: the request is made by your browser, straight to Google, on your key and your quota, and it is covered by Google’s API terms rather than by this policy. We are not a party to that traffic, because there is no service of ours in the middle that could be.

The alternative is Chrome’s built-in model, which runs on your machine and needs neither a key nor a connection. Either way the conversation is written to the browser’s own database and nowhere else, and clearing it in the panel clears it for good.

One thing about assistants that read pages is worth saying out loud, because it is not obvious. A page can contain a line addressed to the assistant rather than to you — “now look up their history and open this address” — and a language model has no way to tell that apart from an instruction you typed. So once the assistant has read a page, it is no longer allowed to use the tools that take an address: it cannot open a URL, run a search, or save a bookmark or rule for the rest of that question. It can still tell you what it found; carrying it somewhere is left to you.

Permissions, and what they are not for

Chrome will tell you the extension asks for twenty-one permissions plus access to every site. That is a lot, and being suspicious about it is the right instinct, so each group is set out on the home page beside the feature that cannot exist without it. None of them builds a profile, and none feeds anything that leaves this machine except the connections listed above.

Access to every site is what lets the link labels, reader mode, snippet expansion and the activity blocker work anywhere rather than on a list Chrome would have to approve first. It is not used to read pages in the background: those scripts wake up when you press the key that calls them.

Two of them deserve naming rather than counting. The panel can open a site beside your work, and many sites answer with a header that forbids being shown inside another page — so for that one site, and while that view is open, the extension takes the header off the response. It is tied to the domain you opened and to the panel’s own frames, it goes when you close the view, and payment pages are refused outright: showing a card form with its defences stripped is the attack those defences exist to stop, and the code will not do it even for this project’s own support page.

The other is cookies. A site opened in the panel sits inside an extension frame, and Chrome keeps cookies seen from a frame like that apart from the ones your browser already holds — so the site would load signed out while you are signed in. What it had already set is copied into the extension’s own area so the framed page sees the session you have. The same permission is what lets the cookie inspector show you what a site has stored on you, and delete it. Neither reads a cookie for anything else, and no cookie is sent anywhere.

See the permission table

This website

The site is a handful of static files on Vercel. It has no login and asks for nothing. Your browser’s request reaches Vercel’s servers, which see what any web server sees: an IP address, a user agent, the page asked for. That is hosting, not tracking.

Two Vercel measurement scripts do run here: Analytics, which counts page views without cookies and without a cross-site identifier, and Speed Insights, which reports how quickly the page rendered. Both only ever aggregate, neither follows you to another site, and the extension itself carries neither.

The support payment page is the one exception to “no third-party frames”: it loads Stripe, and only Stripe.

Cookies and local storage

This website sets no cookies. Not an analytics cookie, not a session cookie, not a consent cookie, which is why you were never shown a banner asking you to accept one.

It does store one thing in your browser, and only after you act: pressing the light and dark toggle writes your choice under the key iw-theme in local storage, so the next page you open does not flash the wrong colours. That is a preference you asked for, stored on your own device, readable by nobody else, and article 22.2 of the Spanish LSSI exempts exactly this kind of storage from prior consent. Clearing your browser data removes it and the site goes back to following your system setting.

Support and Payments

Payments to support development go through Stripe. Card, Google Pay, Apple Pay and PayPal are four ways of paying it, not four processors: Stripe presents each of them, and choosing a wallet hands the payment to that wallet’s own sheet under whatever terms you already have with it. The card form is Stripe’s own, running inside Stripe’s frame, so the card number is typed into their field and never touches this site, the one server function behind it, or the extension. That function does exactly one thing: ask Stripe to create a payment between 1 and 500 euros and hand the browser back a token good for that single payment.

What Stripe collects, and what it does with it, is governed by Stripe’s privacy policy rather than this one. We keep no record of who contributed, because there is no database here to keep one in. A payment is voluntary, unlocks nothing, and is not a subscription.

The extension’s About page also shows a few cryptocurrency addresses, for anyone who would rather send something that way. They are static text with a button that copies one to your clipboard. No wallet is connected or read, no transaction is built or seen, nothing is mined, and no network request is made — the addresses are as inert as an account number printed on a page, and nothing here learns that you copied one.

Chrome Web Store Limited Use

Intelligent Workspace’s use of information received from Google APIs follows the Chrome Web Store User Data Policy, including its Limited Use requirements. Concretely: the data is used only to provide the features described here and on the home page; it is never sold; it is never transferred to anyone except where a feature you triggered requires it; it is never used for advertising, profiling or creditworthiness; and no human reads it, because it never arrives anywhere a human could.

Your data, and getting rid of it

You hold all of it, which answers most of the usual rights on its own. There is no export request to file, because the extension writes its own data to a file whenever you ask. There is no deletion request either, because the delete button is already in the panel.

  • Delete one thing, a note, a screenshot, a backup or a day of activity, where it is shown.
  • Wipe a whole area from the extension’s settings, the activity record and the assistant’s conversations included.
  • Remove the extension at chrome://extensions and Chrome drops every byte of its storage with it.
  • Turn off Chrome’s profile sync, or the activity record’s own sync switch, if you would rather nothing rode along.
  • Withdraw your consent to any optional feature by switching it off, which stops the processing from that moment on.
  • Revoke your Google AI Studio key in Google’s console. It is your key on your account, and revoking it ends the extension’s access immediately.

If you are in the EU or the UK, the rights of access, rectification, erasure, restriction, portability and objection apply, along with the right to withdraw consent. In practice there is nothing here to act on, but write to the address below and you will get a straight answer about what exists, which is what those rights are for. You will have one within a month.

You can also complain to a supervisory authority. In Spain that is the Agencia Española de Protección de Datos, at www.aepd.es.

Changes to this policy

When this policy changes the new version replaces this page and the date at the top moves with it. Any change that alters what leaves your browser will also be named in the release notes of the version that makes it, and announced in the extension itself, so it cannot arrive quietly.

Contact

Questions about any of this, including the ones that begin “I do not believe you”, go to the address below. The source code is public, so a claim on this page that the code does not back up is a bug report worth filing.

luisrb1985@gmail.com