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
- Criar ou editar qualquer landing page de produto/área/sector Koder
- Auditar conformidade de privacidade de landings no sweep koder-spec-audit
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 dokoder-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):
hrefapontando praflow.koder.dev/Koder/·flow.koder.dev/koder/hrefapontando pragithub.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
specs/landing-pages/products.kmdspecs/landing-pages/conformance-ux.kmdspecs/audit/frontmatter.kmdpolicies/security.kmd