Files
tudo-para-ia-mais-humana-pl…/ecossistema/MCP-GATEWAY-ACCESS-POLICY.md

6.5 KiB

Politica de acesso GPT/MCP Gateway

  • report_id: mcp-gateway-access-policy-a787db3755906de2
  • generated_at: 2026-05-02T02:17:13+00:00
  • policy_version: mcp-gateway-access-policy.v1
  • endpoint: https://mcps-gateway.ami-app.workers.dev/v1/execute
  • status: passed
  • live_ready: True
  • secret_safe: True
  • method: POST
  • content_type: application/json
  • user_agent: Codex-Mais-Humana-MCP-Publication-Gate/1.0
  • auth_scheme: Bearer credentialRef; raw token forbidden in artifacts
  • rate_limit_per_minute: 30
  • log_retention_days: 30

Sumario

  • Probes live avaliados: 3.
  • Probes live OK: 3/3.
  • Regras aprovadas: 12/12.
  • Bearer bruto persistido: False.
  • Falha do plugin Cloudflare nao e blocker operacional: True.

Regras

http.method.post

  • kind: http
  • required: True
  • requisito: Toda chamada GPT/MCP deve usar POST em /v1/execute.
  • validacao: Comparar metodo observado com POST.

header.content-type.json

  • kind: header
  • required: True
  • requisito: Toda chamada deve enviar Content-Type application/json.
  • validacao: Comparar content_type observado.

header.user-agent.codex

  • kind: header
  • required: True
  • requisito: Probes Codex devem usar User-Agent Codex-Mais-Humana-MCP-Publication-Gate/1.0.
  • validacao: Comparar User-Agent observado para separar WAF de runtime.

auth.bearer.present-redacted

  • kind: auth
  • required: True
  • requisito: Authorization Bearer pode ser usado no probe, mas relatorios devem guardar apenas existencia, hash e credentialRef.
  • validacao: Confirmar authorization_present e authorization_redacted.

waf.classification.explicit

  • kind: waf
  • required: True
  • requisito: HTTP 403/1010 e bloqueios WAF devem ser separados de tool_not_found, erro de runtime e erro de contrato.
  • validacao: Usar http_status e response_excerpt redigido para classificar falha.

evidence.trace-audit-required

  • kind: evidence
  • required: True
  • requisito: Toda resposta aceita deve possuir traceId e auditId reais ou derivados de hash de evidencia.
  • validacao: Confirmar trace_id e audit_id por probe.

evidence.hashes-required

  • kind: evidence
  • required: True
  • requisito: Toda evidencia deve guardar request_hash e response_hash sem payload sensivel bruto.
  • validacao: Confirmar hashes preenchidos por probe.

redaction.no-secret-shapes

  • kind: redaction
  • required: True
  • requisito: Evidencias nao podem conter cfat_, Authorization Bearer cru, tokens longos ou bearer numerico bruto.
  • validacao: Varrer response_excerpt e campos textuais por formatos proibidos.

rate-limit.default

  • kind: rate_limit
  • required: True
  • requisito: Probes automatizados devem respeitar limite padrao de 30 chamadas/minuto por ator.
  • validacao: Registrar limite no contrato e bloquear suites que excedam o teto.

retention.logs

  • kind: retention
  • required: True
  • requisito: Logs de evidencia operacional devem reter metadados redigidos por 30 dias.
  • validacao: Registrar politica no artefato de acesso.

transit.required-fields

  • kind: transit
  • required: True
  • requisito: Fluxos interplataforma devem preservar origin, destination, tool, payload, actor, permission, result, traceId, auditId e timestamp.
  • validacao: Validar campos exigidos no contrato de transito MCP.

governance.plugin-not-operational-path

  • kind: governance
  • required: True
  • requisito: Falha ou aceite do plugin Cloudflare fica fora do diagnostico de Workers; trabalho real usa wrangler ou validacao HTTP live.
  • validacao: Confirmar que o artefato nao transforma plugin em blocker operacional.

Probes

  • mais_humana.rulebook.compact http 200 ok True
    • evidenceId: evidence-a75a27e0669c49da1db8b615
    • traceId: trace-3e1c8f057ac439f4b9b3eb7f
    • auditId: audit-a75a27e0669c49da1db8b615
    • requestHash: 3e1c8f057ac439f4b9b3eb7f8f5be9ac36323f08adc23db6fc7d51633076b79a
    • responseHash: a75a27e0669c49da1db8b6157757c0615eed06c32674c7ed87a6db5d071359de
  • mais_humana.admin_ui.same_source http 200 ok True
    • evidenceId: evidence-af37a8d489b0038a7a6b5575
    • traceId: trace-17e7d8039c8c34e3f570b6de
    • auditId: audit-af37a8d489b0038a7a6b5575
    • requestHash: 17e7d8039c8c34e3f570b6de8b386edc1cfd0c079084b0c7013016d2c76b388c
    • responseHash: af37a8d489b0038a7a6b5575970ec69855dd0f0e0ab09cf38b0e7658d3678195
  • mais_humana.mcp_transit.ledger http 200 ok True
    • evidenceId: evidence-3f0e3b9f829c7ff912b335d0
    • traceId: trace-dae7d91a59e37901d50c027d
    • auditId: audit-3f0e3b9f829c7ff912b335d0
    • requestHash: dae7d91a59e37901d50c027d3a0792f697902bd4289801edb2a508f3baf177fe
    • responseHash: 3f0e3b9f829c7ff912b335d01afb5e78acdaa331bd984713dfca757072be6bbf

Checks

  • http.method.post: passed
    • motivo: todos os probes usaram POST
    • proxima_acao: manter regra como gate de release
  • header.content-type.json: passed
    • motivo: todos os probes usaram application/json
    • proxima_acao: manter regra como gate de release
  • header.user-agent.codex: passed
    • motivo: User-Agent operacional aplicado
    • proxima_acao: manter regra como gate de release
  • auth.bearer.present-redacted: passed
    • motivo: bearer usado como credencial de probe e redigido nos artefatos
    • proxima_acao: manter regra como gate de release
  • waf.classification.explicit: passed
    • motivo: WAF nao bloqueou os probes atuais; HTTP/runtime classificados separadamente
    • proxima_acao: manter regra como gate de release
  • evidence.trace-audit-required: passed
    • motivo: traceId e auditId presentes em todos os probes
    • proxima_acao: manter regra como gate de release
  • evidence.hashes-required: passed
    • motivo: hashes de request/response presentes
    • proxima_acao: manter regra como gate de release
  • redaction.no-secret-shapes: passed
    • motivo: nenhum formato de segredo bruto detectado nas evidencias
    • proxima_acao: manter regra como gate de release
  • rate-limit.default: passed
    • motivo: regra institucional materializada no artefato de politica
    • proxima_acao: manter regra como gate de release
  • retention.logs: passed
    • motivo: regra institucional materializada no artefato de politica
    • proxima_acao: manter regra como gate de release
  • transit.required-fields: passed
    • motivo: regra institucional materializada no artefato de politica
    • proxima_acao: manter regra como gate de release
  • governance.plugin-not-operational-path: passed
    • motivo: regra institucional materializada no artefato de politica
    • proxima_acao: manter regra como gate de release

Blockers

  • Nenhum blocker tecnico na politica local.