02 · Compruébalo tú mismo
No hay testimonios. Hay cuatro pruebas
que puedes ejecutar tú.
Sin clientes en producción, un testimonio solo puede ser inventado. Y un
testimonio inventado, por muy etiquetado que esté, no le sirve de nada a
quien tiene que responder ante un comité de seguridad. Así que en su
lugar va lo contrario de una promesa: el procedimiento para desmentirnos.
Las cuatro se ejecutan en tu equipo, durante la prueba de 30 días, sin
pedirnos permiso, sin firmar nada y sin avisarnos. Cada una lleva escrito
de antemano qué debe pasar — y, cuando la tiene, la limitación que no
cubre. Si alguna no da el resultado que decimos, escríbenos a
security@iforja.com
antes de darnos un euro.
01 Compruébalo tú
Afirmación que se pone a prueba
El agente trabaja en tu equipo, no en el nuestro.
Corta la red y mira si sigue trabajando.
- 1. Instala el agente y configúralo contra un modelo que corra en tu propia máquina o en tu red (cualquier endpoint compatible con la API de OpenAI: vLLM, Ollama, LM Studio).
- 2. Desconecta el equipo de internet. El cable, o el interruptor del wifi.
- 3. Pídele que lea, resuma y modifique ficheros tuyos, y que ejecute algo en tu shell.
Qué debe ocurrir
Sigue funcionando entero. Si en vez de un modelo local usas la clave de un proveedor, al cortar la red fallará una sola cosa — la llamada al proveedor — y todo lo demás seguirá en pie. Esa asimetría es la respuesta a la pregunta de dónde corre el agente.
Lo que esta prueba no demuestra: no demuestra qué envía el agente cuando SÍ hay red. Para eso está la prueba 02.
02 Compruébalo tú
Afirmación que se pone a prueba
La única salida a la red del trabajo del agente es la llamada a tu proveedor de IA.
Pon un proxy delante y lee lo que sale.
- 1. Levanta un proxy que puedas inspeccionar (mitmproxy, Burp, Charles) o un cortafuegos por aplicación (Little Snitch, OpenSnitch).
- 2. Alternativa sin instalar nada:
sudo tcpdump filtrando por el proceso del agente. - 3. Trabaja con el agente durante una sesión larga y de verdad: ficheros, shell, conectores.
# ver a dónde abre conexiones el proceso del agente
sudo lsof -i -a -p $(pgrep -f forja) -n -P
Qué debe ocurrir
Un destino: la API del proveedor cuya clave has configurado. Ni tus ficheros, ni tu shell, ni tu historial de trabajo salen hacia iforja.com. Si ves un destino que no esperabas, es un fallo nuestro y queremos saberlo antes que nadie: security@iforja.com.
03 Compruébalo tú
Afirmación que se pone a prueba
El binario que descargas es el que publicamos.
Verifica la firma antes de instalar, no después.
- 1. Descarga el binario y el fichero
sha256sums.txt del mismo release. - 2. Comprueba el hash. En Linux, además, verifica la firma GPG con la clave pública de
releases@iforja.com. - 3. Si algo no cuadra, no lo instales y escríbenos.
sha256sum -c sha256sums.txt --ignore-missing
curl https://iforja.com/keys/releases.gpg | gpg --import
gpg --verify Forjapp-linux-x86_64.AppImage.asc \
Forjapp-linux-x86_64.AppImage
Qué debe ocurrir
El hash coincide y GPG responde «Good signature». La actualización automática, además, comprueba una firma Ed25519 antes de aplicarse y rechaza el paquete si no valida.
Lo que esta prueba no demuestra: en macOS la firma es ad-hoc y en Windows es autofirmada — no hay certificado de una autoridad comercial, y por eso el sistema avisa la primera vez. Preferimos decirlo a que lo descubras tú.
04 Compruébalo tú
Afirmación que se pone a prueba
La cadena de auditoría detecta cualquier reescritura del pasado.
Rómpela a propósito y comprueba que salta.
- 1. Trabaja un rato con el agente para generar eventos de auditoría reales.
- 2. Abre la base de datos local del agente y edita a mano una fila de
audit_events: cambia un argumento, una fecha, lo que quieras. - 3. Pide al agente que verifique su propia cadena.
# desde la propia aplicación: Auditoría → «Verificar cadena»
# o directamente contra el agente que corre en tu equipo:
curl -H "Authorization: Bearer $TOKEN" \
http://localhost:9000/api/audit/verify
Qué debe ocurrir
La respuesta trae chain_intact: false y una lista de incidencias con el identificador de la fila que has tocado y qué esperaba encontrar ahí. Ese es el contrato honesto: la cadena no impide que reescribas el pasado — impide que lo hagas sin dejar rastro.
Lo que esta prueba no demuestra: la cadena es tamper-evident, no tamper-proof. Quien tenga permisos de escritura sobre tu base de datos puede alterarla; lo que no puede es hacerlo en silencio, porque el sellado usa una clave que vive fuera de la base.