> ## Documentation Index
> Fetch the complete documentation index at: https://docs-attestly.code4source.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Exemplos

> Use um preset oficial ou escreva o seu próprio.

## 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:

```bash theme={null}
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_id`                           | O que verifica                                                                         |
| -------------------------------------- | -------------------------------------------------------------------------------------- |
| `br-bacen-cmn-5193-credito-rural@1`    | Elegibilidade de crédito rural no Brasil pela Resolução CMN 5193 (geo + documental).   |
| `br-funai-tis-intersects@1`            | Sobreposição com terras indígenas da FUNAI (Brasil).                                   |
| `br-icmbio-ucs-federais-intersects@1`  | Sobreposição com unidades de conservação federais do ICMBio (Brasil).                  |
| `br-ibama-embargos-intersects@1`       | Sobreposição com o registro de embargos do IBAMA.                                      |
| `br-mte-lista-suja-subject@1`          | Match contra a Lista Suja do MTE de trabalho escravo (CNPJ/CPF).                       |
| `global-ofac-sdn-subject@1`            | Match contra a lista OFAC SDN.                                                         |
| `eu-eudr-br-due-diligence-composite@1` | Composite EUDR de due diligence para o Brasil (desmatamento + áreas protegidas + TIs). |
| `eu-natura2000-combined-intersects@1`  | Sobreposição com Natura 2000 da UE (SAC + SPA).                                        |
| `global-wdpa-intersects@1`             | Sobreposição com a World Database on Protected Areas.                                  |

Chamada:

```bash theme={null}
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:

```json theme={null}
{
  "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".

```json theme={null}
{
  "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.
