Saltar al contenido principal

Usa un preset

La mayoría de las políticas de cumplimiento comunes ya están publicadas como presets oficiales — rulesets curados y versionados que mantenemos nosotros. Lístalos con:
GET /v1/rulesets?tag=preset
Luego invoca cualquier preset por su ruleset_id. No necesitas escribir un ruleset desde cero para estos casos. Algunos de los presets más usados:
ruleset_idQué verifica
br-bacen-cmn-5193-credito-rural@1Elegibilidad de crédito rural en Brasil según la Resolución CMN 5193 (geo + documental).
br-funai-tis-intersects@1Superposición con tierras indígenas FUNAI (Brasil).
br-icmbio-ucs-federais-intersects@1Superposición con unidades de conservación federales del ICMBio (Brasil).
br-ibama-embargos-intersects@1Superposición con el registro de embargos del IBAMA.
br-mte-lista-suja-subject@1Coincidencia con la lista sucia del MTE de trabajo esclavo (CNPJ/CPF).
global-ofac-sdn-subject@1Coincidencia con la lista OFAC SDN.
eu-eudr-br-due-diligence-composite@1Composite EUDR de debida diligencia para Brasil (deforestación + áreas protegidas + TIs).
eu-natura2000-combined-intersects@1Superposición con Natura 2000 de la UE (SAC + SPA).
global-wdpa-intersects@1Superposición con la World Database on Protected Areas.
Llamada:
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"
  }'
Los presets de subject toman un identificador en lugar de (o junto a) una geometría:
{
  "input": {
    "scheme": { "type": "br:cnpj", "value": "00.000.000/0001-91" }
  },
  "ruleset_id": "br-mte-lista-suja-subject@1"
}

Cuándo escribir el tuyo

Escribe un ruleset propio solo si ningún preset encaja:
  • Tu jurisdicción no está cubierta por un preset oficial.
  • Necesitas umbrales, distancias de buffer o severidades no estándar.
  • Necesitas evaluar contra una fuente interna que ingestaste de forma privada.
  • Combinas verificaciones entre fuentes con una política de veredicto a medida.
Para todo lo demás, prefiere un preset — están mantenidos, versionados y sincronizados con los registros de origen.

Ejemplo personalizado

Una política de “buffer alrededor de un área protegida” con una proyección de distancia, un check de threshold y una política de veredicto explícita. Ningún preset existente cubre el patrón “advertir entre 500 m y 2 km, bloquear bajo 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 los demás ejemplos históricos de esta página fueron reemplazados por presets oficiales — ver la tabla anterior.