IASOF
● Código de máquina verificado · Apps firmadas · HTTPS siempre

La plataforma segura para las apps de la suite IASOF.

Sofía compila tus apps a código de máquina con un compilador propio y lo revisa con un verificador independiente antes de ejecutarlo. Una app no puede hacer nada que no declare y que tú no apruebes: solo corren apps firmadas, con límites de memoria y CPU, y toda la red va cifrada. Trae su propio servidor web, Atrio, en un solo programa de unos 5 MB. Las apps se escriben en Sofía, un lenguaje completo en español.

Esta página es una app de Sofía (apps/sitio.sof) exportada con sofia exportar.

Por qué es distinta

Seis decisiones que no se negocian.

Solo apps de confianza

Cada paquete va firmado con Ed25519. Un byte cambiado y no se ejecuta. Las actualizaciones tienen que venir del mismo autor: no hay suplantaciones.

Nada por defecto

La app declara sus permisos (consola, archivos, red, servidor, IA, cifrado, notificaciones…) y tú los apruebas la primera vez. Sin permiso, la función ni siquiera se enlaza.

Código de máquina verificado

El compilador propio genera código x86-64 y un verificador independiente lo revisa antes de ejecutarlo: la app solo ve su memoria, no llama al sistema por su cuenta y su memoria nunca es a la vez escribible y ejecutable. Con límites de CPU, memoria y profundidad de llamadas.

HTTPS siempre

Red saliente solo a los dominios firmados en la app, con certificado verificado. Las apps web se sirven por TLS con HSTS, CSP y cookies seguras. No existe un modo sin cifrar, ni en la red local.

Liviana

El programa sofia pesa unos 5 MB con el compilador, Atrio, TLS y las raíces de confianza incluidos, sin bibliotecas del sistema que instalar. El código de las apps de la suite ocupa entre 2 y 98 KB.

En español y sin nulos

Un lenguaje completo con tipos estrictos, decimales, registros, listas, errores recuperables y mensajes de error que dicen qué hacer. Compila a código de máquina verificado.

● Compilador propio

De tu código al procesador

Sofía no depende de un compilador ni de un motor de terceros para esto: el generador de código, el ensamblador y el verificador son propios. Esto es lo que existe hoy y lo que todavía no.

Dos niveles, el optimizado por defecto

El nivel 1 traduce en una pasada. El nivel 2 usa una representación intermedia propia, seis pasadas de optimización y asignación de registros; es el que se usa siempre que se compila a código de máquina (se apaga con SOFIA_NIVEL=1).

Verificador independiente

Tiene su propio decodificador de x86-64 y rechaza todo código que no cumpla las reglas: límites de memoria, saltos, pila, combustible de CPU y llamadas solo a funciones permitidas. El compilador no decide qué es seguro: lo decide el verificador.

Caché firmada en disco

El código compilado se guarda autenticado con una clave local y se vuelve a verificar al cargarlo. Un archivo alterado se rechaza y se recompila.

Mismo resultado que el intérprete

Sofía conserva un intérprete como referencia de corrección y como respaldo donde no hay código de máquina (hoy, todo lo que no sea x86-64). Un fuzzing diferencial compara los dos; la coma flotante coincide bit a bit.

Decimales y matemáticas propias

El tipo real de 64 bits, con conversiones siempre explícitas, y el grupo mate escrito en Sofía, sin bibliotecas de terceros.

Memoria que se cuida sola

Recolector de marcado y compactación en la plataforma, con puntos seguros que genera el compilador. Con recolección forzada en cada punto seguro: 0 diferencias en 9 programas y 10 apps.

En camino

Lo que todavía no está

El nivel 2 ya emite menos instrucciones, pero su aceleración en tiempo aún no se ha medido. Falta una mejor asignación de registros y pasar argumentos por registro (diseñado, sin construir). El arranque con caché todavía pierde frente a interpretar, y ARM64 sigue interpretado.

● Medido

Probado en bancos de prueba

Cifras medidas por los bancos del propio repositorio, que se publican también donde Sofía pierde. Equipo: portátil con procesador de 4 núcleos y 8 hilos (1,8 GHz base), 16 GB de RAM y Windows 11, con otras aplicaciones abiertas y el generador de carga en la misma máquina (2026-09-28). Son líneas base, no cifras de producción: sirven para comparar Sofía consigo misma.

3 917 596

mutaciones peligrosas rechazadas

El verificador rechazó el 100 % de las mutaciones dirigidas de 19 clases y aceptó los 5 752 programas aleatorios que emitió el compilador. Tanda de 10 minutos.

10–15×

recursión de Sofía frente al intérprete

fib(30) escrito en Sofía, mediana de tres pasadas, nivel 1. La ordenación rápida marca 6,5–6,7× y la criba 4,5–5,6×.

54 893–60 746

peticiones por segundo por HTTPS

Atrio sirviendo un archivo de 1 KiB con 100 conexiones TLS, sin errores. Con 5 000 conexiones: 57 040 por segundo.

10,1 KiB

de memoria por conexión TLS

Con 10 000 conexiones inactivas, Atrio ocupa 106,1 MiB en total; en reposo, 7,8 MiB.

×24–28

más peticiones que el servidor anterior de Sofía

Con 100 conexiones TLS: de 2 174–2 273 por segundo con unos 5 300 errores, a 54 893–60 746 sin errores.

0,3–25 ms

en compilar, verificar y cargar una app

Las apps y ejemplos reales del repositorio, con el verificador incluido. El código emitido pesa 3,1–5,8 veces el del formato intermedio.

Compilador: veces más rápido que el intérprete de la plataforma

Mediana de cada programa, con intérprete y código de máquina alternados y una instancia nueva en cada repetición; el resultado de cada ejecución se compara y, si difiere, el banco se detiene. Rango de tres pasadas, nivel 1 del compilador.

ProgramaVeces más rápido
Bucle numérico (10⁸ vueltas)9,5–9,6×
Producto de matrices (decimales de 32 bits, 200×200)5,4–5,6×
Criba de Eratóstenes (10⁷)5,3–5,6×
Recursión (fib 32)4,4–4,7×
Ordenación rápida (2·10⁶ enteros)4,3–4,4×
N cuerpos (decimales de 64 bits)4,0–4,1×
JSON sencillo (10⁶ números)3,7–3,9×
Llamadas al sistema (10⁶)2,3–2,4×
Mandelbrot (decimales de 64 bits, 600×600)1,6–1,7× (donde menos gana)
Apps de Sofía: recursión (fib 30)10,4–15,1×
Apps de Sofía: ordenación (3·10⁵)6,5–6,7×
Apps de Sofía: criba (2·10⁶)4,5–5,6×
Apps de Sofía: textos y JSON1,1× (empate: el tiempo está en la plataforma)

Nivel 2: menos instrucciones en el programa

Instrucciones de máquina de la función principal de cada programa del banco, contadas por una prueba automática que exige ese tope. Es una cuenta de instrucciones, no una medida de tiempo: la aceleración del nivel 2 en tiempo todavía no se ha medido.

ProgramaNivel 1Nivel 2
Mandelbrot12790
N cuerpos329225
Producto de matrices129113
Criba8678
Ordenación rápida6760

Atrio: servidor web

Archivo de 1 KiB por TLS 1.3, bucle cerrado (cada conexión espera su respuesta), 4 hilos de servidor y 4 del generador compartiendo los 4 núcleos; tres ejecuciones completas, rango mínimo–máximo.

Qué se midióResultado
100 conexiones, archivo pequeño54 893–60 746 pet/s · p99 4,7–7,1 ms · 0 errores
1 000 conexiones, archivo pequeño54 093–56 607 pet/s · p99 52–72 ms · 0 errores
App de Sofía, 100 conexiones15 367–16 742 pet/s · p99 11 ms (antes 2 372, con 5 244 errores)
Archivo de 4 MiB, 100 conexiones959–1 091 MiB/s
Arranque hasta la primera respuesta27–48 ms
Una app colgada junto a una sanala sana no pierde ninguna petición: caudal −7 a −12 %, p99 de ~20 a ~30 ms; la colgada rechaza el exceso con 503 en ~15 ms
Archivos grandes, 1 reactor y 1 000 conexiones0 sin respuesta en 20 s (antes, 14 a 25)

Dónde Sofía pierde o no llega

Fuentes: docs/BANCO-COMPILADOR.md (2026-09-28, hitos C1 a C3, y conteos del nivel 2 al 2026-09-30) y docs/BANCO-ATRIO.md (2026-09-28, hitos H1 y H2).

● Atrio

El servidor web de Sofía

Sirve apps web, sitios estáticos y microservicios solo por HTTPS, con un motor de entrada y salida asíncrono propio y sin ningún servidor de terceros delante.

Asíncrono y sin hilo por conexión

Un reactor propio atiende miles de conexiones a la vez. HTTP/1.1 completo: keep-alive, pipelining seguro, chunked, rangos, ETag y gzip propio.

Seguro por defecto

Solo TLS, HSTS, CSP estricta, cookies __Host-, protección contra peticiones de otras webs y una instancia aislada de la app por petición.

Varias apps en un mismo servidor

Sitio, apps web y servicios internos montados por dominio y ruta. Cada app tiene sus cuotas de CPU, memoria y conexiones: si una falla o se cuelga, las demás siguen.

Contra abusos

Tope de conexiones y de peticiones por segundo por IP, con respuesta 429 antes de llegar a la app, y colas y cupos por app.

Operación sin cortes

Recarga en caliente con vuelta atrás si el paquete nuevo no carga, parada ordenada por señal, registro de accesos sin datos personales y métricas en un punto de gestión local.

En camino

Lo que aún no tiene

HTTP/2, certificados automáticos y compresión brotli son lo siguiente en la lista.

● Hoy

Lo que ya funciona

Todo esto está en el programa que puedes ejecutar hoy. Cada capacidad es un permiso que el usuario ve y aprueba, y la plataforma guarda los secretos: la app nunca los toca.

Apps de consola y apps web

Servidor HTTPS integrado, sesiones gestionadas por la plataforma (la app no ve la cookie), formularios, archivos subidos, respuestas en bytes y descargas.

Apps residentes

Una instancia viva con variables globales como memoria y un latido cada segundo: canales abiertos, avisos en tiempo real, apps de larga vida.

Otros lenguajes en la misma caja

Programas escritos en otros lenguajes y compilados al formato intermedio de Sofía corren con los mismos permisos y límites. Un programa que no se puede compilar así se ejecuta como app nativa supervisada: firmada y confinada por la plataforma.

Apps de IA

ia.conversar con el proveedor que tú configures o cualquier API compatible, incluidos modelos locales. La clave la guardas tú en tu equipo; la app no la ve ni elige el servidor.

Cifrado de extremo a extremo

Identidad propia guardada por la plataforma, sobres autenticados con secreto efímero y firmas. Compatible con el cifrado de las apps de Link actuales.

Canales seguros

WebSocket solo wss://, implementado en casa, con tramas acotadas y fallos recuperables. Las apps residentes también los aceptan de entrada.

Notificaciones

Avisos del sistema siempre con el nombre de la app delante y con tope por minuto: ninguna app se hace pasar por otra.

Tareas programadas

La programación va firmada en la app y la ejecuta la plataforma sin solapamientos, con zona horaria real, historial y política para las ejecuciones perdidas. Sin hilos ni demonios dentro de la app.

Tienda y actualizaciones

Catálogo firmado, paquetes comprobados por hash, firma e id, y actualizaciones solo del mismo autor. Instalar no es aprobar.

Así se ve el lenguaje

Claro a propósito. Sin nulos ni conversiones ocultas. Todo lo que la app necesita del sistema se declara en la cabecera y se aprueba.

fn · si · mientras · paralet · var · globaleslista<T> · tipo (registros)intentar · si falla$"textos con {formato}"usar "módulo.sof"tarea · zona · perdidasresidente · latido

// Cada tarea la ejecuta la plataforma, sin hilos en la app
app "Recordatorio" version "1.0"
permiso consola, archivos, notificaciones
zona "America/Santiago"
tarea informe a las "08:00" "lun-vie"

var cuenta = 0

fn tarea_informe() {
    cuenta = cuenta + 1
    intentar {
        avisos.mostrar("Buenos días", $"Informe número {cuenta}")
    } si falla motivo {
        consola.escribir_linea(motivo)
    }
}

fn principal() {
    consola.escribir_linea("Esta app vive en sus tareas.")
}

Por qué elegir Sofía

Ocho garantías que no dependen de que la app se porte bien: las hace cumplir la plataforma.

Firma obligatoria

Cada app va firmada con Ed25519. Sin firma no arranca, y una actualización de otro autor se rechaza.

Permisos que no se saltan

Sin el permiso concedido, la función ni siquiera se enlaza en la app. No es una comprobación que se pueda olvidar: no existe.

Red bajo control

Solo HTTPS, y solo a los dominios firmados en la app. No hay modo sin cifrar, ni en la red local.

Secretos fuera de alcance

Las claves de API y la identidad cifrada las guarda la plataforma; la app nunca las ve ni las puede enviar a otro sitio.

Código de máquina verificado

Un verificador independiente revisa el código antes de ejecutarlo, y la memoria nunca es escribible y ejecutable a la vez. Límites de CPU, memoria y profundidad.

Ligera

Unos 5 MB en un solo programa, con compilador, servidor web, TLS y raíces de confianza dentro.

Lenguaje en español

Tipos estrictos, sin nulos ni conversiones ocultas, y mensajes de error que dicen qué hacer.

Calidad medida

Cero avisos del análisis estático, cobertura vigilada y pruebas en Windows, Linux y macOS en cada cambio.

Cómo funciona

1 · Compilar y firmar

sofiac

programa.sof se compila a un formato intermedio portable, se valida como lo hará la plataforma y se firma con tu clave de autor: app.sofia.

2 · Verificar y aprobar

sofia

Se comprueba la firma, se muestra la huella del autor y los permisos, y se aprueban una vez. Desde ahí, actualizaciones solo del mismo autor.

3 · Compilar, verificar y ejecutar

motor

La plataforma genera código de máquina, un verificador independiente lo revisa y solo entonces corre, con las funciones de los permisos concedidos. CPU, memoria y profundidad acotadas. Todo lo que sale va por HTTPS.

● En camino

Lo que viene

El plan de Sofía, con honestidad: esto todavía no está. Lo marcamos como tal y no prometemos fechas.

En camino

SofiaDB, la base de datos propia

Una base SQL embebida y de servidor, con el mismo aislamiento y la misma seguridad que el resto. Hoy el motor está en construcción y los datos de las apps van a archivos, con escritura condicional atómica para que dos peticiones no se pisen.

En camino

Más velocidad del compilador

Mejor asignación de registros, argumentos de funciones por registro y medir en tiempo la ganancia del nivel 2. Después, código de máquina para ARM64, que hoy se interpreta.

En camino

Atrio: HTTP/2 y certificados automáticos

HTTP/2, certificados automáticos y compresión brotli, y medir Atrio en Linux frente a servidores de referencia en el mismo equipo.

En camino

Concurrencia estructurada

Tareas de alcance acotado, con cancelación y canales tipados, y presupuesto de recursos que gobierna la plataforma.

En camino

Herramientas para programar

Servidor de lenguaje para el editor, depurador, perfilador, formateador y un gestor de paquetes firmado.

En camino

Sofía Empresas

Consola de flota, políticas firmadas, catálogo privado, SSO, auditoría, versiones LTS, despliegue masivo y modo sin conexión.

Apps de la suite que ya funcionan

Link Cuenta

Inicio de sesión, verificación de correo y soporte, hablando solo con el servidor de Link.

Link Admin

La administración de la suite en el navegador: usuarios y bandeja de soporte.

Link Chat

El chat cifrado de extremo a extremo de Link en el navegador, con adjuntos cifrados, compatible con las apps actuales de Android y PC.

Así se usa

Dos programas, sin instalación: sofiac compila y firma; sofia verifica y ejecuta.

sofiac clave nueva                    # tu clave de autor
sofiac compilar ejemplos/hola.sof     # compila, empaqueta y firma → hola.sofia
sofia info hola.sofia                 # autor, versión, permisos y firma, sin ejecutar
sofia desarrollador activar           # permite probar apps que no firmó IASOF
sofia hola.sofia                      # la primera vez pide aprobar autor y permisos

Hecha para durar

Pruebas en tres sistemas

Cada cambio pasa por Windows, Linux y macOS, con formato y análisis estático sin un solo aviso.

Cobertura y robustez

Cobertura medida en cada push con objetivo del 90 %. El verificador se ataca con fuzzing: 2 minutos en cada cambio y 30 cada noche. Miles de mutaciones aleatorias contra cada analizador: nada se cae.

Interoperabilidad probada

El cifrado es compatible con las apps de Link actuales, comprobado en los dos sentidos, para migrar sin romper nada.

● Solicitar acceso

¿Quieres usar Sofía?

El código de Sofía es privado por ahora. Si quieres usar la plataforma, integrarla en tu organización o saber más de Sofía Empresas, escríbenos y te damos acceso.

Habilitaremos aquí un contacto directo en breve; mientras tanto, el acceso se solicita a través de la suite IASOF.