2026 Ready

AB 3030 Auto-Discloser Widget

Meeting the "20% Screen Overlay" requirement is hard. Our script does it for you. Stick it in your `<head>` and stay compliant.

Widget Settings

AB 3030 requires the disclosure to be "prominent" and "readable". We recommend a font size of 14px or higher.

<script>
(function() {
  const config = {
    company: "Our Practice",
    theme: "dark",
    position: "top",
    fontSize: "14px"
  };

  const styles = `
    #ca-ai-disclosure {
      position: fixed;
      ${config.position}: 0;
      left: 0;
      width: 100%;
      z-index: 2147483647;
      padding: 12px 20px;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
      font-size: ${config.fontSize};
      line-height: 1.4;
      text-align: center;
      transition: all 0.3s ease;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      box-shadow: 0 ${config.position === 'top' ? '2px' : '-2px'} 10px rgba(0,0,0,0.1);
      background: ${config.theme === 'dark' ? '#0f172a' : '#ffffff'};
      color: ${config.theme === 'dark' ? '#f8fafc' : '#0f172a'};
      border-${config.position === 'top' ? 'bottom' : 'top'}: 2px solid #2563eb;
    }
    #ca-ai-disclosure strong { color: #3b82f6; font-weight: 700; }
    .ca-ai-close {
      cursor: pointer;
      font-weight: bold;
      padding: 2px 8px;
      border-radius: 4px;
      margin-left: 15px;
      background: rgba(128,128,128,0.2);
    }
    @media print { #ca-ai-disclosure { display: none !important; } }
  `;

  const styleSheet = document.createElement("style");
  styleSheet.innerText = styles;
  document.head.appendChild(styleSheet);

  const disclosure = document.createElement("div");
  disclosure.id = "ca-ai-disclosure";
  disclosure.innerHTML = `
    <span><strong>2026 AI DISCLOSURE:</strong> You are interacting with an AI system operated by ${config.company}. Per CA AB 3030, this interaction is strictly automated.</span>
    <span class="ca-ai-close" onclick="this.parentElement.style.display='none'">×</span>
  `;
  document.body.appendChild(disclosure);
})();
</script>

Live Preview

2026 AI DISCLOSURE: Operated by [Company]...×
YOUR WEBSITE CONTENT
AB 3030 Compliant Output