← wewere.online
Privacy Policy
Last updated: March 2, 2026
we were online is an art project and browser extension by
Spencer Chang that creates quiet
portraits of your time on the internet. This policy explains what data the
extension collects, how it is used, and your choices.
What the extension collects
The extension has four independent collectors, each of which you control.
Every collector can be set to off,
local-only (stored on your device, never uploaded), or
shared (uploaded to our server for the collective
portrait). All collectors start as off until you complete setup.
-
Cursor: Mouse position (viewport-relative coordinates),
click events, cursor style, scroll offset at time of click.
-
Navigation: Page focus/blur, back/forward navigation,
page title, canonical URL, favicon URL.
-
Viewport: Scroll position (normalized), window resize
dimensions, browser zoom level.
-
Keyboard: Typing rhythm in text inputs. By default, all
typed characters are replaced with block characters, preserving only
cadence. Password fields are always excluded. You can choose full-text
mode, in which case common PII patterns (email, phone, SSN) are
automatically redacted, and you can add custom filter words.
Metadata attached to every event
Each collected event also includes:
- The full URL of the page you are on
- Viewport width and height
- Your timezone (e.g., "America/New_York")
-
A persistent pseudonymous participant ID (a cryptographic public key
generated on your device)
- A session ID that resets when you close the browser
How your data is stored
Locally: All events are stored in your browser's
IndexedDB. This data never leaves your device unless you set a collector
to "shared" mode.
Server-side: Events from collectors set to "shared" are
uploaded to a Cloudflare Worker and stored in a Supabase database. Data is
retained indefinitely as part of the ongoing art archive. You can request
deletion at any time (see below).
All data in transit is encrypted via HTTPS. Server-side data is stored in
Supabase's managed infrastructure with encryption at rest.
Real-time presence and chat
When other people with the extension are on the same page as you (currently
Wikipedia articles), the extension shows their cursors and lets you chat
with them in a small panel anchored to the presence pill. Cursor positions
and chat messages travel over a real-time PartyKit room. They are
not stored on our servers, are not linked to your
identity in any persistent record, and are gone once everyone leaves the
page. Your chat handle is a randomly chosen Wikipedia article title kept
only in your browser's local storage.
How your data is used
Your data is used solely to:
-
Generate visual portraits of internet activity (the core feature of the
extension)
-
Power the historical overlay that shows past activity on a given page or
domain
-
Contribute to the collective art visualization on the project website
Your data is never used for advertising, analytics,
profiling, credit assessment, or any purpose beyond the art project
described above.
Who your data is shared with
Shared-mode events are processed by and stored in the following services:
-
Cloudflare Workers — event ingestion and API
- Supabase — persistent database
-
Resend — email service (only if you provide your
email)
Your data is not sold, rented, or shared with any advertising platforms,
data brokers, or other third parties.
If you optionally provide your email during setup or on the website, it
is sent to Resend (our email provider) for the purpose of sending you the
welcome email and occasional project updates. It is not linked to your
browsing data, and you can unsubscribe at any time using the link at the
bottom of any email we send.
Your choices and rights
-
Control per collector: Each collector can be set to
off, local-only, or shared independently at any time from the extension
popup.
-
Local data: You can clear your local data at any time
by uninstalling the extension or clearing extension storage.
-
Deletion requests: To request deletion of your
server-side data, email
[email protected]
with your participant ID (visible in the extension popup). We will
delete all associated records within 30 days.
-
No account required: The extension does not require you
to create an account. Your participant ID is a cryptographic key pair
generated locally and is not linked to your real identity.
Permissions
The extension requests the following browser permissions:
-
storage: Persist your settings, identity, and local
event data
-
tabs: Read the current tab URL for domain-scoped
features
-
Host permissions (all URLs): The extension runs on all
websites to collect interaction data when enabled
Google API Services Limited Use Disclosure:
The use and transfer to any other product of information received from
Google APIs will adhere to the
Chrome Web Store User Data Policy, including the Limited Use requirements.
Changes to this policy
If this policy changes materially, the updated date at the top will be
revised. Continued use of the extension after changes constitutes
acceptance.
Contact
Questions or concerns? Reach out at
[email protected].
Spencer Chang ·
spencer.place