Skip to content

Landing Conformance — Privacy

landing-pages specs/landing-pages/conformance-privacy.kmd

Detector de conformance de privacidade de landing pages: uma página pública NÃO pode linkar pro repositório de código-fonte. Severity HARD (bloqueia release/CI). Absorve o protótipo href-scoped `meta/context/scripts/audit-landing-privacy.sh` no sweep do `koder-spec-audit` (per `specs/audit/frontmatter.kmd`). Sub-check de privacidade do detector de landing (koder-tools#032); os sub-checks de responsive/theme (advisory) vivem em `conformance-ux.kmd`.

When this spec applies

All triggers

Specification body

Spec — Landing Conformance: Privacy

Sub-check hard do detector de conformance de landing (koder-tools#032). Formaliza a regra de privacidade de landing-pages/products.kmd §2.4/§2.6 como detector do koder-spec-audit, rodando no sweep (housekeep Fase 0.5) e no gate de CI (infra/ci#008 camada 2b).

Regra

Uma landing page pública (*/site/index.html ou */landing/index.html) NÃO pode linkar pro repositório de código-fonte. Isso vaza a topologia interna e fere policies/security.kmd.

Padrões de leak (detectados em href="…" + duas afordâncias de texto):

  • href apontando pra flow.koder.dev/Koder/ · flow.koder.dev/koder/
  • href apontando pra github.com/ · gitlab.com/
  • Texto literal View Source · View on Flow

O check é href-scoped de propósito: NÃO falsa-positiva em code samples que mencionam github.com dentro de string literal (ex.: import paths Go renderizados como <span class="str">"github.com/…"</span>).

Audit

koder-spec-audit run executa conformance-privacy-audit.sh <index.html> por landing casada. Contrato (specs/audit/frontmatter.kmd):

  • Exit 0 — sem leak (pass).
  • Exit 1 — leak encontrado (drift; severity hard ⇒ bloqueia).
  • Exit 2 — erro interno.
  • Stdout — envelope JSON RFC-001 §4 (applied/deferred/errors).

Relação com o protótipo e a CI

O standalone meta/context/scripts/audit-landing-privacy.sh (multi-arquivo, usado pelo workflow .gitea/workflows/landing-privacy.yml — camada 2a, live) permanece até o cutover de infra/ci#008 trocar a CI pra koder-spec-audit run --severity hard. Ambos compartilham a mesma regex href-scoped; este detector é a versão por-arquivo embarcada no engine.

References