Privacy Policy

This notice explains the current data practices for this unofficial fan site. It is not legal advice. We update it when authentication, storage, analytics, payments, or other material data practices change.

Last updated: October 21, 2026

What this site stores

Core game catalog and published builds live in our Supabase project (database + related storage). We do not run third-party ads on these pages. Accounts use Discord OAuth via Supabase Auth (no email/password signup on this site).

  • Builds — title, tags, board placements, Needs/Wants/Good to have tier assignments, route notes, optional video link, moderation flags, author link. Submitted builds require at least one item in each tier. Event entries stay visible only to their author until that event's gallery opens (when a scored event ends, or when voting starts). Until then they are not on the public builds feed. For an event without community voting, we also store the selected winning build, selection time, and the owner account that made that private admin decision. When you submit, your browser also makes a board picture and a short animated GIF of the board, and both are stored with the build. Link previews (for example in Discord) show them only for public builds. Public builds also get their own page (title, class, author name, items) that search engines can find and list; it is removed within a few hours of a build going private or being deleted
  • Profiles — Discord user id, display name, Discord avatar URL, optional public equipped sim look (equipped_avatar), optional cosmetic grants, public coin balance (coins, for a future site marketplace), a legacy bound vote-key field, owner flag (for site admins), membership fields (plan, founding slot, premium_until, Stripe customer id when applicable), and a recent Discord-server verification time while Private access is enabled. Access, role, grant, and membership values are recorded by our server rather than accepted from browser profile edits, and the server clears an equipped look your account is not entitled to.
  • Cosmetic copies — each cosmetic copy you earn (or, once the market opens, buy) is numbered and records its original owner, current holder, and an append-only history of grants and transfers. The original owner's display name can appear on that copy's public tooltip.
  • Votes — signed-in Discord account vote rows and a browser cache of the selected vote for the Liked filter; a confirmed vote direction may remain briefly in session storage while OAuth returns
  • Local drafts — create-page drafts may stay in your browser (localStorage) until you submit or clear them
  • Combat sandbox — dummy fights on /sim/ run in your browser. Fight results stay local unless you send an issue report (see below). The page may keep a mode preference in localStorage (bpb-sim-mode)
  • Create animation export — Premium/founding members may render a transparent WebM of up to 20 seconds of their current board in the browser. The video is downloaded locally; we do not upload or store the exported file
  • Page visits — a daily count of which public pages were opened (home, items, a build guide, and so on). A browser session is counted once per page. For a signed-in visitor, the server also records that page/day count against the site profile so site owners can see a private 30-day breakdown by current display name; unsigned-in visits are grouped without an account. We do not store an IP address or query string for this analytics feature. Admin and dev pages are not counted. Only site owners can see the totals and breakdown
  • Membership totals — once a day we store how many accounts, paid Premium members, and founding members exist, plus monthly revenue estimated as paid Premium times $3. No names and no card data. Only site owners can see that chart

Site owners may upload public banner and icon artwork for community-event drafts. Those images are stored in Supabase Storage and displayed on public event pages.

Paid membership / Stripe

Optional Premium membership is billed through Stripe (Checkout and Customer Portal). Card numbers and full payment details are handled by Stripe; we do not store raw card data on this site. On your profile we may store membership status (plan), an optional access end time (premium_until), and a Stripe customer id so we can open the billing portal and apply webhook updates.

  • Founding members — the first eligible Discord sign-ins may receive lifetime Premium as a site entitlement (not a Stripe charge). That grant is separate from paid subscriptions.
  • Retention — membership fields stay with your profile while the account exists; canceling a paid plan updates status via Stripe webhooks
  • Deletion — contact us via Discord or YouTube to request removal of profile / billing-linked membership data (Stripe may retain its own records per their policy)

Discord accounts

Signing in with Discord returns to the approved BPB Builds site URL where the flow began, creates a Supabase session, and creates a public profile page at /u/{discord_id}/. We store the Discord snowflake, display name, and avatar URL (plus an optional public equipped look for the combat sim) so we can credit builds and show your persona. Display name and Discord avatar sync from Discord; the equipped look is separate and only changes when you set it. Submitting a build requires a signed-in Discord session. You can sign out from the site nav. Discord's sign-in screen also asks to let us add you to servers ("Join servers for you"). Right after you sign in, we use that one-time permission to add your account to the BPB Builds community server; the Discord token is sent only for that request and is not stored. You can leave the server at any time; we only add you again if you sign in again. After sign-in, our Discord bot checks whether that account is in the community server. When site owners enable private access, that membership result is used to allow or deny access to the site UI and Supabase-backed app data; otherwise, a non-member may be offered an invite. If the account is in the server, your site plan (free, Premium, or founding) is mirrored to a Discord role. In that server the bot keeps the nickname you set and adds how many builds you have uploaded. When a build is public on the site, the bot posts it in the server builds forum (title, class, author, link, and a picture of the board). The bot does not change your site plan. Deletion requests for a profile or published builds: contact us via Discord or YouTube (see Contact).

Blob cosmetic submissions

The Submit cosmetic form on your profile Blob / Inventory tabs collects a cosmetic name, equip slot, rarity, description, image file, and the inventory spaces you paint for it, plus the signed-in profile used for artist credit. The file and metadata are stored privately in Supabase for owner moderation; they are not public while pending or rejected. Approval turns a submission into an owner-only catalog draft. Once an owner publishes it, its artwork and catalog metadata become a public Starter cosmetic and may be announced in the BPB Builds community. Contact us via Discord or YouTube to request deletion.

Site owners may also upload official cosmetic artwork from the private admin page. Those files are stored in Supabase Storage with catalog metadata; an upload remains an owner-only draft until it is published, after which its image and catalog fields are public wardrobe data.

Combat sandbox issue reports

If you use Report issue on /sim/, we store the description you type plus a frozen copy of session facts we show on that form (seed, signed-in display name or “Guest”, your board, opponent, script coverage, and permalink). You cannot edit those facts; we keep them so we can reproduce the fight. Signed-in reports may also store your profile id. Reports are reviewed by site owners on a private admin page — they are not public.

  • Retention — kept until we resolve or delete the report
  • Deletion — contact us via Discord or YouTube to request removal

Steam history.db uploads

If you attach a Steam history.db run in the creator, we may store run metadata needed to show a Real build and round scrubber — for example board layouts per round, win/loss markers, class/league display fields, the game version the run was played on, and related item placements. The game version is shown publicly on the build (without a run, it is the version you pick in Create). We use this to power the site experience, not to sell your history. For an event, the site owner can download those stored runs as one history.db to open in the game while judging.

  • Retention — kept with the draft/build while the history remains attached
  • Clear / unlock — clearing run history on create removes the attached history from that draft (Real → Feasible)
  • Deletion requests — contact us via Discord or YouTube to request removal of a published build, attached history, or account profile data

Paused screenshot import

Screenshot-to-build reconstruction is paused for launch. The Create page does not accept backpack screenshots for processing, so this feature does not collect, upload, or store screenshot images.

  • No processing — image uploads and the optional cloud fallback are disabled
  • Existing builds — manual board edits and saved builds continue to work normally
  • Future change — this policy will be updated before screenshot processing is restored

Votes

Likes/dislikes require Discord sign-in and use the authenticated account on the server. When you click while signed out, the site can keep the requested build and vote direction briefly in session storage so the action can resume after OAuth. The browser cache used to paint your selected vote and Liked filter can be cleared by deleting site data.

Hosting & logs

The static site is hosted on Cloudflare Pages. Standard hosting and database provider logs may exist for security and reliability. Build share links (share.bpbbuilds.com) also run on Cloudflare: they show public build titles and board images to link-preview bots and send everyone else to the build page.

Contact

Questions: Discord or YouTube.

Updates to this policy

The date above identifies the current version. When a material data practice changes, we will update this page and may also announce the change in the site UI or community channels. We do not intentionally collect information beyond the uses described here.

Related: About · Terms