BATCHLY.

Privacy Policy

Last updated: October 27, 2026

What Batchly collects, who can see it, and what you can do about it. Written to be read before you connect anything, not after.

Batchly started as a games site. It now also runs College Hub (your Canvas coursework, Google Calendar and email headers) and a workout tracker (training, food, sleep and progress photos). Those handle far more sensitive data than games do, and they are described in full below.

Four things worth knowing before you scroll. A Canvas access token is not read-only. The workout tracker is a shared group, and progress photos default to being visible to the other members. Several features send your content to an AI model. And email you send to support@batch-ly.com is stored, read by a model, and may be answered without a person seeing it. Each is explained in its own section.

Overview

Batchly is batch-ly.com, run by one person as a personal, non-commercial project. There is no advertising, no third-party tracking SDK, and nothing is sold or shared for marketing. One game is the exception to the first two: Rally Racer Dirt is played inside a page from CrazyGames, which runs under CrazyGames' own privacy policy and may show ads or set cookies (see Companies that receive your data).

Most of the site works without an account. You can browse and play games signed out. You only create an account for cloud saves, leaderboards, achievements and a public profile.

The extra modules are not all open to everyone:

“We”, “us” and “Batchly” mean the individual who operates the site. This policy describes how Batchly handles information; it is a notice, not a contract. The rules for using the site, including what you allow Batchly to do with games you upload, are in the Terms of Use.

Your account

Your email address is never shown on a leaderboard or a public profile. Your display name is public. If you type one when you sign up, that is your name, unless it contains a word the site does not allow or is just the part of your email address before the @. Otherwise a new account is called “Player” and a random number (for example Player 4821). The name on your Google account is never copied into it. Accounts made before this changed keep the name they already had, which may be the part of an email address before the @ or the name on a Google account. You can change your name at any time on your Profile page.

Games and progression

If you are signed in, playing writes: leaderboard scores (with the per-game details attached to a run), cloud saves, achievement unlocks, streaks, Watts balance and ledger, cosmetics you own, season and goal claims, notifications, and activity entries. Social features add follows, likes, ratings, comments, jam votes, challenge scores and referrals.

A cloud save is a snapshot of what a game stored in your browser for that game: progress, high scores, settings. Batchly does not inspect it.

If you turn on notifications, your browser hands Batchly a push address for that device (a delivery URL plus two keys), and it is stored so a notification can be sent to you. It identifies the browser installation, not you; turning notifications off removes it. Notifications travel through your browser maker's push service (for example Google, Mozilla, Apple or Microsoft), which receives the delivery address and the encrypted notification but cannot read it. A phone notification about a comment on your game says only that someone commented; the bell on the site shows the first few words.

If you upload a game, the game's code, cover image, tags, description and moderation history are stored. Every upload and every edit is checked by an automated moderation step: an AI model reads it, and a check notes anything it loads from, sends to or links to other websites. Then a person approves it before it is published; until then it stays private. The automated step can turn an upload down on its own, and you are told why. What the automated step concluded is kept with the game, and only the site's admins can see it. If one of your games is taken down, by an admin or after reports from other players, everything you upload or change afterwards waits for a person until an admin lifts that hold. The operator can switch off the person's approval for web uploads; while it is off, a web upload the automated step approves goes live without a person looking at it first, and Python games, uploads made through MCP, very large files, anything flagged and uploads from an account on hold still wait for a person. You get a notification when your game is approved or needs changes.

Once a game is published, its icon and cover appear on the downloads index, and its source file is offered there for download if you leave the “share the source” box ticked on the upload form. You can change that at any time on your creator dashboard, and games uploaded before 2 September 2026 are not listed for download unless their creator turns it on. To be straight about what that box does and does not do: an approved game's code is already sent to every player's browser in order to run, so the setting keeps no secret; it decides only whether Batchly advertises your file for download in your name.

You can also send feedback and bug reports. Those carry your message, optional contact details, the page you were on, device details you choose to include, any screenshots you attach, and, if you are signed in, your account and email. Feature ideas sent from the box on the homepage are stored as text with no account attached.

If you report a game, the report stores your account, the game, the reason you chose and any details you write. How much a report counts toward taking a game down automatically depends on your account: reports from accounts less than 7 days old, guest sessions, accounts without a confirmed email address and suspended accounts count for nothing, and accounts 7 to 30 days old count half. Admins see every report either way.

Reports, blocks and moderation. If you report a player or a comment, the report keeps your account, who or what you reported, the reason you chose, anything you add and a copy of the comment, so a moderator can review it. The person you report is not told who reported them. A report is deleted when either account is deleted.

If you block someone, Batchly records it so it can hide their comments from you, stop notifications from them, end follows between you, and stop them commenting on your games or following you. Their comments already on your own games are hidden from everyone until you unblock them. Only you can see who you have blocked, and you can unblock them in Settings.

A game's creator and the site's moderators can hide a comment. A hidden comment stays visible to the person who wrote it, to the game's creator and to moderators. When a moderator deletes a comment, resets a name, picture or bio, or suspends an account, Batchly records who did it, when and why, and keeps the deleted comment or the old values so the decision can be reviewed. These records are deleted when the account they are about is deleted.

An account that breaks the rules can be suspended. A suspended account can't sign in, and its profile, comments and collections are hidden; games it already published may stay up. To appeal, write to support@batch-ly.com from the account's email address.

Names, bios, comments and collection titles are checked automatically against a short list of slurs and explicit words, and a post that contains one is refused. Comments and reports are also limited in how fast they can be sent.

College Hub: Canvas, Calendar and mail

College Hub is off until you connect something. It has two connections, and they are independent; you can use one without the other.

Canvas

You paste a Canvas personal access token that you create yourself in Canvas. Batchly then reads, on a sync:

Those are the only three Canvas endpoints the code calls, and all three are reads. College Hub has no write path to Canvas anywhere in it.

Being exact about the assignment call, because “reads” and “keeps” are not the same thing: the request asks Canvas to include your submission, and Canvas's reply to that carries your grade whether or not anything wants it. For as long as College Hub has existed nothing wanted it: there was no column for a score, and the grade was dropped as the reply was parsed. That changed on 2 September 2026; Grades, below, is the whole of the new position.

Be clear about what a Canvas token is. Canvas has no read-only option and no per-feature permissions. A personal access token carries the full permissions of the account that made it; it can submit work, change your profile, and anything else you can do in Canvas.

College Hub only ever reads. But that is our choice in our code, not a restriction Canvas puts on the token. If you would rather not take that on, do not connect Canvas. The rest of the hub still works. You can delete the token from Canvas at any time and it stops working immediately.

Grades

Grade tracking is off unless you turn it on, in College Hub, on the Grades card. It is off for every account that already existed, because those accounts connected Canvas under a version of this policy that promised no score was kept, and a promise is not something to withdraw quietly. While it is off, the sync does not ask Canvas for your course totals at all, writes no score, and blanks any grade field it finds.

If you turn it on, this is the whole of what is stored, and the list is the whole list:

Not stored: your final grade, your score before any late penalty, submission comments, rubric or per-question detail, and anything about anyone else. Canvas offers all of those in the same replies; none of them has a column.

Grades are not sent to the AI assistant. The assistant rebuilds what it knows from the database on every question, and its list of fields does not include any of the ones above. Your deadlines, class times and mail subjects do go to the model (see the AI section), and your grades do not. They also stay out of anything you connect through MCP unless you tick Grades under College Hub when you create that token, and even then only while Grades is on here (see the AI section).

Turning it off is a deletion. Switching the Grades card off erases the stored scores and course totals in the same action, immediately, rather than hiding them. Disconnecting Canvas goes further and deletes the whole coursework cache, described under Keeping, disconnecting and deleting.

One thing this cannot do: show you a grade Canvas will not state. Instructors can hide a course total, and a course with nothing graded yet returns the same silence, so College Hub says which of those it is when it knows and says it cannot tell when it does not. It never fills a missing grade with a zero.

Google Calendar

If you connect Google, College Hub reads your calendar list and then the events on every calendar in it (including calendars shared with you or that you subscribe to) for a window from 7 days ago to 28 days ahead. It stores each event's title, start and end, all-day flag, location, link, and the event's full description text. If your calendar descriptions contain private notes, meeting links or dial-in details, those are stored.

Two details that cut in opposite directions, so both are here. Hiding a calendar inside College Hub changes what is displayed; it does not stop that calendar being fetched. But guest and attendee lists are not stored at all (no column holds them), so who else was invited to your events does not end up in the database.

Email

College Hub can show course-related mail. It searches your Gmail with a query you write and control in College Hub's settings, and stores, for each match: the sender's name, the sender's address, the subject line, the date, the message and thread ids, read/archived state, and which course it matched.

Message bodies are never requested and never stored. The sync calls Gmail with format=metadata and an explicit header list of exactly From, Subject and Date. No body is asked for, and the mail table has no column that could hold one; a database test enforces that, failing the migration if a body, snippet, payload or content column is ever added. Only the three headers above are read out of Gmail's reply; anything else it returns alongside them is discarded in memory and never written down.

To be equally clear the other way: a subject line is content. Subjects can be sensitive on their own: grades, health, money, discipline. Those are stored, and they are included in what the AI assistant sees if you use it, and in what an AI app you connect through MCP can read if you tick Coursework mail on that token. Write your mail query narrowly.

The rest of College Hub

You can also enter your class meeting times and locations by hand, set an available-hours-per-day figure, and record or accept workload estimates per assignment. Sync status rows record when the last sync ran and, if it failed, the error text, which can quote a hostname or an upstream API response.

Where the Canvas token and Google tokens are kept

Both live in one table that is locked down harder than anything else on the site. It has row-level security on with zero policies and no grants at all to signed-out or signed-in users. That means it cannot be read through the public API by anybody, including you, the row's owner. Only server-side functions using the service role can read it.

What the app can ask about that table, precisely: whether Canvas is connected, whether Google is connected, the address of your Canvas site, and the expiry date you set on the Canvas token. Never a token value. Two more calls can write to it (saving a Canvas token, and clearing one), and both act only on your own row.

Honest limit on that: the tokens are stored as ordinary text. They are protected by access control and by the database provider's encryption of the disk they sit on. They are not separately encrypted by Batchly at the application level.

Google user data and Limited Use

Sign in with Google, College Hub's Google connection and a meeting page's calendar connection are three different things and ask for different permissions.

Google's tokens are requested with offline access so a sync can run without you being present. You can disconnect from inside College Hub, which asks Google to revoke the token, or from myaccount.google.com/permissions.

Connecting College Hub to Google takes two steps, so that the connection can only land on the Batchly account that started it. When you approve Google's consent screen, Google sends Batchly a one-time authorization code. Batchly holds that code, not your tokens, for at most 10 minutes, until you finish connecting on the College Hub page while signed in to the same Batchly account. The code is then exchanged for the tokens and deleted. If a different account tries to use it, it is deleted unused and nothing is connected. A code nobody uses in time can no longer be used, and is deleted the next time anyone connects Google. Like the tokens, it is kept in a table that only Batchly's server functions can read.

One honest wrinkle. Google keeps its own record of every permission you have granted this app, and a permission you granted before can come back attached to a new token even though Batchly no longer asks for it. College Hub used to ask for read-only Drive file metadata; that was removed on 26 August 2026 because no code ever called Drive. Narrowing what is asked for does not retract what was already given, so if you connected before that date, the old permission can still sit on your grant until you remove the app at myaccount.google.com/permissions. Nothing in Batchly calls the Drive API.

Batchly's use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.

The use of information received from Google Workspace APIs will adhere to the Google Workspace API User Data and Developer Policy, including the Limited Use requirements.

Specifically, and in keeping with Limited Use:

The operator ensures that anyone acting on Batchly's behalf, and any successor to it, complies with the Google API Services User Data Policy.

Workouts, food and progress photos

The workout tracker is invite-only. If you are in it, these are the things it records, all entered by you:

Progress photos, nutrition and body measurements are health data. In most privacy regimes they are a sensitive category, and Batchly treats them as one. Photos and import screenshots go into private storage buckets, not the public ones used for avatars and game covers.

The workout tracker is a shared group, and sharing is the default. It is one group, not per-person friend lists: everyone invited can see everyone else.

Always visible to the whole group, with no setting to turn it off: your workouts (including their titles and your notes) and every set you log.

Visible to the whole group unless you mark the entry private: your progress photos and your nutrition entries. Both default to group-visible. If you upload a progress photo and change nothing, the other members can see it. The upload form and the food form each carry a checkbox that makes that entry yours alone; you have to tick it, per entry, at the moment you save.

Yours alone: your commitments and stakes, and your screenshot imports.

Sleep log

Invite-only: the operator adds people one account at a time, and the account also needs a confirmed email address. It records the night's date, bed time, wake time, a 1–5 quality rating and free-text notes, and only once you enter them.

Sleep entries are readable only by the account that wrote them, enforced in the database rather than only in the page (not by the workout group, and not by other people using the sleep log). It has never been a shared space: an invite gives you a log of your own, not a view of anyone else's. Administrators are not an exception to it either; the note below about direct database access still applies, and it is the only route by which the operator could ever see an entry.

The sleep helper (the AI you can ask about your own nights) comes from the same invite as the log. If it is not switched on for you, the helper is not offered and the server refuses the request. If an invite is ever withdrawn, the log and the helper close for that account, and the nights already logged are not deleted: they go when the account is deleted, or sooner if you ask (see Contact).

Health data

Some laws, such as Washington State's My Health My Data Act, give extra protection to information about a person's health, and define it broadly. On Batchly that means what you record in the workout tracker (workouts, sets, progress photos, nutrition, and body measurements if that is ever used) and the sleep log, and what you ask the sleep helper. All of it is described in those sections; in short:

AI features and what they send

Six features can send your content to a language model. Four of them run only when you press something; one runs when an AI app you connected yourself asks for it; the sixth, support email, runs the moment your message arrives. For the features Batchly runs itself, two providers are used: a self-hosted model (a Qwen model on a computer owned and run by the operator's family, which the site's servers reach over an encrypted connection with a key only they hold) and the Anthropic Claude API. Where a feature tries the self-hosted model first and falls back to Claude, that is stated.

FeatureWhat is sentWhere it goes
Site AI assistant The assistant is for signed-in accounts. It receives your messages and the page you are on, the game catalogue and play tips, and your own profile summary: display name, level, XP, global rank, Watts balance, streak, how many achievements you have, the titles of games you uploaded, and the games you have played. Your email address is not included. Self-hosted model; Claude API if it is offline.
College Hub assistant
(separate invite list)
Your question, plus your courses, upcoming and overdue assignments, class schedule, this week's calendar events, and recent mail: sender names, sender addresses and subject lines. Rebuilt on the server from your own rows; the app cannot send someone else's. Calendar events go in as title, time and location only; the event description is deliberately left out. Grades are left out too: assignment points possible is included, your score is not, and neither is any course total. Whichever provider the operator has configured: the self-hosted model or the Claude API. It can also be set to none, which switches the assistant off rather than falling back to anything.
Your own AI app, through MCP
(only for a token you create with College Hub ticked)
What your AI app asks for, read from your own College Hub, and only the parts you left ticked when you created the token. Always: your courses, and what is connected and when it last synced. Ticked for you, and each yours to untick: your assignments (name, course, due date, points possible, submitted or missing, your workload estimate and the Canvas link); your class times; and calendar events from the window College Hub syncs (a week back to four weeks ahead, at most two weeks per request) as title, time, place and calendar name. Event descriptions are never included. Grades (your scores and course totals) only if you also tick Grades, and only while Grades is on in College Hub. Coursework mail (sender names, sender addresses and subject lines) only if you also tick Coursework mail. A part you did not tick is never read. A token reads only the account that created it, and nothing can be changed through it. Whichever AI app you connect the token to (for example Claude, ChatGPT, Cursor or VS Code), and that app's AI provider, under its own terms. Batchly does not choose it, cannot see what it does with the data, and cannot recall what it has already read. Revoking the token in Settings stops further reads at once.
Workout / nutrition screenshot import The image you attach, so the numbers can be read out of it. Claude API only. The self-hosted model cannot read images, so there is no fallback. If you go on to confirm the entry, the image is also kept in a private bucket attached to it; deleting the entry removes the file straight away, and deleting the workout or nutrition day it belongs to removes it through a clean-up job that normally runs within ten minutes (see Keeping, disconnecting and deleting).
Sleep helper
(granted account by account)
Your recent sleep entries: dates, bed and wake times, quality ratings and the free-text notes you wrote on them. No site or game context. Nothing is sent unless the helper is switched on for your account and you ask it something. Self-hosted model; Claude API if enabled and it is offline.
Support email
(mail you send to support@batch-ly.com)
Your address, the subject and the text of your email. Read the Emailing support section before you write to us: this one runs without you pressing anything. Self-hosted model; Claude API if it is offline.

The self-hosted model runs on a machine the operator's family controls. Data sent to it does not leave that machine, and it is not used to train anything.

Requests to the Claude API are sent under Anthropic's commercial API terms, under which Anthropic states it does not train its models on data submitted through the API. Anthropic is a third party with its own policies; if you are not comfortable with that, do not use the features in the table.

Conversations themselves are not stored as transcripts. For each of these features, what the database keeps is a row holding your account id and a timestamp: enough for the rate limits to work, and nothing of what was said. Two AI records hold more. One is the moderation verdict on each submitted game (see below). The other is the operator's own: when an admin uses the description-writing tool, a row records the feature, the game and that admin's email address.

Reads through MCP are not logged either, beyond the time a token was last used. What an AI app you connect does with what it reads, including whether it keeps it, is up to that app and its provider: Batchly cannot see it or take it back. Revoking the token in Settings under MCP access stops further reads at once.

Separately, a game you submit is passed to a model for automated moderation, and the operator can use a model to draft a game's description from its code. Both try the self-hosted model first and fall back to the Claude API. The moderation step's latest verdict on each game (approve, flag or reject, its short reason, which model answered, and a fingerprint of the version it read) is kept with the game, and only the site's admins can read it.

The operator also uses an AI assistant (currently Anthropic's Claude) to help run the site. Through an admin-only connection it can read feedback and its screenshots, reports about games, error reports, posts on the internal admin board and games waiting for review, and it can look up an account by name or id. Email addresses are hidden from it unless the operator asks for one, and each such lookup is logged. What it reads is sent to Anthropic. That connection has no access to College Hub, workout or sleep data.

Email from Batchly

Anyone can give an email address to hear about new games; it does not need an account. Batchly's own email is switched off at the moment (see Companies that receive your data), so for now an address is stored but nothing is sent to it. When it is on, this is how it works:

The sign-up form is also covered by the abuse limits described in Diagnostics.

Emailing support

The address at the bottom of this page is not a plain mailbox, and you should know that before you use it. Mail to support@batch-ly.com goes through this, every time:

The model is instructed to hand certain things to a person rather than answer them itself: anything about account deletion, data access or a privacy or legal request; anything about payments; security reports; and anything involving another person, such as harassment or abuse. So a deletion request reaches a human. It is still read by a model on the way, and it is still stored.

If that is not acceptable for what you need to send (and for some requests it reasonably will not be), say only that you would like to be contacted, and the rest can be arranged another way.

Booking a meeting

An administrator of Batchly, or a host an administrator has added, can publish a booking page at an address like batch-ly.com/meet/<name>, usually linked from their email signature, so people can pick a time to meet them. Anyone with the link can use it, with or without a Batchly account. The page shows the host's name, picture, meeting details and free times; it never shows what fills the rest of their calendar.

When you book a meeting, this is what is collected and where it goes:

Nothing from a booking is sent to an AI model. The booking page sets no cookies and records no product events. Like every page on the site, it can record page-speed measurements and, if something breaks, an error report (see Diagnostics), and it saves the site's language setting in your browser. A host can choose to show the picture from their Google sign-in on their page; that picture loads from Google, which sees your IP address when it does.

Treat your reschedule-or-cancel link like a key. The private code in it is the only check on who can move or cancel your booking, so anyone you forward the invitation to can do both. The code sits after the # in the address, a part browsers do not send to servers, so it does not end up in Batchly's request logs or its hosting providers'; Batchly keeps only a hash of it.

Anyone can send a copyright notice, or a counter notice, from the Copyright page, with or without an account. When you do, Batchly stores what you type in the form: your name, email address, postal address and phone number (if you give them), the work, the batch-ly.com addresses, your explanation and your typed signature, plus which version of the sworn statements you ticked. It also stores a keyed hash of your network (IP) address, used only to stop one connection sending a flood of notices; it cannot be turned back into your address without a key only Batchly's server holds, and administrators cannot see it.

Diagnostics and error reports

Batchly runs no third-party analytics or tracking SDK: no Google Analytics, no advertising pixel, no Sentry. It does keep four small first-party diagnostic logs, and it is worth being precise about what is in them, because an earlier version of this policy said there was nothing at all.

The first three are write-only from the browser: the database accepts inserts from anyone and returns rows only to an administrator (security reports arrive through a server function instead). Product events, page-speed measurements and error reports are kept until the operator deletes them; there is no automatic deletion yet. When you delete your account, your account id is removed from any error report, but the report itself is kept.

One thing that is not a log but is worth naming here. So the site can show how many people are on it, your browser joins a shared live channel while you have Batchly open, and announces itself there with a random id made for that tab, whether or not you are signed in. Nothing else is broadcast, nothing is stored, and the channel cannot tell anyone which account is online. (Until 21 October 2026 a signed-in browser announced its account id there.)

Global Privacy Control and Do Not Track. If your browser sends either signal, Batchly records no product events from it at all, arrivals included. The signal does not stop page-speed measurements, error reports, security reports or the online count, which are there to keep the site working.

Abuse limits. So that the email sign-up form, and tip checkout once payments are switched on, cannot be used to send spam or to test stolen cards, Batchly counts recent attempts from each network address (for a signed-in tip, from each account). Only a keyed hash of the address or account is stored, never the address itself. The key changes every day and is deleted after two days, after which nobody, Batchly included, can tell which network or account a count came from, and the counts themselves are deleted after 25 hours. They are kept whatever privacy signal your browser sends, because they exist to stop abuse.

Beyond these, our hosting and CDN providers receive the ordinary request information any website receives: IP address, User-Agent, and the URLs you load.

Who can see what

DataWho can see it
Display name, avatar, bio, account id, level, titlesAnyone, including signed-out visitors
Leaderboard scores, achievements, published games, comments, ratingsAnyone
A comment hidden by a game's creator or a moderatorThe person who wrote it, the game's creator and the site's administrators
Who you have blockedYou only
Reports you make about a player or a commentThe site's administrators only. The person you report is not told who reported them.
Moderation records: deleted comments, reset names, pictures and bios, suspensions, and who decided each and whyThe site's administrators only
A published game's source file, offered for download on /downloadsAnyone, if its creator left source sharing on
Who you follow and who follows you, your activity feed (achievement unlocks and follows), your current streak, the cosmetics you own and wear, collections you make, jam entries and jam votes, weekly challenge scoresAnyone
Account email, cloud saves, Watts balance and historyYou only
College Hub: courses, assignments, calendar events, mail headers, settingsYou only, plus an AI app you connect with an MCP token that has College Hub ticked, for the parts you left ticked on it (courses always; mail headers only if you also tick coursework mail)
College Hub grades: assignment scores and course totals (stored only if you opt in)You only. Not sent to the College Hub assistant; sent to an AI app through MCP only if you tick Grades on that token.
Canvas and Google tokens (College Hub and meeting pages)Nobody through the app (server functions only)
A meeting booking page: the host's name, picture, meeting details and free timesAnyone with the link
A meeting you book on someone's page: your name, email address, note and time zoneThat host, in Batchly and in their Google Calendar. Not public.
How many people are onlineAnyone. Only the count: no account is named
Workouts, sets and exercise namesEveryone in the workout group. No opt-out.
Progress photos, nutritionEveryone in the workout group by default; you only, if you tick private on the entry
Commitments, stakes, screenshot importsYou only
Sleep entriesYou only
Feedback, bug reports, subscriber emails, error logs, analyticsThe site operator only, plus the operator's AI assistant for feedback, game reports and error logs (see AI features)
Mail you send to support@batch-ly.comAn AI model, then the site operator (see Emailing support)
That your account confirmed it is 13 or over, and whenYou and the site's administrators
A flag raised when an account answers the age question with an age under 13The site's administrators only
Copyright notices and counter noticesThe site's administrators, and the other side of the dispute as described in Copyright notices

These are enforced in the database itself with row-level security, not only in the interface. The operator, as the person who runs the database, can technically reach anything stored in it, which is true of every site, and worth saying plainly rather than implying otherwise.

Companies that receive your data

Batchly does not sell your personal information and does not share it for advertising. It relies on a small set of providers, each receiving only what it needs.

Where it lives and how it is protected

Data is held in a Supabase project in the United States, delivered through AWS. Both encrypt data in transit over HTTPS and at rest as part of their managed infrastructure.

Access is enforced at the database level rather than only in the app, so a bug in the interface does not open a door. Concretely: your saves, settings and College Hub data are readable only by your account; the workout rules are exactly as described above; credentials are in a table with no user-facing access at all; and the diagnostic tables accept writes but return nothing to anyone except the operator.

Progress photos and import screenshots are in private storage buckets. A member of the workout group can retrieve another member's photo only when the matching row is one this policy says they can see.

Passwords are never stored or logged in readable form; the authentication provider keeps only a hash.

No online service is completely secure. Batchly is a personal project run by one person, not a company with a security team. That is a real limitation, and it is a reason to think about what you connect. If you would rather not have coursework or health data in one hobbyist's database, use the parts of the site that do not need it.

Keeping, disconnecting and deleting

Account data is kept while your account exists. Feedback is kept while it is useful. What is kept from an email sign-up is described in Email from Batchly. Diagnostic logs are covered in Diagnostics. Provider request logs follow those providers' own retention policies.

Disconnecting is not the same as deleting, so here is exactly what each one does today:

Age-question flags are deleted with the account they concern. Copyright notices are kept as a record, as described in Copyright notices.

Meeting bookings are kept after the meeting has happened, and after a cancellation, so the host has a record of them. To have the details of a booking you made deleted, email the address in Contact from the address you booked with; you do not need an account. That deletes Batchly's copy. The event in the host's Google Calendar and the invitation in your inbox are held by Google, and are the host's and yours to remove. If a host's account is deleted, every booking made on their page is deleted with it.

You can delete your account yourself at any time: open Settings, go to Delete account and type DELETE. It removes your uploaded files first and then your data, and it cannot be undone. To ask for deletion by email instead, or for anything above to be removed sooner, write to the address in Contact from your account email.

Your choices

If you are in the UK, the EU or a similar place

Laws such as the GDPR give you rights over your personal data. Batchly honours them for anyone who asks, wherever they live:

To use any of these, write to the address in Contact from your account's email address, so the request can be matched to the account, or send it as feedback while signed in (feedback can also be read by the operator's AI assistant; see AI features). Batchly aims to answer within one month.

In the terms these laws use, Batchly relies on: providing the service, for your account and the features you use; your consent, for the connections and optional features you switch on and for health data you choose to record; legitimate interests, for keeping the site secure, preventing abuse, checking uploads and fixing errors; and legal obligations, such as handling copyright notices.

Batchly stores data in the United States (see Where it lives), so using it from elsewhere means your data is transferred there.

Cookies and local storage

No tracking or advertising cookies, and in ordinary use the site sets no cookies at all.

Your browser's local storage is used to keep you signed in (your session token), to remember your light/dark choice and which notices you have dismissed, to hold a score captured before you signed up, to keep a list of games you recently played, to hold an unsubmitted game draft you were writing, to keep each game's own saved progress, to keep your language choice and which views you last used, to hold the account id from an invite link you followed until you sign up, and, if you use the sleep log, a copy of the nights you logged on that device (read back only for the account that logged them). On a browser where a site administrator has signed in, it also keeps a mark so that browser's visits are left out of the visitor counts. If the age question was answered under 13 in a browser, local storage keeps the month in which it may be asked again; that month is worked out from the answer, so it says roughly when that person turns 13, but the month and year chosen are not stored, and the note lapses in that month and is then removed. Session storage holds the random per-tab id used by the product events and by the online-count channel, a note that this tab's arrival has already been counted, and, after an age answer of 13 or over, the time it was given, so the sign-up form and a Google sign-up in the same tab do not ask twice. These stay on your device; the session token is sent only to Batchly's own backend. The meeting booking page adds nothing to this list beyond the language setting every page keeps.

Children

Batchly is a general-audience site. Anyone can play games without an account, but accounts are only for people 13 and over, and Batchly does not knowingly collect personal information from children under 13.

When you create an account, Batchly first asks a neutral question: the month and year you were born. Signing in to an account you already have does not ask it. The answer is not stored. If it is 13 or over, your account records only that it confirmed that, and when. If it is under 13, sign-in and sign-up close in that browser, and the browser keeps a note of when the question may be asked again (see Cookies and local storage). An account that has never answered, such as one made before the question existed or one made with Continue with Google from the sign-in form, is asked it once, the next time it uses the site signed in. If an account answers under 13 there, Batchly signs that browser out and flags the account for an administrator, who decides what happens to it; nothing is deleted automatically.

If you are a parent or guardian and believe your child under 13 has an account or has given Batchly personal information, write to the address in Contact and it will be deleted.

Changes to this policy

This policy is updated as the site changes. When it is, the “Last updated” date at the top changes and the new version is posted at this same URL. Significant changes may also be announced on the site. If a change would newly send your data somewhere it does not go today, this page will say so before it happens.

Contact

Questions, data requests, corrections or account deletion: support@batch-ly.com.

Read Emailing support first. Mail to that address is stored, read by an AI model, and may be answered automatically. Privacy, deletion and legal requests are always routed to a person, but they are read by the model on the way there, so do not put anything in that message you would not want processed that way.

Batchly is operated by an individual as a personal project.

← Back to Batchly