Saltar al contenido
Nuevo

DeepSeek V4.1 Flash gratis por 7 días: 10M tokens al día tras cualquier recarga. Hasta el 30/11.

Cómo funciona

Los controles que operan, y los que aún no construimos.

Por dónde pasa una solicitud, cómo se mantienen separadas las organizaciones, qué clave protege qué y lo que todavía no hemos certificado. Esta página describe lo que corre en producción hoy.

/.well-known/security.txt
Contact
mailto:[email protected]
Expires
2027-11-01T00:00:00.000Z
Preferred-Languages
en, pt, es
Canonical
https://notholy.com/.well-known/security.txt
Policy
https://notholy.com/en/security

Una solicitud de API, salto a salto

Cada parte que maneja la solicitud y lo que puede leer. La parte con contorno es la que operamos.

  1. Tu cliente

    Puede leer

    Tu prompt y tu clave de API, enviados por TLS.

    Guarda

    Lo que guarden tus propias herramientas.

  2. Borde de Cloudflare

    Puede leer

    La solicitud completa, descifrada en tránsito, y tu dirección IP. El TLS termina aquí en todos los hostnames, incluido api.notholy.com, y una nueva conexión TLS lleva la solicitud a nuestro origen.

    Guarda

    Lo definen los términos de Cloudflare.

  3. Gateway de NotHoly

    Puede leer

    La solicitud, en memoria. Comprueba el HMAC de tu clave, su presupuesto y sus listas de permitidos, y luego enruta la llamada.

    Guarda

    Metadatos de uso: ID de solicitud, organización, clave, modelo, tokens, costo, estado y tiempos. Ese registro no tiene prompt, respuesta ni dirección IP. La respuesta de una llamada sin streaming con Idempotency-Key queda en memoria durante 24 horas.

  4. Socio de centro de datos de IA

    Puede leer

    Mensajes, herramientas y parámetros del modelo, por HTTPS y con nuestra clave. Tu organización, tu ID de usuario y tu IP no se reenvían. El socio está en Estados Unidos o China y puede usar sus propios subcontratistas.

    Guarda

    Nada. El socio ha confirmado a NotHoly que no retiene, no almacena ni usa el contenido de la inferencia, y NotHoly lo revisa periódicamente.

Aislamiento entre organizaciones

Las organizaciones se separan en la aplicación: cada ruta de consulta filtra por org_id.

Claves
Cada organización tiene su propia clave de cifrado, así que la clave de una no abre los datos sellados de otra.
Ledger
Los cambios de saldo son solo de inserción, y un disparador de la base de datos lo garantiza. Los webhooks de pago necesitan una firma válida.

Identidad y acceso

El inicio de sesión de clientes, las claves de API y el acceso del equipo tienen controles propios.

Contraseñas
De 12 a 256 caracteres, con correo verificado obligatorio.
Segundo factor
TOTP con códigos de respaldo, y passkeys.
Dispositivos nuevos
Iniciar sesión con contraseña en un dispositivo no confiable exige un código de un solo uso por correo. El código se guarda como hash con clave, dura 10 minutos, funciona una vez y permite 5 intentos.
Dispositivos confiables
Se recuerdan 30 días, se guardan con hash y se pueden revocar.
Sesiones
14 días en una cookie HttpOnly, Secure y SameSite=Lax. Puedes listar tus sesiones y revocarlas.
Control de bots
Cloudflare Turnstile en inicio de sesión, registro y restablecimiento de contraseña, verificado en el servidor. En producción, si falla, bloquea.
Claves de API
Se guardan como HMAC-SHA-256 con pepper en el servidor y se muestran una vez. Una clave puede llevar listas de IP y modelos permitidos, presupuesto y vencimiento. La revocación es inmediata.

Acceso del equipo

Inicio de sesión en admin
Solo con passkey. La sesión dura 8 horas y termina tras 30 minutos de inactividad, y hay lista de IP opcional.
Cambios en admin
Se registran con el autor, la acción, el objetivo y los valores antes y después.
Ajustes del ledger
Cualquier importe mayor a US$100 necesita una segunda aprobación.
Suplantación
El equipo no tiene ninguna función para actuar como cliente.

Cifrado

Los chats, proyectos y archivos se cifran en el servidor, con claves que nosotros guardamos. Los desciframos para ejecutar tu chat, por lo que el cifrado es del lado del servidor y no es de extremo a extremo.

Jerarquía de claves de chats y archivos
  1. Clave maestra

    Está en el entorno del servidor. Envuelve todas las claves de organización.

  2. Clave de organización

    Una por organización. Envuelve las claves de datos de esa organización.

  3. Clave de datos

    Una por conversación y una por archivo.

  4. Contenido sellado

    AES-256-GCM con nonce de 12 bytes. Cubre títulos de chat, mensajes, razonamiento, proyectos, nombres de archivo, bytes del archivo y texto extraído.

En tránsito
TLS de tu navegador a Cloudflare, con HSTS de 2 años y preload, y TLS de Cloudflare a nuestro origen. El gateway llega por HTTPS a socios de centros de datos de IA en Estados Unidos y China. Los servicios dentro de nuestra red privada hablan en texto claro.
Contraseñas
Las contraseñas de cuenta, de bloqueo de chat y de enlaces compartidos usan scrypt. Los tokens de enlaces compartidos se guardan como SHA-256.
Chats efímeros
Los eventos de ejecución usan una clave aleatoria de 32 bytes por ejecución, solo en la memoria del proceso.
Sin cifrado por columna
Nombre, correo, teléfono, dirección de facturación, identificación fiscal, dirección IP y metadatos de uso son columnas comunes de la base de datos.

Qué pasa con tu contenido

El contenido de inferencia de la API no se escribe en bases de datos, colas, logs ni trazas. Los chats guardados se almacenan cifrados hasta que los borres.

Inferencia de la API

Contenido que guardamos
Ninguno. Los prompts y las respuestas existen en la memoria del gateway mientras corre la solicitud.
Protección
TLS en tránsito.
Eliminación
Al terminar la solicitud, salvo la caché de idempotencia descrita abajo.
Qué queda
Metadatos de uso.

Chat guardado

Contenido que guardamos
Títulos, mensajes, razonamiento, citas y archivos adjuntos.
Protección
AES-256-GCM, con una clave por conversación y una por archivo.
Eliminación
Cuando borras la conversación. Los archivos adjuntos no se eliminan con ella.
Qué queda
Un registro de borrado de la conversación, registros de ejecución, etiquetas de pasos de herramientas, archivos adjuntos y metadatos de uso.

Chat efímero

Contenido que guardamos
Ninguna conversación ni mensaje. Eventos de ejecución cifrados, además de cualquier archivo que subas.
Protección
Los eventos de ejecución usan una clave aleatoria por ejecución, solo en la memoria del proceso. Los archivos subidos usan una clave por archivo, envuelta por la clave de la organización.
Eliminación
Los eventos de ejecución se borran 1 hora después de que termina la ejecución.
Qué queda
Un registro de ejecución, etiquetas de pasos de herramientas, archivos subidos y metadatos de uso.
Caché de idempotencia
Si envías un Idempotency-Key en una llamada sin streaming, la respuesta completa queda en la memoria del proceso del gateway durante 24 horas, para que un reintento reciba la misma respuesta. Nunca se escribe en disco, solo tu organización puede reutilizarla y un reinicio la borra.
Etiquetas de pasos de herramientas
Las ejecuciones de chat registran en texto claro el objetivo de cada llamada a una herramienta, sin vencimiento automático: la consulta de búsqueda web, la consulta en archivos, la consulta de CVE, el nombre del archivo o el hostname de read_url. Las URL de las citas también quedan en texto claro.
Entrenamiento de modelos
No usamos contenido de clientes para entrenar modelos de IA ni para análisis de modelos. Los metadatos se analizan para facturación, monitoreo de abuso y operación.
Socios de centros de datos de IA
Todos los socios están en Estados Unidos o China y han confirmado a NotHoly que no retienen, no almacenan ni usan el contenido de la inferencia. NotHoly los verifica y revisa periódicamente.

Manejo de archivos

Sandbox inactivo en producción

Todo archivo subido se trata como hostil y ninguno se ejecuta. El análisis está hecho para un sandbox desechable que producción todavía no corre. Esto cubre los archivos del chat, /v1/files y la herramienta MCP analyze_file.

En reposo
El nombre, los bytes y el texto extraído se sellan con una clave por archivo antes de guardarse. El análisis escribe el archivo descifrado en un directorio temporal y lo elimina al terminar. El registro del archivo conserva solo el hash, el tamaño y el tipo MIME en texto claro, y el nombre del archivo puede aparecer en una etiqueta de paso de herramienta.
Diseño del sandbox
Cada análisis recibe un contenedor nuevo sin red, con raíz de solo lectura, límites de memoria, CPU y procesos, todas las capabilities eliminadas, un usuario sin privilegios y ningún secreto.
En producción hoy
El harness de producción no tiene el ejecutor del sandbox, y nada más analiza los archivos. El archivo queda sellado en el almacenamiento, marcado como rechazado, y no se analiza hasta que se active el sandbox.

Red y SSRF

El origen solo acepta a Cloudflare en sus puertos públicos. La única función del servidor que descarga URLs corre detrás de una protección contra SSRF.

Origen
Los puertos 80 y 443 solo aceptan conexiones de los rangos de direcciones de Cloudflare. Los servicios internos escuchan en loopback.
Acceso al servidor
SSH solo con clave, con fail2ban.
read_url
Solo http y https públicos, en los puertos 80 y 443. Se comprueba cada dirección resuelta, la conexión se fija a la IP comprobada y cada redirect se comprueba otra vez. No se envían cookies, el tamaño y el tiempo tienen límite y se respeta robots.txt.
Tráfico hacia terceros
Nuestros servidores no hacen scan, explotación ni tráfico activo contra sistemas de terceros. read_url solo lee páginas públicas. Los comandos del CLI corren en tu máquina, después de que los apruebes.

Endurecimiento de la aplicación

Estos son los encabezados de respuesta que notholy.com envía hoy. Los source maps del navegador no se sirven públicamente.

curl -sI https://notholy.com/en
Strict-Transport-Security
max-age=63072000includeSubDomainspreload
Content-Security-Policy
default-src 'self'script-src 'self' 'unsafe-inline' https://static.cloudflareinsights.com https://challenges.cloudflare.comstyle-src 'self' 'unsafe-inline'img-src 'self' data: blob: https:font-src 'self' data:connect-src 'self' https://api.notholy.com https://cloudflareinsights.commedia-src 'self' blob:worker-src 'self' blob:manifest-src 'self'frame-src https://challenges.cloudflare.comframe-ancestors 'none'object-src 'none'base-uri 'self'form-action 'self'upgrade-insecure-requests
X-Frame-Options
DENY
X-Content-Type-Options
nosniff
Referrer-Policy
strict-origin-when-cross-origin
Permissions-Policy
camera=(), microphone=(), geolocation=(), payment=(), usb=(), interest-cohort=()
Cross-Origin-Opener-Policy
same-origin

La directiva resaltada es el punto débil: nuestro CSP no usa nonce, y script-src todavía permite 'unsafe-inline'.

Monitoreo y registro de auditoría

Las métricas y los paneles se quedan en nuestro propio host, y no hay ningún rastreador de errores de terceros activo.

Métricas
Prometheus y Grafana en nuestro propio host, ligados a loopback. Las métricas llevan solo etiquetas y conteos, y se guardan 30 días.
Logs de la aplicación
ID de solicitud, estado y errores, nunca el cuerpo de la solicitud. Rotan por tamaño, en 3 archivos de 10 MB por contenedor.
Auditoría del equipo
Autor, acción, objetivo, valores antes y después, dirección IP y user agent.
Auditoría de la organización
Las organizaciones de tipo empresa pueden ver las últimas 100 entradas en Configuración, si su rol lo permite.

Copias de seguridad y recuperación

La base de datos se respalda una vez al día, cifrada y guardada fuera del servidor.

Cifrado
AES-256, con la clave derivada por PBKDF2 a 200.000 iteraciones.
Retención
14 copias diarias, 8 semanales y 12 mensuales. Lo que borres puede seguir en una copia durante unos 12 meses.
Prueba de restauración
Una prueba con script restaura la copia más reciente en una base desechable, comprueba su checksum y verifica que cada tabla exista y no tenga más filas que la de la base en uso. Todavía no se ejecuta de forma programada.
Ventana de pérdida
Una falla entre copias puede perder hasta un día de escrituras.

Reporta una vulnerabilidad

Esperamos que los investigadores nos pongan a prueba. Así puedes reportar lo que encuentres.

Dónde
[email protected]. Nuestro security.txt está en /.well-known/security.txt.
Qué incluir
La URL o el componente afectado, los pasos para reproducirlo y el impacto que observaste.
Alcance
notholy.com, api.notholy.com y docs.notholy.com. No pruebes con datos de otros clientes, no hagas pruebas de denegación de servicio y detente cuando hayas demostrado el impacto.
Nuestra parte
Confirmamos que recibimos tu reporte, te mantenemos al tanto mientras lo corregimos y no actuaremos contra la investigación de buena fe que siga estas reglas.
Recompensas
No tenemos un programa de bug bounty pagado.

Lo que aún no hemos hecho

Si tu evaluación depende de alguno de estos puntos, escríbenos antes de confiar en NotHoly.

  • Certificaciones

    NotHoly no tiene SOC 2, ISO 27001 ni otra certificación o atestación de seguridad.

  • Pentest independiente

    No tenemos un informe de pentest de terceros para compartir.

  • Cifrado de extremo a extremo

    El servidor guarda las claves y descifra chats y archivos para procesarlos.

  • Aislamiento garantizado por la base de datos

    El aislamiento entre organizaciones está en las consultas de la aplicación. La base de datos no añade una segunda capa hoy.

  • Sandbox de archivos en producción

    El sandbox está construido y no corre en producción, así que los archivos subidos se guardan y no se analizan.

  • Borrado automático

    Los archivos subidos tienen fecha de vencimiento y las organizaciones de tipo empresa pueden elegir un plazo de retención de chats, pero ninguna tarea aplica ninguno de los dos hoy. Los metadatos de uso y los registros de auditoría no tienen tarea de borrado, así que se conservan sin fecha final. Los registros de sesión vencidos, que contienen dirección IP y user agent, no se eliminan con ninguna tarea programada.

  • 2FA para toda la organización

    Los propietarios todavía no pueden exigir un segundo factor a todos los miembros.

  • Exportación e inmutabilidad de logs

    La auditoría de la organización no se puede exportar, y nuestros logs no son de escritura única.

  • Recuperación a un punto en el tiempo

    Las copias son dumps diarios sin archivado continuo, y no incluyen los objetos de archivos subidos.

Pregunta todo lo que tu alcance permite.

Crea la cuenta, añade créditos desde US$ 10 y haz la primera pregunta en el chat o en la terminal.

  1. 1/3

    Crea la cuenta

    Individual o empresa. Puedes pasar a empresa después sin perder saldo ni claves.

    IndividualEmpresa
  2. 2/3

    Añade créditos

    Con tarjeta, desde US$ 10. Pagas por token, sin suscripción.

    $10.00recarga mínima
  3. 3/3

    Pregunta

    En el chat, o instala el CLI y ejecuta notholy login en tu terminal.

    $ notholy login