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

Sofía: segura, robusta y rápida.

La plataforma de la suite IASOF, con lenguaje, compilador, servidor web, base de datos y firma electrónica propios. Una app no puede hacer nada que no declare y que tú no apruebes. Un solo programa de unos 7 MB.

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, datos, correo, firma…) 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 7 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.

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. Los demás equipos ejecutan el mismo programa con el intérprete. 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.

● Medido

Probado en bancos de prueba

Mediciones reproducibles, con máquina de referencia publicada: así se compara Sofía consigo misma en cada versión. Cifras medidas por los bancos del propio repositorio, publicadas completas. 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).

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.

15,2 µs

p99 en un índice único secundario

SofiaDB con 1 000 000 de filas (p50 7,4 µs). La clave primaria marca un p99 de 6,6 µs.

5,0×

más confirmaciones por segundo con grupo

SofiaDB con 8 sesiones: 4 515 confirmaciones por segundo con grupo, frente a 902 de D1.

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×
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× (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.

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)

SofiaDB: portátil con Windows, archivos reales y fsync real (2026-10-01).

Fuentes: docs/BANCO-SOFIADB.md (2026-10-01), 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 (el montaje por dominio gana a la ruta más larga). 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, relanzar una app sin tocar las demás (/relanzar/<app>), banco reproducible con máquina de referencia, parada ordenada por señal, registro de accesos sin datos personales y métricas en un punto de gestión local.

● 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 envío de archivos.

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.

SofiaDB

Base SQL propia con índices secundarios, JOIN, varios escritores con MVCC y WAL, probada contra cortes de luz en cada escritura. Acceso remoto de solo lectura y VisorDB.

Firma electrónica

Permiso firma: X.509, CAdES, PAdES hasta B-LTA, sellos RFC 3161, CRL/OCSP y XMLDSig del SII.

Correo

SMTP cifrado con el permiso correo: las credenciales las guarda la plataforma y la app nunca las ve.

OTP

Claves de un solo uso según RFC 4226 y RFC 6238, con la base32 y el HMAC de la plataforma.

QR propio

Códigos QR generados en casa, según ISO/IEC 18004.

Organizaciones de confianza

Sus apps firmadas se ejecutan como las de la suite, dentro del tope de permisos que fijes (sofia organizaciones, sofia 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. Y una novena, de dónde viene.

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 7 MB

Todo 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.

Hecho en Chile

Con todo sino pa'qué: pensado, diseñado y programado en Quilleco, Región del Biobío.

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.

● Empresarial

Para la empresa

Lo que Sofía ofrece a las organizaciones que necesitan más garantías.

Hecha para la empresa

SofiaDB con MVCC, firma con validez de largo plazo, correo cifrado y organizaciones de confianza.

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.

Link PC

Este equipo en el móvil de Link: emparejamiento por QR, pantalla compartida, control remoto, portapapeles y archivos.

VisorDB

Visor de bases SofiaDB remotas desde tu PC, con sobres cifrados por nodo.

En QA sobre Sofía + Atrio + SofiaDB: Cuenta IASOF, Cita, Proyecto, Llave, Alivia, Empresas.

Así se usa

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

sofiac clave nueva                    # tu clave de autor
sofia nueva mi-app --tipo web         # crea una app desde un arquetipo: consola, web o web-datos
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

Más de mil pruebas automáticas en Windows, Linux y macOS

Cubren el lenguaje y su runtime; cada cambio pasa por los tres sistemas, 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 (fuzzing nocturno). 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.

Cero avisos en SonarQube (3 de octubre de 2026).

● Solicitar acceso

¿Quieres usar Sofía?

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

El acceso se solicita a través de la suite IASOF.