Pular para o conteúdo principal

Use um preset

A maioria das políticas de compliance comuns já está publicada como presets oficiais — rulesets curados e versionados que mantemos. Liste-os com:
GET /v1/rulesets?tag=preset
Depois invoque qualquer preset pelo ruleset_id. Não é preciso escrever um ruleset do zero nesses casos. Alguns dos presets mais usados:
ruleset_idO que verifica
br-bacen-cmn-5193-credito-rural@1Elegibilidade de crédito rural no Brasil pela Resolução CMN 5193 (geo + documental).
br-funai-tis-intersects@1Sobreposição com terras indígenas da FUNAI (Brasil).
br-icmbio-ucs-federais-intersects@1Sobreposição com unidades de conservação federais do ICMBio (Brasil).
br-ibama-embargos-intersects@1Sobreposição com o registro de embargos do IBAMA.
br-mte-lista-suja-subject@1Match contra a Lista Suja do MTE de trabalho escravo (CNPJ/CPF).
global-ofac-sdn-subject@1Match contra a lista OFAC SDN.
eu-eudr-br-due-diligence-composite@1Composite EUDR de due diligence para o Brasil (desmatamento + áreas protegidas + TIs).
eu-natura2000-combined-intersects@1Sobreposição com Natura 2000 da UE (SAC + SPA).
global-wdpa-intersects@1Sobreposição com a World Database on Protected Areas.
Chamada:
curl -X POST https://api-attestly.code4source.com/v1/evaluate \
  -H "Authorization: Bearer atk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "input": {
      "geometry": {
        "type": "Polygon",
        "coordinates": [[[-60,-3],[-60,-2],[-59,-2],[-59,-3],[-60,-3]]]
      }
    },
    "ruleset_id": "br-funai-tis-intersects@1"
  }'
Presets de subject recebem um identificador no lugar (ou ao lado) de uma geometria:
{
  "input": {
    "scheme": { "type": "br:cnpj", "value": "00.000.000/0001-91" }
  },
  "ruleset_id": "br-mte-lista-suja-subject@1"
}

Quando escrever o seu

Escreva um ruleset próprio apenas quando nenhum preset atende:
  • Sua jurisdição não está coberta por um preset oficial.
  • Você precisa de thresholds, distâncias de buffer ou severidades não padrão.
  • Você precisa avaliar contra uma fonte interna que ingeriu privadamente.
  • Você está combinando checks entre fontes com uma política de veredito customizada.
Para todo o resto, prefira um preset — eles são mantidos, versionados e ficam em sincronia com os registros de origem.

Exemplo customizado

Uma política de “buffer ao redor de área protegida” com uma projeção de distância, um check de threshold e uma política de veredito explícita. Nenhum preset existente cobre o padrão “alertar entre 500 m e 2 km, bloquear abaixo de 500 m”.
{
  "name": "uc-proximity-policy",
  "version": 1,

  "sets": {
    "nearby_uc": {
      "source": "icmbio_ucs_federais",
      "joins": [{ "dwithin": { "target": "$input", "max_m": 2000 } }]
    }
  },

  "projections": [
    {
      "id": "distance_to_uc_m",
      "terminal": { "type": "min_distance_m", "set": "$nearby_uc" }
    }
  ],

  "checks": [
    {
      "id": "uc_too_close",
      "severity": "critical",
      "predicate": {
        "type": "threshold",
        "projection": "distance_to_uc_m",
        "op": "<=",
        "value": 500
      }
    },
    {
      "id": "uc_buffer_zone",
      "severity": "medium",
      "predicate": {
        "type": "threshold",
        "projection": "distance_to_uc_m",
        "op": "<=",
        "value": 2000
      }
    }
  ],

  "verdict_policy": {
    "kind": "severity_mapping",
    "rules": {
      "critical": "non_compliant",
      "high":     "non_compliant",
      "medium":   "warning",
      "low":      "warning",
      "info":     "compliant"
    }
  }
}
Todos os outros exemplos históricos desta página foram substituídos por presets oficiais — veja a tabela acima.