Qué envía el modo Cloud
En modo Cloud, un cambio se evalúa en un endpoint remoto reforzado. Lo que sale del dispositivo es fijo, mínimo y verificable localmente: un diff redactado solo de líneas añadidas y la ruta del archivo, nunca el archivo completo. Esta página es el contrato de datos exacto.
Resumen
El modo Cloud envía una proyección del cambio, no el archivo:
- Enviado: la ruta del archivo y un diff unificado redactado, solo de líneas añadidas, sobre TLS, a un conjunto fijo de endpoints.
- Nunca enviado: el contenido completo de los archivos, el texto de las líneas eliminadas, listados de directorios o procesos, telemetría del sistema.
- Registrado: cada solicitud saliente del daemon se escribe en un registro de egress local y legible.
El contrato de datos
La superficie de endpoints es pequeña y fija; cada solicitud lleva una carga documentada y mínima. Ningún contenido de archivo de memoria cruza la frontera, salvo como diff redactado:
| Endpoint | Cuándo | Carga |
|---|---|---|
/enroll | una vez en la instalación | ID de app y un código de enrolamiento de un solo uso |
/evaluate | al cambiar un archivo protegido | ruta y diff unificado redactado (sin textos completos) |
/getConfig | intervalo de sondeo | solo el token de autenticación |
/reportAudit | cuando existen nuevas entradas de auditoría | marca de tiempo, acción, ruta, motivo, scores |
/reportQuarantine | en un resultado de cuarentena | ID de caso, ruta, motivo, scores y el diff redactado (tamaño limitado) |
/ackDecision | una vez por caso resuelto | ID de caso y resultado (applied, stale o discarded) |
Qué contiene cada campo
La proyección evaluada se redacta, se limita a las líneas añadidas y se recorta en tamaño en el dispositivo antes de enviarse. Estos son los campos del informe de cuarentena y qué lleva cada uno:
| Campo | Qué contiene | ¿Redactado? |
|---|---|---|
path | La ruta del archivo modificado, para que un revisor sepa qué archivo | No: solo la ruta, nunca contenido |
redactedDiff | Solo las líneas añadidas, con secretos y PII estructurada sustituidos por marcadores, tamaño limitado | Sí, localmente antes del egress |
diffFidelity | Si el diff almacenado coincide con el texto juzgado (exact) o es una proyección reducida de él (projection) | Metadato, sin contenido |
removedLines | Solo el número de líneas eliminadas; el texto eliminado nunca sale del dispositivo | Sí: solo sale un número |
originalHash | SHA-256 del archivo previo al cambio, para idempotencia y supersede | Hash, sin contenido |
reason, scores | Una cadena corta de motivo y los scores calculados del caso | Metadato, sin contenido |
Redacción local antes del egress
Antes de enviar un solo byte, el diff pasa por una etapa de redacción local. Los secretos reconocibles y la PII estructurada se sustituyen por marcadores que preservan la estructura, para que el evaluador aún pueda razonar sobre el cambio mientras los valores sensibles permanecen en el dispositivo. Los nombres de clave sobreviven; solo se quitan los valores:
| Clase | Ejemplo | Marcador |
|---|---|---|
| Claves de API | claves de estilo proveedor, GitHub, Slack, AWS, Google, Stripe, secretos de webhook | [REDACTED:apikey] |
| JWT | tres segmentos base64url | [REDACTED:jwt] |
| Asignaciones genéricas | key/token/secret/password = valor (nombre de clave conservado, valor quitado) | [REDACTED:secret] |
| Correo | direcciones con formato RFC | [REDACTED:email] |
| IBAN | código de país, dígitos de control y BBAN | [REDACTED:iban] |
| Número de tarjeta | números de tarjeta agrupados | [REDACTED:card] |
| Dirección IP | dirección IPv4 de cuatro octetos con puntos | [REDACTED:ip] |
| Teléfono | solo formato internacional | [REDACTED:phone] |
El registro de egress
Cada solicitud saliente se registra localmente en un registro legible. Cada línea lleva la marca de tiempo, el endpoint, el tamaño de la carga, el SHA-256 de la carga (nunca su contenido) y el estado HTTP. Es la contabilidad verificable del "¿llama a casa?":
2026-06-04T12:00:01Z endpoint=/getConfig bytes=2 sha256=44136f… status=200 2026-06-04T12:03:17Z endpoint=/evaluate bytes=412 sha256=9f86d0… status=200
Sigue leyendo
Cómo se retiene un cambio incierto y se te presenta: las solicitudes de confirmación del usuario. Toda la protección es fail-closed.
La evaluación en la nube, tu contenido en el dispositivo.
Un diff redactado, solo de líneas añadidas, es todo lo que sale de la máquina, y el registro local lo demuestra. Gratis para Linux, macOS y Windows.
Sign me up