Bloqueie conteúdo incorporado (YouTube, Google Maps, Twitter) até ao consentimento do utilizador. Solução gratuita e em conformidade com o GDPR para incorporações de terceiros.
Gratuito para sempre. Em conformidade com o GDPR. Funciona com todas as principais incorporações.
Configure a sua ferramenta de consentimento de incorporações abaixo. Copie o código gerado e adicione-o ao seu site.
Este conteúdo está bloqueado até aceitar os cookies
<!-- Embed Consent Tool by TermsBox - https://termsbox.com/embed-consent -->
<script>
(function() {
'use strict';
var TERMSBOX_EMBED_CONFIG = {
blockedDomains: ["youtube.com","youtu.be","vimeo.com","google.com/maps","maps.google.com"],
placeholderText: "Este conteúdo está bloqueado até aceitar os cookies",
buttonText: "Aceitar e carregar conteúdo",
theme: "light",
rememberConsent: true,
consentDays: 30,
storageKey: 'termsbox_embed_consent'
};
function hasConsent() {
if (!TERMSBOX_EMBED_CONFIG.rememberConsent) return false;
try {
var consent = localStorage.getItem(TERMSBOX_EMBED_CONFIG.storageKey);
if (!consent) return false;
var data = JSON.parse(consent);
return data.granted && data.expires > Date.now();
} catch (e) {
return false;
}
}
function saveConsent() {
if (!TERMSBOX_EMBED_CONFIG.rememberConsent) return;
try {
var expires = Date.now() + (TERMSBOX_EMBED_CONFIG.consentDays * 24 * 60 * 60 * 1000);
localStorage.setItem(TERMSBOX_EMBED_CONFIG.storageKey, JSON.stringify({
granted: true,
expires: expires
}));
} catch (e) {
// localStorage not available
}
}
function shouldBlock(src) {
if (!src) return false;
var srcLower = src.toLowerCase();
return TERMSBOX_EMBED_CONFIG.blockedDomains.some(function(domain) {
return srcLower.indexOf(domain) !== -1;
});
}
function createPlaceholder(iframe) {
var placeholder = document.createElement('div');
placeholder.className = 'termsbox-embed-placeholder';
placeholder.style.cssText = 'display:flex;flex-direction:column;align-items:center;justify-content:center;' +
'padding:40px 20px;text-align:center;border-radius:8px;min-height:200px;' +
(TERMSBOX_EMBED_CONFIG.theme === 'dark'
? 'background:#1f2937;color:#f3f4f6;border:1px solid #374151;'
: 'background:#f3f4f6;color:#1f2937;border:1px solid #e5e7eb;');
var icon = document.createElement('div');
icon.innerHTML = '<svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"/><path d="m7 11V7a5 5 0 0 1 10 0v4"/></svg>';
icon.style.cssText = 'margin-bottom:16px;opacity:0.6;';
var text = document.createElement('p');
text.textContent = TERMSBOX_EMBED_CONFIG.placeholderText;
text.style.cssText = 'margin:0 0 16px 0;font-size:14px;max-width:300px;';
var button = document.createElement('button');
button.textContent = TERMSBOX_EMBED_CONFIG.buttonText;
button.style.cssText = 'padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;' +
'border:none;transition:opacity 0.2s;' +
(TERMSBOX_EMBED_CONFIG.theme === 'dark'
? 'background:#3b82f6;color:#ffffff;'
: 'background:#2563eb;color:#ffffff;');
button.onmouseover = function() { this.style.opacity = '0.9'; };
button.onmouseout = function() { this.style.opacity = '1'; };
button.onclick = function() {
saveConsent();
loadAllEmbeds();
};
placeholder.appendChild(icon);
placeholder.appendChild(text);
placeholder.appendChild(button);
return placeholder;
}
function loadAllEmbeds() {
var placeholders = document.querySelectorAll('.termsbox-embed-placeholder');
placeholders.forEach(function(placeholder) {
var iframe = placeholder.termsboxOriginalIframe;
if (iframe && placeholder.parentNode) {
placeholder.parentNode.replaceChild(iframe, placeholder);
}
});
}
function processIframes() {
if (hasConsent()) return;
var iframes = document.querySelectorAll('iframe[src]');
iframes.forEach(function(iframe) {
if (shouldBlock(iframe.src)) {
var placeholder = createPlaceholder(iframe);
placeholder.termsboxOriginalIframe = iframe.cloneNode(true);
if (iframe.width) placeholder.style.width = iframe.width + (isNaN(iframe.width) ? '' : 'px');
if (iframe.height) placeholder.style.height = iframe.height + (isNaN(iframe.height) ? '' : 'px');
iframe.parentNode.replaceChild(placeholder, iframe);
}
});
}
// Run on DOM ready
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', processIframes);
} else {
processIframes();
}
// Also observe for dynamically added iframes
if (typeof MutationObserver !== 'undefined') {
var observer = new MutationObserver(function(mutations) {
if (!hasConsent()) {
mutations.forEach(function(mutation) {
mutation.addedNodes.forEach(function(node) {
if (node.nodeType === 1) {
if (node.tagName === 'IFRAME' && shouldBlock(node.src)) {
var placeholder = createPlaceholder(node);
placeholder.termsboxOriginalIframe = node.cloneNode(true);
node.parentNode.replaceChild(placeholder, node);
}
// Check child iframes
var childIframes = node.querySelectorAll && node.querySelectorAll('iframe[src]');
if (childIframes) {
childIframes.forEach(function(iframe) {
if (shouldBlock(iframe.src)) {
var p = createPlaceholder(iframe);
p.termsboxOriginalIframe = iframe.cloneNode(true);
iframe.parentNode.replaceChild(p, iframe);
}
});
}
}
});
});
}
});
observer.observe(document.body || document.documentElement, { childList: true, subtree: true });
}
})();
</script>
<!-- Get your free Embed Consent tool at https://termsbox.com/embed-consent -->O consentimento de incorporações é um mecanismo de privacidade que impede o carregamento de conteúdo incorporado de terceiros até os utilizadores o aceitarem explicitamente. Quando incorpora conteúdo de plataformas como o YouTube, o Google Maps ou as redes sociais, essas incorporações carregam muitas vezes cookies, scripts de rastreio e outros mecanismos de recolha de dados de forma automática.
Ao abrigo de regulamentos de privacidade como o GDPR, a Diretiva ePrivacy e leis semelhantes em todo o mundo, precisa do consentimento do utilizador antes de carregar este conteúdo de rastreio. Uma ferramenta de consentimento de incorporações substitui estas incorporações por um marcador de posição que explica o que será carregado e inclui um botão para os utilizadores darem o consentimento.
Uma vez dado o consentimento, a incorporação original carrega normalmente. A ferramenta pode memorizar esta escolha para que os visitantes recorrentes não tenham de consentir novamente em cada visita.
Cumpra os requisitos de privacidade da UE obtendo o consentimento antes de carregar conteúdo de rastreio de terceiros.
Respeite a privacidade do utilizador ao não partilhar automaticamente os seus dados com plataformas de terceiros.
Evite potenciais coimas do GDPR garantindo o consentimento adequado para todas as tecnologias de rastreio.
Mostre aos utilizadores exatamente que conteúdo de terceiros será carregado antes de interagirem com ele.
O utilizador visita uma página com conteúdo incorporado (YouTube, Maps, etc.)
O script deteta incorporações de domínios bloqueados e substitui-as por um marcador de posição
O marcador de posição mostra uma mensagem personalizável com um botão de consentimento
O utilizador clica no botão para dar o consentimento e carregar todas as incorporações
O consentimento é guardado no localStorage para futuras visitas (se ativado)
YouTube, Vimeo e outras incorporações de vídeo que definem cookies de rastreio.
Incorporações do Google Maps que rastreiam dados de localização e de comportamento do utilizador.
Incorporações do Twitter/X, Facebook, Instagram e de outras plataformas sociais.
Deixe de carregar conteúdo de rastreio de terceiros sem consentimento. Utilize a nossa ferramenta gratuita de consentimento de incorporações para se manter em conformidade com os regulamentos de privacidade.
Solução completa de consentimento de cookies com banner e preferências personalizáveis.
Adicione um link "Não vender as minhas informações pessoais" para a conformidade com a Califórnia.
Gere uma política de privacidade abrangente, adaptada às necessidades da sua empresa.