Gobernanza y evidencia
Esta página reúne las superficies que sostienen el cumplimiento del día a día: los encargados de tratamiento y sus contratos del Art. 15 bis, las capacitaciones del personal con su evidencia, los documentos de autoridad de los apoderados, el catálogo de gobernanza (categorías de datos, políticas de retención, destinos, delegados) y los reportes descargables.
Encargados (Art. 15 bis)
Un encargado es un destino de transferencia (transfer_destination) con acceso a datos; su contrato de encargo es un dpa_contract versionado. Lectura con processing_activities.read — los encargados son, ante todo, destinatarios del RAT.
Vocabularios
- Nombre
contract.status- Tipo
- string
- Descripción
missing(calculado, no escribible),draft,in_negotiation,active,expired,terminated.
- Nombre
contract.clauses- Tipo
- string[]
- Descripción
Las 10 cláusulas exigibles:
objeto,duracion,finalidad,tipos_de_datos,categorias_de_titulares,derechos_y_obligaciones,prohibicion_de_subdelegar,deber_de_secreto,medidas_de_seguridad,supresion_o_devolucion.missingClauseslista las que faltan.
- Nombre
verification- Tipo
- object
- Descripción
{ state, lastPerformedAt, lastOutcome, nextDueAt };state∈never,overdue,due_soon(30 días),current. Métodos:cuestionario,documental,certificacion,prueba_tecnica,visita; resultados:conforme,con_observaciones,no_conforme.
Parámetros opcionales
- Nombre
uncoveredOnly- Tipo
- string
- Descripción
truedeja sólo encargados sin contrato vigente.
- Nombre
verificationDueOnly- Tipo
- string
- Descripción
truedeja sólo verificaciones vencidas o por vencer.
Solicitud
curl -G "https://app.edugoverna.com/api/processors" \
-H "x-api-key: {tu_api_key}" \
-d uncoveredOnly=true
Respuesta (recortada)
{
"processors": [
{
"id": "td5a…",
"name": "Plataforma LMS",
"destinationType": "processor",
"countryCode": "CL",
"residencyClass": "cross_border_managed",
"criticality": "medium",
"isSubprocessor": false,
"dataAccess": { "linked": true, "sensitive": false },
"covered": false,
"expiringSoon": false,
"contract": {
"versionNumber": 1,
"status": "in_negotiation",
"clauses": ["objeto", "finalidad", "deber_de_secreto"],
"missingClauses": ["duracion", "tipos_de_datos", "…"],
"effectiveFrom": null,
"executedAt": null
},
"verification": {
"state": "never",
"lastPerformedAt": null,
"lastOutcome": null,
"nextDueAt": null
}
}
]
}
Rutas del encargado
| Método y ruta | Permiso | Qué hace |
|---|---|---|
GET /processors/clauses | processing_activities.read | El catálogo de cláusulas y métodos de verificación, con sus textos. |
GET /processors/:destinationId/contracts | processing_activities.read | Historial de versiones del contrato. |
POST /processors/:destinationId/contract | processing_activities.write | Registra una versión nueva; JSON o multipart (payload + file con el contrato firmado, hasta 15 MB). Sólo sesión. |
GET /processors/:destinationId/contract/document | processing_activities.read | Descarga el contrato archivado. |
GET /processors/:destinationId/contract/draft | processing_activities.read | Genera el borrador PDF con las cláusulas del 15 bis. |
GET /processors/:destinationId/verifications | processing_activities.read | Verificaciones realizadas al encargado. |
POST /processors/:destinationId/verifications | processing_activities.write | Registra una verificación (JSON o multipart con evidencia). Sólo sesión. |
GET …/verifications/:verificationId/evidence | processing_activities.read | Descarga la evidencia de una verificación. |
Capacitaciones
El registro de capacitaciones del personal en protección de datos — parte de la evidencia de responsabilidad proactiva. Lectura con dpia.read; escritura con dpia.write (sólo sesión).
POST /training-sessions requiere title y heldAt; opcionales topic, trainerName, audienceDescription, attendeeCount, nextDueAt, notes. La evidencia (lista de asistencia, certificado) se adjunta con POST /training-sessions/:id/evidence — multipart/form-data, campo file, hasta 15 MB — y se recupera con GET /training-sessions/:id/evidence.
Solicitud
curl "https://app.edugoverna.com/api/training-sessions" \
-H "x-api-key: {tu_api_key}"
Respuesta (recortada)
{
"trainingSessions": [
{
"id": "ts21…",
"title": "Capacitación anual 2026",
"topic": "Qué se puede y qué no con datos de estudiantes",
"heldAt": "2026-03-15T12:00:00.000Z",
"trainerName": "Estudio Jurídico Pérez",
"attendeeCount": 42,
"evidenceArtifactId": "ar54…",
"nextDueAt": "2027-03-15T12:00:00.000Z",
"createdBy": "dpo@colegioandes.cl"
}
]
}
Documentos de autoridad
Los documentos que acreditan la autoridad de un apoderado sobre un estudiante (resoluciones judiciales, poderes). Lectura con guardians.read; registro y revisión con guardians.write.
POST /records/authority-documents recibe guardianshipId, documentType y exactamente uno de artifactId (artefacto ya subido) o artifact (referencia de almacenamiento). El documento nace pending; POST …/:id/verify y POST …/:id/reject resuelven la revisión — rechazar un documento de un vínculo self_attested revoca la autoridad provisional del apoderado.
Parámetros opcionales del listado
- Nombre
verificationStatus- Tipo
- string
- Descripción
pending,verifiedorejected.
- Nombre
limit / cursor / offset- Tipo
- varios
- Descripción
Por defecto 50, máximo 100;
cursortiene prioridad sobreoffset.
Solicitud
curl -G "https://app.edugoverna.com/api/records/authority-documents" \
-H "x-api-key: {tu_api_key}" \
-d verificationStatus=pending
Respuesta (recortada)
{
"documents": [
{
"id": "ad83…",
"guardianshipId": "gd12…",
"documentType": "resolucion_judicial",
"issuingAuthority": "Juzgado de Familia de Santiago",
"artifactId": "ar62…",
"verificationStatus": "pending",
"issuedAt": "2026-06-01T12:00:00.000Z",
"guardianshipStatus": "active",
"relationshipType": "madre",
"studentSummary": { "referenceCode": "EST-2026-0412", "displayName": "Martina Rojas" },
"guardianSummary": { "referenceCode": "APO-2026-0311", "displayName": "Carolina Fuentes" }
}
],
"meta": {
"totalMatchedCount": 3,
"nextCursor": null,
"filteredRestrictedCount": 0
}
}
El mismo archivo de rutas ofrece POST /records/verifications y POST /records/verifications/:id/complete (verificaciones de identidad de titulares, subjects.write) y POST /records/enrollments (matrículas, students.write).
Catálogo de gobernanza
GET /governance/catalog (con processing_activities.read) devuelve, en cuatro arreglos, los bloques de configuración que el RAT referencia:
dataCategories— categorías de datos con su sensibilidad (sensitivityLevel,isSensitive,requiresExpressConsent) y retención por defecto.retentionPolicies— políticas de retención (retentionDays,actionAfterRetention,triggerEvent).transferDestinations— destinos de transferencia (los mismos que la página de encargados enriquece).policyDocuments— documentos de política con su versión vigente y si hay aprobación pendiente.
| Método y ruta | Permiso | Qué hace |
|---|---|---|
GET /governance/delegates | schools.read | Delegados de protección de datos designados, con su usuario. |
POST /governance/delegates | schools.write | Designa un delegado. |
POST /governance/delegates/:id/acta | schools.write | Sube el acta de designación (multipart, campo file). |
GET /governance/delegates/:id/acta | schools.read | Descarga el acta. |
GET /governance/controllers/assignments | schools.read | Entidades responsables (sostenedor/fundación) asignadas a la organización. |
POST /governance/controllers/assignments | schools.write | Crea o asigna la entidad responsable. |
GET /governance/dpia-assessments | processing_activities.read | Vista de gobernanza sobre las EIPD (filtro processingActivityId). |
GET /governance/system-register-entries | processing_activities.read | Registro de sistemas. |
Reportes de cumplimiento
Reportes descargables para dirección o el regulador. Sólo disponible con sesión de la consola: generar exige reports.generate (permiso de sesión) más el permiso de lectura del dominio del reporte; listar y descargar exigen audit.read.
Atributos
- Nombre
reportType- Tipo
- string
- Descripción
arco_compliance(exigerights_requests.read),consent_coverage(consents.read) oincident_summary(audit.read).
- Nombre
format- Tipo
- string
- Descripción
pdfocsv.
- Nombre
periodFrom / periodTo- Tipo
- string
- Descripción
Opcionales:
YYYY-MM-DD(día calendario chileno, fin inclusivo) o ISO 8601 completo.
Solicitud
curl -X POST "https://app.edugoverna.com/api/reports/generate" \
-H "Cookie: {sesion_de_consola}" \
-H "Content-Type: application/json" \
-d '{ "reportType": "arco_compliance", "format": "csv" }'
Respuesta · 201
{
"report": {
"id": "rp44…",
"reportType": "arco_compliance",
"format": "csv",
"title": "Reporte de cumplimiento",
"periodFrom": null,
"periodTo": null,
"generatedAt": "2026-08-25T15:00:00.000Z",
"sizeBytes": 18240,
"contentType": "text/csv"
}
}
GET /reports lista los generados (paginado con meta) y GET /reports/:artifactId/download entrega el archivo.
Paneles de resumen
Dos lecturas agregadas, ambas sólo disponibles con sesión de la consola:
GET /dashboard/overview— el panel del colegio:summarycon conteos por dominio (subjects,activities,dpia,processors,governance,cases,consents), actividad reciente, plazos próximos y acciones prioritarias. Cada bloque traeavailabley devuelvenull(no0) en los conteos que la persona no puede ver.GET /network/overview— para organizaciones de tipo red (sostenedores): sólo conteos por colegio miembro (totalsy el mismosummarypor colegio), nunca datos de titulares de los colegios.
Para la auditoría fina de accesos y eventos, GET /audit/events y GET /audit/sensitive-access-events (con audit.read, sesión) complementan estos paneles.