MADE BY MATTSaved
Menu

Data and privacy

What this site sends, stores and keeps local

The account and mailing-list work changes what can leave one browser, so this page says which data belongs to which feature and which features remain local.

Public Made by Matt content does not require an account. Games, Lessons, Apps, Tools and Resources remain public unless a resource was already legitimately restricted for another reason.

Made by Matt accounts are intended for adults and teachers. Pupils can use the public learning, game and tool content without creating an account.

The optional account is cloud-backed only when the configured Supabase service is active. The account page does not fall back to a local JavaScript password. If cloud configuration is missing, registration and login stay unavailable rather than pretending to be secure.

The mailing list is separate from the account. Creating an account never subscribes you. Joining the list requires its own unticked consent box and double opt-in through the mailing provider.

Optional Made by Matt account

The optional account is intended for adults and teachers who want account-backed member preferences across devices. Pupils do not need an account to use public Made by Matt learning content.

If you choose to create an account, the minimum identity is an email address plus the password you submit directly to the authentication provider. A display name is optional. The site does not ask the account system for date of birth, school, pupil details, postal address or sensitive characteristics.

Supabase Auth is the password authority. Made by Matt JavaScript does not store, hash, compare, back up or receive a separate copy of your password. Supabase manages the authenticated session used by the browser. The Made by Matt database stores an account profile and deliberately limited member data such as saved Made by Matt shortcuts.

Database access is controlled so an authenticated user can read and change only rows belonging to that user's Auth identity. Password data is not duplicated into the profile or member-data tables.

Account records may include: account ID, email in the authentication system, optional display name, account timestamps/status, and member data such as favourites. This data exists so the same account-backed choices can appear after you sign in on another device.

Old on-device accounts

An older Made by Matt version created device-local account records in mbm_users and mbm_session. The new cloud account path does not upload the old password record or hash. Existing local data is left in place unless you deliberately remove it. If the old and new account use the same email, local per-account game save slots can keep using the same device-side slot tag.

Account deletion

The Account page includes a self-service deletion path when its secure server function is deployed. Deleting an account removes the Auth identity and account-backed profile/member rows through their database relationship. If self-service deletion is temporarily unavailable, request deletion from the account address at contactmadebymatt@gmail.com.

A mailing-list subscription is independent. Deleting an account does not silently unsubscribe an independently subscribed email address.

Mailing list

When the mailing system is enabled, the subscription form sends the email address you deliberately enter to a Made by Matt serverless subscription endpoint. That endpoint passes the subscription request to Buttondown, with its private API key kept in server-side secret storage rather than the webpage.

Made by Matt uses double opt-in for the mailing list. A subscription request is not treated as ordinary active marketing consent until the provider confirmation step is completed. Buttondown is the sender of record, and mailing messages retain Buttondown's unsubscribe route.

The administrative contact for this feature is contactmadebymatt@gmail.com. The mailing-list form is not part of account registration, the consent box is not pre-checked, and an account holder may leave it entirely alone.

Signed-in account holders also have a self-service mailing unsubscribe control. The server derives the email address from the verified account session rather than accepting an arbitrary address from the browser.

Activation is explicit. If the mailing backend has not been configured, the form does not claim that a subscription succeeded. The page states that the service is unavailable instead.

Cross-device member data

The first account-backed member data is intentionally small: saved Made by Matt hub shortcuts and the optional display name. Favourites use per-item timestamps and optimistic versioning so a stale browser refetches and merges rather than silently replacing a newer server copy.

Device preferences do not automatically become account data. A reading-background choice can remain local. Named pupil registers, marks, evidence and similar classroom records are not swept into account synchronisation.

Audience choice, search and recently explored items

The optional homepage choice is stored only in this browser under mbm_audience_view. It contains the selected public audience route so the site can offer the same local view again. That preference is not account data and is not sent to an audience-profile service.

The key mbm_splash_last stores one timestamp in this browser so the Made by Matt intro plays once a day; it never leaves this device, and clearing this site's browser storage removes it.

Recently explored public content may be stored in this browser under mbm_recent_items_v1. Each record is deliberately limited to a stable public resource ID, its canonical public route and the time it was opened. It does not contain names, email addresses, school names, account details, lesson notes, pupil data or search terms. Discovery pages provide a Clear control that removes these recent-item records from the device.

Ordinary internal search text is not written to local storage. Made by Matt search loads a same-origin, pre-generated index from this website and filters it in the browser. A query and selected filters may appear in the page URL—for example /resources/?q=asdan—so a search can survive a reload, be copied or work through the non-JavaScript form.

Typing in Made by Matt search does not send the query to Google, DfE, Ofsted or another external search provider. The Professional Education Hub uses its local curated data for ordinary filtering. A clearly labelled official-source link or outbound-source search leaves Made by Matt only after the visitor deliberately activates it; the destination then receives the normal web request needed to open that page.

These discovery features remain separate. Audience choice, recent items and internal search do not enrol anyone in an account or mailing list. Account and mailing systems keep their own explicit controls and consent.

Separate encrypted game-save sync

The estate also contains an older, separate design for opt-in encrypted game-save sync. It is not the account system. Its configuration remains independent, and it must not be described as account-backed sync unless it is actually connected and proven.

Other things that may leave your browser

If you…then this may be sentto
Choose optional shared usage statisticsWhen active and allowed: public resource ID, event type, site source and one-event retry code; location measurement is offExisting Supabase service; no event request while collection is inactive or refused
Send the contact formThe name, email address and message you typedformsubmit.co, the existing contact relay
Search Made by Matt contentThe local index is loaded from this site; a query/filter may be present in the page URLMade by Matt's same-origin website
Open an official external education sourceThe normal navigation request after you deliberately choose the labelled outbound linkThe named official publisher
Press play on an embedded videoThe request needed to load the player/videoyoutube-nocookie.com
Create or use a cloud accountAccount identity/session traffic and account-backed member rowsSupabase
Join the mailing listThe email address you deliberately submit and the provider's subscription/confirmation stateMade by Matt's serverless endpoint and Buttondown

Classroom records and offline-first tools

The UAS Register, ASDAN tools and other surfaces that explicitly say their pupil records stay on the device are not automatically changed by the account system. Authentication must not turn a local pupil-data store into cloud data by accident. Public/offline lessons and standalone apps continue to launch without contacting the account service as a precondition.

Those local stores are named here rather than left as a mystery on a shared device. The UAS Register keeps its data in this browser's IndexedDB under uas_register: pupil forenames, surnames and learner numbers, the units and outcomes each pupil is enrolled on, dated marks, session registers, and any work-example photographs filed as evidence. It is a register, so remembering those names is the feature rather than a leak — but it does mean the device holds named pupil data. Nothing in it is sent anywhere: the app makes no off-origin request at any point, measured. It stays on the device it was entered on, which also means a reimaged laptop or a cleared browser takes it with it.

Two controls in the register's own Settings panel reach that store directly. Export backup (.json) writes the whole register, photographs included, to a file you keep. Delete all data removes every pupil, unit, mark, session and work example from this device, and names what it is about to delete before it does it. Export before a shared device is handed on, then clear it.

Children and education use

Made by Matt is used in education, but the optional account system is intended for adults and teachers rather than pupil account ownership. Pupils can use the public learning, games, apps, tools and resources without creating an account. The account is deliberately data-minimised and is not a pupil-profile system: do not enter school records, pupil evidence or sensitive personal details into the optional display-name or member-favourite features.

The mailing list is a separate adult marketing choice, uses its own consent action and double opt-in, and is never bundled into account creation.

Security and secrets

  • No Gmail password, SMTP password, Supabase service-role key, Buttondown API key or other private credential belongs in GitHub or browser code.
  • The public Supabase project URL and browser key may be published only because the provider designs them for client use; row-level security remains the data boundary.
  • Account deletion uses a server-side service-role secret and requires an authenticated user session.
  • Mailing-list administration uses a server-side provider token; the browser never receives it.

Questions, unsubscribe or deletion

For account-data questions or deletion assistance, email contactmadebymatt@gmail.com. Mailing-list messages retain their own unsubscribe mechanism, and signed-in account holders may also use the Account-page unsubscribe control; unsubscribing does not require deleting a Made by Matt account.

Updated 9 August 2026 for the audience-discovery architecture, same-origin search, device-local recent items, cloud-account audience and separate double-opt-in mailing-list architecture.

Back to Made by Matt

Optional shared usage statistics

Collection is off by default. The status and controls below say whether this release has an active service and whether you have allowed it. Your choice never limits access to public resources.

When active and allowed, the browser sends a registered public resource ID, one of three event types (lesson open, download request or game launch), the education or Play source, and a random retry code used for that event only. We do not send searches, full URLs, fragments, account details, pupil records, work, form contents or game saves. There is no advertising tracker, fingerprint, session replay or cross-domain visitor identifier.

The application keeps aggregate totals by resource and UTC day, plus all-time totals from the actual start date. The retry code is kept briefly to avoid counting the same event twice. It is not a visitor ID. Old browser-only counters are not imported. Public rankings use recorded totals only; the owner dashboard requires existing account sign-in and separate server-side owner authorisation.

Country and UK-region collection is off. The application records no measured location. A device time zone is not treated as a measured country. No location permission is requested and no pupil location map is made.

When the shared service is active, requests go to the existing Supabase provider. Normal network processing exposes the connecting IP address to that provider, and its operational logs may retain connection metadata. The usage database stores neither raw IP addresses nor browser fingerprints. Provider logging, retention and access must be reviewed before collection is activated; calling a feature “cookieless” does not remove that responsibility.

You can freely refuse or turn off future events below. A browser Global Privacy Control or Do Not Track signal also keeps optional event collection off. The preference is stored on this origin only; it is not carried to the separate Play domain. Already aggregated activity cannot be traced back to one person for removal. Reading public totals contacts the shared service but does not create an activity event.

Older device-local activity totals, where retained, stay in this browser. They are not site-wide counts and any old time-zone labels are estimates, not measured locations.

Reviewed 6 September 2026 against the ICO storage and access guidance and Children’s Code geolocation guidance. Optional collection remains subject to the actual deployment and provider review.

Optional usage statistics

Help Matt see which lessons, downloads and games are useful. This is optional and off until you allow it. We count activity events, not people or completed work.

When active, the shared service receives only a public resource ID, event type, site name and a one-event retry code. It receives no account information, search text, pupil work or full page URL. Location measurement is off.

Shared statistics collection is not active yet.

Your choice is saved only for this website in this browser. Education and Play have separate choices. Turning statistics off stops future event requests; already anonymous aggregate totals cannot be linked back to you. Read the statistics privacy explanation.

Shared activity · Top 10 lessons and packs