Cookie policy
Last updated: November 2026
This is a translation. In case of discrepancy between versions, the Portuguese version prevails.
1. Only what is strictly necessary
This website does not use advertising, tracking or social media cookies, and does not load third-party content that sets them (videos, maps, widgets). It only stores the items below on your device, all strictly necessary to provide what you asked for or to remember a choice you made. They therefore do not require consent (Article 5(2) of Portuguese Law 41/2004, transposing Article 5(3) of the ePrivacy Directive) and the cookie notice is for information only. If the home page shows Instagram posts, they only load when you press the button (they come from Behold, behold.so, which stores nothing on your device but receives your IP address).
2. Full list
jdg-cookies-ok(local storage (localStorage)). Set by: joaodg.pt (this website). Purpose: Remembers that you closed the cookie notice, so it is not shown again. Category: Strictly necessary. Duration: until you clear it in your browser.theme(local storage (localStorage)). Set by: joaodg.pt (this website). Purpose: Stores the light or dark mode you chose with the theme button. Only set when you press the button. Category: Strictly necessary. Duration: until you clear it in your browser.joaodg:currency(local storage (localStorage)). Set by: joaodg.pt (this website). Purpose: Stores the currency you chose for prices. Only set when you choose a currency. Category: Strictly necessary. Duration: until you clear it in your browser.locale(cookie). Set by: joaodg.pt (also valid on app.joaodg.pt and JoaoDG Cards). Purpose: Stores the language you chose in the language selector. Only set when you choose a language. Category: Strictly necessary. Duration: 12 months.mercado(cookie). Set by: joaodg.pt (this website). Purpose: Stores that you chose to stay on this website (Portugal and Europe) or on the Brazilian one, so that you are not redirected or asked again. Only set when you make that choice. Category: Strictly necessary. Duration: 12 months.mercado_sugerido(cookie). Set by: joaodg.pt (this website). Purpose: Set by the server only for visitors from Brazil, to suggest the Brazilian website (prices in reais). Contains only "br". Category: Strictly necessary. Duration: 1 hour.
3. Statistics without cookies
On joaodg.pt visits are counted with GoatCounter, which sets no cookies, stores nothing on your device and does not keep your IP address: the browser sends GoatCounter the page viewed, the referring page, the screen size and the language, and the rest (browser, system, approximate country) is derived from the request. See the Privacy policy.
4. How to delete them
You can delete these items at any time in your browser settings (cookies and site data). The website keeps working without them; it simply shows the cookie notice again and uses the default language, theme and currency.
5. Project previews
On computers, the projects page and the case studies show a live view of the home page of websites we build and host (ana-aleixo-credito.pt, zelopro.pt, diogocesar-canalizacoes.pt, franciscasoares-celebrantes.pt, silviapicao-fisioterapeuta.pt, heavenlyco-group.com and joaodgaiteiro.com), in a read-only frame (iframe) that loads when the card comes into view. These websites set no cookies and call no third parties, and the preview is not counted as a visit in their statistics. They only store, isolated from the rest of your browsing, what is strictly necessary to display: the language (hco_lang on heavenlyco-group.com and jdg_lang_cine on joaodgaiteiro.com, local storage) and, on the WordPress sites (zelopro.pt and diogocesar-canalizacoes.pt), wpEmojiSettingsSupports (session storage, deleted when you close the tab), which only checks whether your browser can display emoji. When the preview loads, your browser connects to that website's server, which records the IP address in its technical logs, as with any visit. On phones, or with data saver or reduced motion turned on, we only show an image.