Privacy & credits

What this site records when you visit, and the open work it’s built on.

Privacy

No cookies, ads or ad trackers. No automated decisions about you.

Who’s responsible

Shubham, in Sweden. Email hey@devios.dev about anything here.

At a glance

WhatWhy it’s allowedHow longWhere
Visit countsLegitimate interest: knowing which pages are usefulVisitor codes about two days; anonymous daily totalsCloudflare and Supabase, Stockholm
Notes on Visitors: drawing, message, name or AnonymousConsent, by postingWhile shown; declined notes 30 days, unreviewed ones 90 daysSupabase, Stockholm
Booking a callA step you asked for: holding the call30 days after the call or its cancellation; an unbooked hold, or a booking that never got its calendar event, a day at mostSupabase, Stockholm; Google; Cloudflare
Error reports: message, page, browser and system; no IP addressLegitimate interest: keeping the site working90 days without a repeatCloudflare and Supabase, Stockholm
Map tilesLegitimate interest: showing the mapUp to OpenFreeMapOpenFreeMap
My retired live sessions: title, opened, last usedLegitimate interest: clearing them on schedule90 days from each session’s last useSupabase, Stockholm
LinkedIn recommendationsLegitimate interest: showing what colleagues saidWhile shown; ask and yours comes downSupabase, Stockholm

GDPR Article 6(1): consent (a), contract or a step you asked for (b), legitimate interest (f). Old sessions could be zipped for me; none of those zips is kept, and no session can make one now.

Visit counts

  • Daily totals: page, referring site, phone or computer, posts read, projects clicked. Other pages, DevIos IDE’s too, count as one, without addresses.
  • Unique visitors: a one-way code of IP address, browser, a secret and the date, with page and time. Recent codes show how many people are here.

Booking a call

  • On Book a call: name, email, optional note and topic, time, time zone, reminders sent.
  • Turnstile checks you’re a person. Holds last 5 minutes. A one-way code of your IP address caps daily holds and bookings; holds keep it two days.
  • Google Calendar gets your name, email, note and topic, sends the Meet invite, and keeps the event under Google’s policy.
  • Cloudflare emails you the booking with a cancel or move link, then reminders a day and an hour before. I get each booking, move and cancellation by email.

Services your browser talks to

Each sees your IP address and browser. Fonts and the rest come from this site.

  • Cloudflare: the site, and DevIos IDE’s live-editing server.
  • Supabase: the database, images, Visitors notes, DevIos IDE sign-in.
  • OpenFreeMap: map tiles.
  • challenges.cloudflare.com (Turnstile): booking only.
  • github.com, api.github.com, avatars.githubusercontent.com: DevIos IDE only.
  • cjrtnc.leaningtech.com (CheerpJ): the Java runtime, about 13 MB the first time Java opens on a computer or runs. Never your code.
  • pypi.org, files.pythonhosted.org, cdn.jsdelivr.net/pyodide: a Python project’s listed packages. They get names and versions, never code.

Where it’s held

  • Supabase: Stockholm. Server code: Cloudflare’s data centre nearest Stockholm.
  • Cloudflare keeps error logs 7 days, and no log of each request. It answers from near you, so outside the EU if you are.
  • Its Email Service keeps each email’s address, subject and delivery 30 days, with previews off, under its data processing agreement.
  • Outside the EU: Anthropic (US), Google, GitHub (US), PyPI (Python Software Foundation, US), jsDelivr.

Kept in your browser

  • Theme, achievements and the week calendar’s ticks.
  • In a project: the name, sidebar and signed-out look you last used, and a closed phone tip.
  • A Java program’s files, cleared as runs start and end.
  • Booking: your last few time zones (booking-recent-zones).
  • DevIos IDE’s: below.

None of it leaves your device; clearing site data removes it.

Your rights

Email hey@devios.dev to:

  • see your data and get a copy (portability)
  • have it corrected or deleted
  • limit its use, or object to uses based on legitimate interest
  • withdraw consent: delete a note, turn email off, keep my AI off your code

Answers within a month. Visit codes can’t be traced to you. Complaints: Sweden’s data protection authority, Integritetsskyddsmyndigheten (IMY).

DevIos IDE

My invite-only code editor, at /ide; you sign in with GitHub. Outside the group, a demo of made-up data saves and sends nothing.

At a glance

WhatWhy it’s allowedHow longWhere
GitHub account: id, username, name, email, picture; joined, last on; colourContractWhile in the group, and 30 days more if I remove you; a sign-in outside it, 7 daysSupabase, Stockholm
Renewable GitHub tokenContractUntil you sign out (a phone: your last sign-in), disconnect or leave, or I pause or remove you; six months at mostSupabase, Stockholm, encrypted
8-hour GitHub tokenContract8 hours, cleared within the hour, or as above; the tab’s copy until it closesSupabase, Stockholm, encrypted; your browser
Project files: versions (30 daily, 10 others), Git state, waiting commits; since 12 October 2026, who typed and deleted what, by minute and dayContractUntil the owner deletes it or leaves without handing it on; 30 days more if I remove the ownerCloudflare, EU
Who opened a project, as whom and when; whose typing is whose; last editLegitimate interest: nobody types as someone elseUntil the project is deleted, even after you leaveCloudflare, EU
Project record: name, language, description, owner, shares and roles; repository, branch, commit; a publish under way; Git choices; sent-out ids; a signed-in guest’s GitHub usernameContractUntil the project is deleted; sent-out ids until 20 more go; a guest’s username until they joinSupabase, Stockholm
A send-out the live-editing server missedLegitimate interest: keeping people outUntil it’s heard, 30 days at mostSupabase, Stockholm
A guest’s name, from a guest linkConsent, by joiningUntil the project is deletedCloudflare, EU
Line notes and repliesContractUntil the note or project is deleted; private ones, until their author leavesSupabase, Stockholm
Board stories in projects not on GitHub; card order on GitHub boardsContract; order: legitimate interestUntil the story or project is deletedSupabase, Stockholm
Invites: the friend’s name, a note to me, a project and role; the link’s fingerprint and encrypted copyLegitimate interest: invite onlyUnanswered requests 30 days; unused links 30 days after they end; the rest 30 days after they’re used, declined or taken backSupabase, Stockholm
InboxContract30 days from each item’s arrival or last update, read or notSupabase, Stockholm
Inbox emails you turn onConsent, by turning them onNot kept; Cloudflare’s record, 30 daysCloudflare Email Service
GitHub’s pull request and issue events for linked repositoriesContract7 days from GitHub’s last mentionSupabase, Stockholm
PreferencesContractWhile in the groupSupabase, Stockholm
Group activity: invites, joins, leaves, project changes, guest links, my settingsLegitimate interest: a record for me90 daysSupabase, Stockholm
Code my AI readsConsent, by writing in a project it’s on forNot stored by me; Anthropic deletes it within 30 days, or 2 years if flaggedCloudflare, then Anthropic, US
My AI’s calls: time, model, tokens, costLegitimate interest: a monthly budget90 daysSupabase, Stockholm

The editor can’t work without what’s marked Contract.

Who sees what

  • Me (Group page): names, usernames, pictures, who invited whom, join and last-on times, project counts and sizes.
  • Your inviter: your name, username, picture, join time.
  • A project’s people: each other’s names, pictures, colours, cursors, runs and contributions.
  • Invite links: their maker’s name, username and picture. Guest links: first names and colours of those in the project.
  • Your email: only you; the server uses it to spot me, and for email you turn on.

I can’t open a project unless it’s shared with me.

Projects

  • All code runs in your browser; none is sent away to run.
  • Uploads and imports go straight to the live-editing server; uploads hold back likely keys.
  • Deleting a project deletes its files at once; one row keeps its id from reuse.
  • A guest who signs in from a project moves their typing to that GitHub account.
  • The owner’s phone can run a project in an editor’s computer tab.
  • In memory only: who’s in a project, 30 seconds; short-address lookups, 10 minutes. Those pages ask not to be indexed.

GitHub

  • Tokens work only where the DevIos IDE app is installed and you have access; the renewable one only fetches 8-hour ones.
  • Your browser reads repositories you open, and writes only when you act: commits (with your noreply address), pull requests, reviews, releases, issues.
  • The server acts as you to check pushes, publish, attach releases, open issues and manage push access. It keeps only repository, branch and commit.
  • Nothing deletes a repository or force-moves a branch. It deletes only its publish branch, revoked push access and undone invitations.
  • A note sent as a pull request comment becomes GitHub’s; another’s goes quoted, with their first name.
  • Revoking the app in GitHub’s settings deletes the kept tokens.

Inbox and email

  • A note’s item keeps its first 280 characters; a failed public build’s, five error lines.
  • For a repository without a project: only GitHub’s message id, kind and time.
  • Email is off until you turn a kind on; it goes to your GitHub email, with one-click off.

My AI

Only I can use it, only where I turn it on. It reads that project’s files, yours too: near my cursor for suggestions, all for questions. It writes only what I accept. Retired /live sessions could also use my Claude subscription; none do now.

Kept in your browser

  • Local storage: your sign-in; ide.blame, ide.testsRunOnSave, ide.dontAsk; ide.ownClients, your typing ids (last 200).
  • ide.reviewed: Cursor-look Review ticks, as fingerprints; 30 days, or until the lines change.
  • Guests: ide.guestPasses (last 20, 30 days each), name, a closed note.
  • ide.knownMember: a signed-out member’s first name, username, colour, and whether to sign them back in.
  • IndexedDB devios-git: History’s GitHub cache, per account; unused parts 30 days, all of it until sign-out.
  • Session storage, until the tab closes: ide.githubToken and return notes.

Only guest passes are sent, back to the site.

Leaving

Leaving (on Account) first offers your projects as a download. Projects others use go to someone you pick, or are deleted; the rest are deleted. Shared notes, stories, typing and the people you invited stay, under “a former member”. Private notes, inbox, preferences, tokens and account go at once; your sign-in after 7 days. You’re signed out everywhere. If I remove you, your account and projects wait 30 days for you to download.

Credits

Last updated 16 October 2026.