Skip to main content

Privacy Policy

Last updated: 4 October 2026

The short version

Brick Budget is a free tool for browsing LEGO® catalogue data and comparing prices across stores. We built it to need as little of your data as possible:

  • No accounts. You don't sign up or log in, and we never ask for a name, email, or password to use the site.
  • Your website budget stays in your browser. The parts and sets you add, and your currency/store preferences, are saved only in your browser's local storage — not on our servers.
  • No ad tracking or profiling. We use Google Analytics to understand website and MCP usage, without advertising personalization or cross-site advertising profiles.
  • Uploads aren't kept. Files you import are read once to match parts, then discarded.
  • AI requests are transient. If you connect BrickBudget to an AI assistant, the request is processed to provide a result to that assistant. We do not create an account or persist a budget from the conversation.

Who we are

Rui Milagaia, trading as Brick Budget, is the operator and data controller based in Portugal. Contact: support@brickbudget.com.

What we collect, and where it lives

Data you enter — stored only in your browser

Your budget (LEGO set/part identifiers and quantities) and your preferences (selected currency and preferred stores) are saved in your browser's local storage on your own device, under keys such as bb_budget, bb_currency, bb_main_provider and bb_extra_providers. This information is not sent to us for storage and is not linked to any identity. You can erase it at any time by clearing your browser's site data for BrickBudget.

Prices, Smart Suggestions & imports — processed, not stored

Price requests and Smart Suggestions send relevant item identifiers and quantities to our server. Imports are parsed in memory and discarded. We do not persist your budget or uploaded lists. Derived public catalogue search results may be cached for 15 minutes under a hashed query key; this cache does not store raw lists or budgets.

AI assistants and MCP — processed transiently

When you use BrickBudget through an AI assistant or an MCP connection, the assistant sends us the request needed to answer you. This can include search terms, LEGO catalogue identifiers, quantities, provider and currency choices, and import text. We process that input in memory and return the result to your assistant; we do not create an account or save a website budget from the conversation. Your assistant provider handles what you share with it under its own privacy policy and settings.

Optional MCP usage analytics can run on /api/mcp when configured. It sends Google Analytics the tool used, outcome, timing, cache/database operation counts and broad result categories. Search text, submitted lists, budgets, item identifiers and returned links are excluded. You can opt out using the request controls described below.

To estimate distinct callers, we convert the connecting IP address into a secret-keyed identifier that changes each reporting week. Our MCP analytics events contain that identifier, not the raw IP address. This is pseudonymous measurement: shared networks and AI-provider proxies can represent several people, and changing addresses can represent the same person. We do not use this identifier to track callers across reporting weeks.

To disable optional MCP usage analytics for your connection, use https://mcp.brickbudget.com/api/mcp?analytics=off or send DNT: 1 with each request to /api/mcp. These request controls suppress optional analytics without saving a user consent setting. Hosting, operational diagnostics, security and rate-limit processing still apply. MCP analytics does not set device cookies; website analytics choices do not control MCP requests. For questions or objections, contact support@brickbudget.com.

Technical logs — handled by our host

Vercel receives technical request data, including the connecting IP address, browser information, requested endpoint and rate-limit information. Operational diagnostics use classified event, tool, phase and error codes, without raw request payloads. These records help operate, secure and diagnose the service.

Brick Budget does not require a name, email address, payment details or account credentials to use its catalogue and MCP. If you email support, we receive your email address, message and any information you choose to include. Please do not send passwords, payment details or sensitive personal information in support messages, imports or AI tool arguments.

Analytics

On the website, we use Google Analytics, a Google service, only after website analytics consent. It uses cookies and pseudonymous identifiers with technical device/browser data to measure usage in aggregate. Pseudonymous data is not necessarily anonymous. We do not use it for advertising personalisation. Google handles data under its own privacy policy. You can opt out with Google's opt-out browser add-on, or decline or withdraw website analytics consent through Cookie settings. When no analytics choice is stored, an enabled Global Privacy Control signal records analytics as declined. These browser choices do not control separate server-side MCP analytics.

With your consent, we also count file import attempts and parsed results, price optimisation outcomes, budget summary views, and outbound store-link selections. These events contain aggregate counts, matched-part coverage and comparable savings by currency, plus the store and country for an outbound selection. They do not contain your submitted list, item identifiers, filenames or destination URLs. An outbound selection does not tell us whether the retailer visit or purchase succeeded.

Cookies & local storage

BrickBudget does not set advertising cookies. The main cookies involved are those set by Google Analytics to measure aggregate usage (see "Analytics" above). We use your browser's local storage (not cookies) for your budget, language, store and currency preferences and analytics choice. Website analytics cookies are optional and depend on your consent. Essential browser storage supports the features you request; you can clear it using your browser’s site-data controls.

Third parties

The outside services involved in running the site are:

  • Vercel — hosting and delivery of the site (processes technical request data as described above).
  • Google (Analytics) — measures aggregate site usage (see "Analytics" above).
  • Supabase — the database that stores the LEGO catalogue and prices. It holds no personal data about you.
  • CDN (cdn.brickbudget.com) — serves product images to your browser.

Store & affiliate links. When you click a link to buy from a store (such as LEGO or another retailer), you leave BrickBudget and that store's own privacy policy applies. Some of these are affiliate links, meaning we may earn a small commission at no extra cost to you — see our affiliate disclosure. Following a link sends the retailer normal connection data and any affiliate parameters in that link. Cart Helper additionally sends the items and quantities you choose to add to the retailer’s cart.

Cart Helper browser extension

The BrickBudget Cart Helper is an optional browser extension that fills your LEGO.com cart from a budget you send it. It follows the same principles as the site:

  • Your budget stays in your browser. When you click "Send to Cart Helper", your shopping checklist is passed locally to extension storage. When you use cart assistance, selected item identifiers and quantities are sent to LEGO.com to fill its cart. The extension does not save your checklist on Brick Budget servers.
  • Pseudonymous, opt-in usage analytics. With your consent, the extension sends usage events (for example, receipt of a checklist or use of "Auto add all") to Google Analytics so we can see how it's used and improve it. It shares the same analytics choice you make on this site — accept or reject analytics on brickbudget.com and the extension follows suit; otherwise it asks you once in its side panel. It sends none of your checklist contents, item identifiers or account credentials — usage counts and a random per-install identifier, which is pseudonymous rather than anonymous. You can change your analytics choice from the side panel.
  • Where it connects. Apart from the opt-in analytics above, the extension connects to the LEGO.com pages used for shopping and the Brick Budget page you use to send your list. Retailer actions necessarily send the selected items to that retailer. It has no Brick Budget account or advertising trackers.
  • Affiliate shopping links. Cart Helper uses affiliate shopping links when you open an item or start cart assistance. Eligible links can redirect through Rakuten Advertising before reaching LEGO.com and may set attribution cookies. We may earn a commission at no extra cost to you. The extension checks existing attribution locally to avoid replacing another publisher’s referral; it does not send cookie contents to Brick Budget or Google Analytics. Optional usage-statistics consent is separate from affiliate attribution.

The side panel’s clear action removes shopping state, not analytics preferences, the installation identifier or the saved language. To remove all extension data, uninstall it or use your browser’s extension-data controls. This does not erase analytics already received by Google.

Purposes and legal bases

We process request inputs to provide the catalogue, comparisons, imports and tool results you ask for (GDPR Article 6(1)(b)). Security, abuse prevention and support correspondence serve our legitimate interests in operating and protecting the service (Article 6(1)(f)). Website and extension analytics rely on your consent (Article 6(1)(a)).

Where optional MCP measurement is enabled, it is intended to support our legitimate interest in understanding service reliability and usage (GDPR Article 6(1)(f)). Its use requires an appropriate assessment of your interests and rights. You can use the request controls described above to disable this measurement, or email us to object. Website and extension analytics preferences do not apply to MCP calls.

Retention

Browser budgets and preferences remain until you clear them. Request inputs are kept for processing the request; raw uploaded lists and budgets are not persisted. Derived public catalogue search caches expire after 15 minutes. Host logs and analytics follow the providers’ configured retention. Support messages are kept as needed to resolve your request and meet applicable legal obligations. Contact us for the current provider retention settings.

Your rights & choices

Where applicable, you may request access, correction, erasure, restriction or portability of personal data, object to legitimate-interest processing, and withdraw consent without affecting earlier lawful processing. We do not sell personal information. To exercise your rights, email support@brickbudget.com.

You may complain to your local data-protection authority or Portugal’s Comissão Nacional de Proteção de Dados (CNPD). We do not make solely automated decisions with legal or similarly significant effects about you.

We may be unable to link pseudonymous analytics records to you. We will ask only for the information needed to locate relevant records and verify your request, and respond within the applicable legal period. Clearing browser storage does not delete records already held by service providers.

Other details

Children

BrickBudget is a general-audience tool and is not directed at children. We do not knowingly collect personal data from children.

International processing

Hosting runs in the United States. Google and other service providers may process technical data outside the EU/EEA. The applicable transfer mechanism depends on the provider and destination and may involve an adequacy decision or contractual safeguards. Contact us for details of the arrangements applicable to your data.

Changes to this policy

We may update this policy as the site evolves (for example, if we change how analytics or affiliate links work). We'll revise the "last updated" date above when we do.