AI content disclosure

ratified mandatory

Comportamento exigido para disclosure de conteúdo gerado por IA em produtos Koder. Cobre QUANDO e ONDE o disclaimer mecânico de `specs/ai-ui/ai-disclaimer.kmd` MUST aparecer. Companion da spec — spec define mecanismo (3 tiers + i18n + dismissal); policy define o comportamento exigido.

Policy — AI content disclosure

Spec mecânica: specs/ai-ui/ai-disclaimer.kmd. Esta policy define *uando aplicar* *nde aplicar* e *xceções*

P1 — Quando aplicar (NORMATIVE)

Toda saída user-facing gerada por IA num produto Koder distribuído MUST incluir disclaimer per ai-disclaimer.kmd R1, em pelo menos *ier 1 (label)*

Aplicável a:

  • Chat responses (Kortex, Talk, Kruze, Bot, Kodeaschat)
  • Inline AI suggestions (Kode editor ghost text, Kanvas suggestions)
  • AIgenerated artifacts (Claudestyle side panels)
  • AI summaries (RAG snippets, conversation auto-titles)
  • AI-generated images (Vista, future Imago products)
  • AI-generated audio (Reel TTS, Talk voice mode)
  • AIgenerated code (Kodesuggest blocks)

P2 — Quando NÃO aplicar (exceções)

Disclaimer pode ser omitido apenas em:

  • *evdebug consoles internos*com banner permanente visível no chrome do app: "DEV CONSOLE — AI output unlabeled". Aplicável a `servicesaiplayground, servicesai/eval`, dashboards admin internos.
  • *ackground AI operations sem output direto ao user* classification scores em UI tables (chip indica AI-classified mas não é "AI content" no sense disclosure); embedding visualization onde o user pediu específicamente.
  • *Igenerated test fixtures*consumidos por outro AI (não userfacing).

Exceções MUST ser documentadas no koder.toml do produto:

[ai_disclosure]
exempt_surfaces = ["/dev/playground", "/admin/eval"]
exempt_reason = "Internal dev console with chrome banner"

P3 — Onde aparece (placement)

Tier 1 (label): footer chip do bubble OR equivalent inline marker per surface. Tier 2 (modal): firsttimeinsession modal; pertier per-user dismissal. Tier 3 (banner+confirmation): banner ABOVE the bubble; checkbox required for action gate.

Per specs/ai-ui/chat-message-bubble.kmd R2.

P4 — Risk-tier minimums por contexto

Produtos MUST declarar risk_tier_min per surface:

Surface category Default tier Examples
Chat / draft / casual notes 1 Talk, Kortex casual mode, Kodeaschat
Factual / technical / research 2 Kortex research mode, RAG-backed surfaces
Critical decisions / actions 3 Kortex deploy view, financial workflows, medical/legal advice

Products can SET tier higher (tighten) but NEVER lower (loosen).

Declaração via gateway request annotation koder_risk_tier_min (crosslink `aidisclaimer.kmd` R5).

P5 — i18n requirements

  • Tier 1 + Tier 2 + Tier 3 copy MUST existir em TODOS os locales

    shipados pelo produto. Fallback en-US permitido (per i18n/contract.kmd R5).

  • Copy editorial NÃO editable por IA autonomamente.

P6 — Audit log

Toda dismissal de Tier 2 e toda confirmation de Tier 3 emit audit event per ai-disclaimer.kmd R4. Audit log retention segue policies/identity-data-retention.kmd R2.

P7 — Compliance basis

  • *U AI Act*(Regulation 2024/1689) Article 50: "Providers of AI systems shall ensure that AI systems intended to interact directly with natural persons are designed and developed in such a way that the natural persons concerned are informed that they are interacting with an AI system."
  • *GPD*(Lei 13.709/2018) Art. 9: transparency principle.
  • *DPR*Recital 71: profiling/automated decision disclosure.
  • *IT Sloan labels research 2024* graduated labeling reduces over-trust 18%; binary labels increase it.

P8 — Enforcement

Release engineering blocks release de qualquer produto AI Koder se:

  • (a) Audit grep koder_kit/ai/ai_message_bubble.dart use em produto sem corresponding disclaimer wiring → ERROR.
  • (b) koder.toml sem [ai_disclosure] section em produto que importa koder_kit/ai → ERROR.
  • (c) Surface custom AI sem chamar KoderAIDisclaimer widget → WARN (manual review obrigatório).

Spec audit script: koder-spec-audit ai-disclosure --product <slug> (futuro tools/koder-spec-audit/).

P9 — Cross-product registry

Registry meta/docs/stack/registries/ai-ui-coverage.md rastreia quais produtos têm AI disclaimer wiring shipado. Coluna #119 do grid.

Source: ../home/koder/dev/koder/meta/docs/stack/policies/ai-content-disclosure.kmd