Ley N° 21.719 · plena vigencia el 1 de diciembre de 2026

La ley ya no pregunta si protegiste los datos.Pregunta si puedes probarlo.

Ante un incidente, es la organización la que debe acreditar que sus medidas de seguridad existían y funcionaban. Consta deja esa constancia en cada acceso a datos personales.

Ley N° 19.628, art. 14 quinquies, inciso final

El problema

Lo que hoy tiene una organización no alcanza para probarlo

La ley invirtió la carga de la prueba. Eso convierte el cumplimiento en un problema de ingeniería: hay que poder mostrar hechos, no intenciones.

Una política escrita no acredita un hecho

Un documento de políticas describe lo que debería ocurrir. No puede demostrar que un control estuvo activo un martes de madrugada. Un sistema que registra cada decisión, sí.

Ley N° 19.628, art. 14 quinquies, inciso final

Los registros dicen quién y cuándo, no para qué

Un registro de accesos guarda un usuario y una hora. La ley exige que todo tratamiento tenga una finalidad. Si la finalidad no quedó anotada junto al acceso, después no hay cómo mostrar que ese acceso correspondía.

Ley N° 19.628, art. 3° letra b)

Nadie registra de dónde vino el dato

La ley prohíbe tratar datos de salud recolectados en ciertos ámbitos, como el laboral o el de seguros. Los sistemas guardan el dato, no su origen. Sin el origen, esa prohibición no se puede aplicar, y menos demostrar que se respetó.

Ley N° 19.628, art. 16 bis, inciso 3°

Consta decide si un acceso a datos personales es lícito, entrega sólo los campos que corresponden a la finalidad invocada y deja constancia verificable de cada decisión.

Datos de salud

El artículo 16 bis impone tres capas. Hay que cumplir las tres a la vez

Son tres exigencias distintas sobre los datos de salud, que el reglamento europeo no contiene. Un sistema que controla sólo quién accede no ve ninguna de las tres.

Inciso 1°

La finalidad tiene que ser sanitaria, aun con consentimiento

Aunque el titular haya consentido expresamente, sus datos de salud sólo pueden tratarse para los fines previstos por las leyes especiales en materia sanitaria. El consentimiento no basta: este filtro opera siempre.

En Consta

Toda solicitud declara su finalidad. Sin una finalidad admisible se deniega, y la denegación queda registrada.

Ley N° 19.628, art. 16 bis, inciso 1°

Inciso 2°

Sin consentimiento, sólo seis hipótesis. La lista es cerrada

Fuera del consentimiento, la ley enumera de forma taxativa cuándo se puede tratar un dato de salud:

  • a)Riesgo para la vida o la integridad
  • b)Alerta sanitaria decretada
  • c)Fines históricos, estadísticos o científicos
  • d)Defensa de un derecho
  • e)Medicina preventiva o laboral y asistencia sanitaria
  • f)Ley expresa
En Consta

Lista blanca con denegación por defecto: lo que no está habilitado expresamente se rechaza. La denegación también es evidencia.

Ley N° 19.628, art. 16 bis, inciso 2°, letras a) a f)

Inciso 3°

Hay datos prohibidos por el lugar donde se recolectaron

Se prohíbe tratar datos de salud y muestras biológicas recolectados en el ámbito laboral, educativo, deportivo, social, de seguros, de seguridad o de identificación, salvo que una ley lo autorice expresamente.

En Consta

El origen de cada dato lo resuelve el agente en la fuente. Quien pide no puede declararlo: elegiría bajo qué régimen se evalúa su propia solicitud.

Ley N° 19.628, art. 16 bis, inciso 3°

«Laboral» aparece dos veces, y no significa lo mismo

En el inciso 2° es una finalidad: medicina laboral, el para qué. En el inciso 3° es una procedencia: ámbito laboral, el de dónde. Se puede hacer medicina laboral, pero no con datos de salud que recolectó el empleador.

Por eso no basta con clasificar el dato. Cada acceso se evalúa por la finalidad que se invoca y por el contexto en que el dato se recolectó.

Lo que se evalúa en cada solicitud
actor
Quién pide: su rol y su organización
finalidad
Para qué lo pide, declarado en la solicitud
categoria
Qué tipo de dato es, campo por campo
procedencia
De dónde vino, resuelto en la fuente

Cómo funciona

El agente va junto a los datos. La consola, fuera, nunca los ve

Dos piezas separadas por una frontera. El agente decide y registra dentro de la organización. La consola muestra el estado de cumplimiento con metadatos, sin recibir un solo dato personal.

PERÍMETRO DE LA ORGANIZACIÓNSistema de laorganizaciónactor + finalidadcampos habilitadosAgente Constadecide por campominimiza antes de leerregistra cada decisiónlee sólo lo habilitadoFuente de datossólo lecturaanexaRegistro auditablecadena SHA-256, sólo anexadoFRONTERAlote firmadoestados, seudónimos,raíz de la cadenadatos personales, clavesy el registro completo:no cruzanConsolafuera del perímetroverifica la cadenasin ver el registroPERÍMETRO DE LA ORGANIZACIÓNSistema de la organizaciónactor +finalidadcamposhabilitadosAgente Constadecide por campominimiza antes de leerregistra cada decisiónleeFuente de datossólo lecturaanexaRegistro auditablecadena SHA-256lote firmado:estados, seudónimos,raíz de la cadenadatos, clavesy registro:no cruzanFRONTERAConsolafuera del perímetroverifica la cadena sin ver el registro
El agente corre donde están los datos y es el único que los toca. La consola recibe metadatos firmados y verifica la integridad del registro comparando la raíz de la cadena, sin ver su contenido.

Cruza hacia la consola

  • El estado de cada control, con su marca temporal
  • Los metadatos de cada hallazgo, con identificadores opacos
  • Los valores hash y la raíz de la cadena
  • Métricas agregadas y configuración

No cruza nunca

  • Los registros de los titulares ni el contenido de sus campos
  • Identificadores directos de personas
  • El registro auditable completo
  • Credenciales ni claves de cifrado

Cero datos personales en la consola. Lo verifica una prueba que compara todo lo que la consola recibe contra cada valor de la fuente. Si la consola guardara los datos, sería el repositorio único de información sensible de varias organizaciones: el riesgo que este proyecto existe para evitar.

Medido con datos sintéticos · caso de prueba CP-10

Núcleo y paquetes

Incorporar un sector es configuración, no desarrollo

La ley es modular: un régimen común más regímenes especiales por categoría de dato y por sector. Todos comparten la misma forma lógica.

Cada régimen se reduce a tres cosas: qué finalidades admite, qué procedencias prohíbe y qué combinaciones habilita, con denegación por defecto. El artículo 16 bis es el caso más estricto de ese patrón, no una excepción.

De ahí la arquitectura. Un núcleo genérico que no conoce ningún dominio: transporta, compara y registra. Y paquetes normativos declarativos, un archivo por régimen, donde cada regla lleva su artículo. Un paquete sin artículo no carga.

La política es el archivo. Se puede leer, auditar y versionar sin tocar el código, y cada decisión registra qué paquete y qué versión la tomó.

paquetes/clinguard.yamlextracto
paquete: clinguard
version: 0.7.1

finalidades_admisibles:
  - id: asistencia_sanitaria
    articulo: "Ley 19.628, art. 16 bis inc. 2° letra e)"

procedencias_declaradas:
  seguros:
    prohibida: true
    articulo: "Ley 19.628, art. 16 bis inc. 3°"
    alcance: [salud, perfil_biologico]

matriz_habilitacion:
  - rol: medico_tratante
    finalidad: asistencia_sanitaria
    categoria: salud
    procedencia: clinica
    campos: [diagnostico, alergias, medicamentos]

Paquete · salud

ClinGuard

Las tres capas del artículo 16 bis para un prestador de salud: finalidades sanitarias, las siete procedencias prohibidas y la habilitación por rol.

Ley N° 19.628, art. 16 bis

Paquete · personas

RR.HH.

El mismo inciso 3° visto desde el empleador: los datos laborales son propios, pero los de salud ocupacional quedan prohibidos salvo autorización legal expresa.

Ley N° 19.628, art. 16 bis, inciso 3° · Ley N° 16.744

Cero líneas del núcleo modificadas para incorporar el segundo paquete. Todo lo que se agregó fue configuración. Una prueba que corre en cada cambio verifica que el núcleo no mencione ningún dominio: si falla, el cambio no entra.

Medido · caso de prueba CP-11

Integración

Una llamada antes de leer. No hay que rehacer el sistema

El sistema le pregunta al agente antes de entregar un dato. Aquí, un médico pide un diagnóstico que llegó por convenio con una aseguradora: la respuesta es una denegación que cita su artículo.

PeticiónPOST /v1/authorize
curl -s -X POST https://agente.interno/v1/authorize \
  -H "Content-Type: application/json" \
  -H "X-Consta-Key: $CONSTA_AGENT_KEY" \
  -d '{
    "actor": {
      "id": "prof_alfa_07",
      "rol": "medico_tratante",
      "organizacion": "org_alfa"
    },
    "finalidad": "asistencia_sanitaria",
    "titular": "pac_00042",
    "recurso": {"tipo": "condicion", "id": "cnd_00042"},
    "campos": ["diagnostico"]
  }'
Respuesta403 · denegado
{
  "decision": "denegar",
  "motivo": "procedencia_prohibida",
  "articulo": "Ley 19.628, art. 16 bis inc. 3°",
  "detalle": [],
  "paquete": "clinguard@0.7.1",
  "registro": {
    "id": 34,
    "hash": "a7217279…8c7e54"
  }
}

# La petición no decía de dónde vino el dato.
# El agente lo resolvió en la fuente: "seguros".
# La decisión ya quedó anexada a la cadena:
# registro.id es su posición; registro.hash,
# la huella que la encadena con la anterior.

Ejemplo ilustrativo con datos sintéticos: la posición y la huella del registro son de muestra. Los identificadores son opacos, nunca un RUT ni un nombre.

  • Sólo lectura sobre su base

    El agente se conecta con un rol que no puede escribir. Lo comprueba al arrancar, y si el rol puede escribir, no arranca.

  • Minimiza antes de consultar

    La decisión es campo por campo. Lo que la finalidad no habilita no se pide a la base: no hay nada que filtrar después.

  • Sin constancia no hay decisión

    Si el registro no está disponible, el agente responde que no puede decidir. Ningún acceso ocurre sin quedar anotado.

Si mañana le piden probarlo, ¿qué va a mostrar?

En una demostración vemos el recorrido completo con datos sintéticos: una solicitud, la decisión con su artículo, la constancia en la cadena y el expediente que se entrega en una fiscalización.

Lo que Consta no hace

Consta produce evidencia, no certificación. Certificar el cumplimiento es una atribución que la ley reserva a la Agencia de Protección de Datos Personales. Lo que Consta entrega es el registro que permite acreditar, ante ella o ante un tribunal, que las medidas existían y funcionaban.

Ley N° 19.628, art. 51