Logotipo de Bitdoze

Chatto Autoalojado: la Respuesta de Privacidad al Chat Control de la UE

Autoaloja Chatto en Docker o con un único binario para mantener privados los mensajes de tu equipo. Guía completa de instalación, costes y por qué es la respuesta al Chat Control de la UE.

Dragos

23 min de lectura

Chatto Autoalojado: la Respuesta de Privacidad al Chat Control de la UE

El 9 de julio de 2026, el Parlamento Europeo votó a favor de dar luz verde a Chat Control 1.0. El resultado fue 276 votos a favor, 314 en contra y 17 abstenciones. La mayoría de los eurodiputados se opuso en realidad, pero la moción de rechazo necesitaba una mayoría absoluta de 361 votos. No los consiguió.

Lo que esto significa en la práctica: las empresas tecnológicas estadounidenses vuelven a estar autorizadas a escanear mensajes privados sin una orden judicial. Esto afecta a los mensajes directos en Instagram, Discord, Snapchat, Skype, Xbox y a los correos electrónicos a través de Gmail e iCloud. La exención dura hasta el 3 de abril de 2028, salvo que antes se alcance un acuerdo permanente.

Patrick Breyer, ex eurodiputado y activista por los derechos civiles, lo dijo sin rodeos: «Nuestros hijos son los verdaderos perdedores en este proceso antidemocrático.» Tiene razón. Los propios datos de la Comisión Europea muestran que el escaneo masivo representó solo el 36 % de los reportes de abuso en 2024. La Policía Federal Criminal alemana (BKA) informa de que el 48 % de las alertas ni siquiera son penalmente relevantes. Y el 99 % de los reportes de Meta son material previamente conocido. (Fuente)

Puedes leer el análisis legislativo completo en el sitio de Patrick Breyer. La batalla política sobre Chat Control 2.0 — el reglamento permanente sobre CSAM — se reanuda en septiembre de 2026. Pero no tienes que esperar a que los políticos lo arreglen.

Chat Control 1.0 de la UE ya es ley

Desde el 9 de julio de 2026, las empresas tecnológicas estadounidenses pueden escanear tus mensajes privados sin cifrar en Instagram, Discord, Snapchat, Skype, Xbox, Gmail e iCloud — sin una orden judicial. Esta ley temporal estará vigente hasta abril de 2028. Los servicios cifrados de extremo a extremo como WhatsApp y Signal están exentos por ahora, pero Chat Control 2.0 sigue negociándose. Autoalojar tu propio chat en infraestructura que controlas es la medida práctica más importante que puedes tomar ahora mismo.

La forma más rápida de salir de la vigilancia masiva es dejar de usar las plataformas que participan en ella. Si tu equipo funciona con Slack o Discord, tus mensajes están en servidores de EE. UU. sujetos a escaneo. Un servidor de chat autoalojado en un VPS que controlas lo resuelve en una tarde.

Aquí entra Chatto.

Por qué el Chat Control de la UE lo cambia todo

Seamos precisos sobre lo que acaba de pasar.

El Parlamento Europeo no aprobó una nueva ley de vigilancia. Prorrogó una derogación temporal que ya existía antes, que permite a las empresas tecnológicas estadounidenses escanear voluntariamente mensajes privados en busca de material de abuso sexual infantil (CSAM). La palabra clave es voluntariamente — estas empresas eligieron implementar el escaneo, y la UE acaba de darles cobertura legal para seguir haciéndolo.

Las cifras cuentan una historia distinta de la que venden los políticos:

  • 36 % — la proporción de reportes de abuso procedentes del escaneo masivo de chats privados en 2024. La mayoría llegó de publicaciones públicas y de almacenamiento en la nube, que nunca estuvieron afectados por esta ley.
  • 48 % — alertas de la BKA alemana que resultaron no ser penalmente relevantes en absoluto.
  • 40 % — investigaciones iniciadas por el chat control que acabaron teniendo como objetivo a los propios menores, no a depredadores adultos.
  • 99 % — reportes de Meta que consistían en material previamente conocido, lo que hace poco por frenar el abuso activo.
  • Cero — evidencia de la Comisión Europea de que el escaneo sin sospecha aumentara las condenas o rescatara a menores.

Resultados de la votación del Parlamento Europeo sobre Chat Control 1.0 el 9 de julio de 2026

Se añadió una exención simbólica para las comunicaciones cifradas de extremo a extremo. Los usuarios de WhatsApp y Signal no se ven afectados directamente — por esta votación. Pero esto es lo que importa para los equipos: la mayoría de las herramientas de chat de equipo (Slack, Discord, Microsoft Teams) no usan cifrado de extremo a extremo para los mensajes. Las conversaciones de tu equipo en esas plataformas son exactamente lo que Chat Control tiene como objetivo.

Y Chat Control 2.0 — el reglamento permanente — sigue en negociaciones a tres bandas. Si se aprueba con mandatos de escaneo, el alcance podría ampliarse. El precedente ya está sentado.

La respuesta práctica no es esperar a ver qué pasa. Es mover la comunicación de tu equipo a infraestructura que posees.

Qué es Chatto

Chatto es una aplicación de chat de equipo autoalojada, liberada como open source el 8 de julio de 2026 por el desarrollador Hendrik Mans. Está escrita en Go (41,7 %), TypeScript (40,2 %) y Svelte (11,1 %), con licencia AGPL-3.0.

La propuesta es sencilla: un único binario de ~50 MB que sirve su propio frontend web, no requiere base de datos y usa NATS para la persistencia. Admite llamadas de voz y vídeo a través de LiveKit, cifra los datos en reposo con claves por usuario e incluye cero rastreo o analítica de terceros.

La versión actual es v0.4.4 con ~1.400 estrellas en GitHub. El desarrollador apunta a la 1.0 en 6–12 meses. Cada servidor está totalmente aislado — no hay federación por diseño, lo que en realidad es una característica de privacidad. No hay fugas de datos entre servidores porque no existe comunicación alguna entre ellos.

Ver Chatto en GitHub

Características clave:

  • No requiere base de datos — NATS gestiona toda la persistencia
  • Binario único — funciona en Linux (x86_64 y ARM64), macOS, Windows, FreeBSD
  • Llamadas de voz/vídeo — con LiveKit, cifradas de extremo a extremo, con uso compartido de pantalla
  • Cifrado en reposo — claves por usuario con crypto-shredding al eliminar la cuenta
  • Soporte SSO — OIDC, Google, GitHub, Discord
  • Roles y permisos — granulares, con grupos de salas como límites de permisos
  • Varios servidores en un cliente — conéctate a varios servidores Chatto a la vez
  • PWA — instalable en móvil desde el navegador; apps nativas previstas pero aún no disponibles
  • APIs ConnectRPC + GraphQL — para bots e integraciones

Recursos oficiales: chatto.run | docs.chatto.run | Servidor de la comunidad

Interfaz del chat de equipo autoalojado Chatto

Chatto frente a Slack y Mattermost

Si estás evaluando Chatto como alternativa autoalojada a Slack, así se compara con los principales competidores.

Tabla comparativa de características

Chatto frente a Mattermost

Característica Chatto Mattermost
Autoalojado Sí (AGPL) Sí (MIT/Apache, plan gratis restringido)
Precio 0 $ para siempre Gratis (limitado) / 10 $/usuario/mes Pro
Base de datos Ninguna (NATS) Requiere PostgreSQL
Llamadas de voz/vídeo Sí (LiveKit, E2EE) Plan gratis: no / Pro: sí
SSO OIDC, Google, GitHub, Discord Plan gratis: no / Pro: sí
Despliegue Binario único o Docker Docker con PostgreSQL + Elasticsearch
Uso de RAM (inactivo) Decenas de MB 1–2 GB mínimo
Móvil PWA Apps nativas iOS + Android
Federación No (por diseño) No
Licencia AGPL-3.0 MIT + Apache 2.0 (open core)

Mattermost v10 y v11 restringieron significativamente el plan autoalojado gratuito — el SSO y las llamadas de voz pasaron al plan de pago. Si quieres paridad de funciones con Chatto en Mattermost, pagas 10 $/usuario/mes.

Chatto frente a Slack

Característica Chatto Slack
Autoalojado Sí No
Precio 0 $ 7,25–15 $/usuario/mes
Base de datos Ninguna (NATS) N/D (SaaS)
Llamadas de voz/vídeo Sí (LiveKit, E2EE) Sí (sin E2EE)
SSO OIDC, Google, GitHub, Discord Solo planes Pro
Ubicación de datos Tu servidor, tu país Servidores en EE. UU.
Afectado por Chat Control No Sí — plataforma de EE. UU., mensajes sin cifrar
Móvil PWA Apps nativas iOS + Android
Licencia AGPL-3.0 Propietaria

Slack está directamente afectado por Chat Control 1.0. Los mensajes de tu equipo están en servidores de EE. UU., sin cifrar en reposo, y ahora sujetos a escaneo sin sospecha. No hay opción autoalojada. Si la privacidad importa, Slack no es una opción — es un lastre.

Chatto frente a Matrix

Característica Chatto Matrix/Element
Autoalojado Sí Sí
Precio 0 $ Gratis (Apache 2.0)
Base de datos Ninguna (NATS) Requiere PostgreSQL
Llamadas de voz/vídeo Sí (LiveKit, E2EE) Sí (Jitsi/Element Call)
Mensajes E2EE No (solo en reposo) Sí (Olm/Megolm)
SSO OIDC, Google, GitHub, Discord Sí
Despliegue Binario único Synapse + PostgreSQL + proxy inverso
Federación No (por diseño) Sí (compleja)
Uso de RAM (inactivo) Decenas de MB 512 MB–2 GB para Synapse
Licencia AGPL-3.0 Apache 2.0

Matrix es el competidor open source más fuerte sobre el papel — tiene E2EE para mensajes y federación. Pero Synapse consume muchos recursos, la federación añade complejidad operativa y la experiencia de usuario es polarizante. Si quieres algo que «simplemente funcione» en un VPS barato sin base de datos, Chatto es más sencillo. Si necesitas E2EE real entre clientes o federación entre servidores, Matrix encaja mejor.

Comparativa de precios

Hablemos de dinero. Esto es lo que paga al año un equipo de 50 personas:

Solución Coste anual (50 usuarios)
Chatto en Hetzner CX22 ~48 €/año (solo VPS)
Mattermost Free 0 $ (pero sin SSO, sin voz, restringido)
Mattermost Pro 6.000 $/año
Slack Pro 4.350 $/año
Slack Business+ 9.000 $/año

El plan gratuito de Mattermost solía ser competitivo. En v10/v11 eliminaron el SSO y las llamadas de voz. Si tu equipo necesita esas funciones — y la mayoría las necesita — estás ante 10 $/usuario/mes.

Lo que obtienes por 0 $ con Chatto:

  • Usuarios ilimitados
  • Llamadas de voz y vídeo vía LiveKit (cifradas de extremo a extremo)
  • SSO (OIDC, Google, GitHub, Discord)
  • Cifrado en reposo con claves por usuario
  • Ninguna base de datos que gestionar
  • Despliegue con binario único
  • Uso compartido de pantalla
  • Roles y permisos granulares

Autoalojar Chatto con un binario independiente

El binario independiente es la forma más rápida de probar Chatto. Cinco minutos desde la descarga hasta el servidor en marcha. Esta ruta usa una instancia de NATS integrada — sin dependencias externas.

Paso 1: Descarga el binario

Descarga la última release desde GitHub. Para Linux x86_64:

bash
# Download latest release (check https://github.com/chattocorp/chatto/releases for the current version)
wget https://github.com/chattocorp/chatto/releases/download/v0.4.4/chatto-linux-amd64.tar.gz
tar xzf chatto-linux-amd64.tar.gz
chmod +x chatto-linux-amd64
sudo mv chatto-linux-amd64 /usr/local/bin/chatto

Para servidores ARM64 (como las instancias CAX de Hetzner):

bash
wget https://github.com/chattocorp/chatto/releases/download/v0.4.4/chatto-linux-arm64.tar.gz
tar xzf chatto-linux-arm64.tar.gz
chmod +x chatto-linux-arm64
sudo mv chatto-linux-arm64 /usr/local/bin/chatto

Paso 2: Inicializa la configuración

bash
chatto init

Esto genera un archivo de configuración chatto.toml en el directorio actual. Edítalo para definir tu dominio, las credenciales SMTP y el email del administrador.

Paso 3: Inicia el servidor

bash
chatto run

Chatto sirve su frontend web en el puerto configurado. Para uso en producción con TLS, puedes activar el soporte integrado de Let’s Encrypt en chatto.toml o ponerlo detrás de un proxy inverso.

Paso 4: Ejecuta como servicio systemd (opcional)

Para un funcionamiento persistente, crea una unidad systemd:

ini
[Unit]
Description=Chatto Chat Server
After=network.target

[Service]
Type=simple
User=chatto
WorkingDirectory=/opt/chatto
ExecStart=/usr/local/bin/chatto run
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
bash
sudo systemctl daemon-reload
sudo systemctl enable --now chatto

Cuándo usar el binario frente a Docker

El binario independiente es ideal para pruebas, uso personal o equipos pequeños de menos de 10 usuarios. Usa NATS integrado, lo que significa que todo corre en un solo proceso — sencillo pero sin actualizaciones sin tiempo de inactividad. Para despliegues en producción con varios usuarios, llamadas de voz/vídeo mediante LiveKit y TLS automático con Caddy, usa la instalación con Docker Compose de abajo.

Si aún no tienes Docker instalado, consulta nuestra guía sobre instalar Docker en Ubuntu ARM.

Autoalojar Chatto con Docker Compose

Esta es la instalación recomendada para producción. Obtienes un NATS separado para la persistencia de datos (sobrevive a reinicios de contenedores), LiveKit para llamadas de voz/vídeo y Caddy para TLS automático.

Requisitos previos

Lo que necesitas antes de empezar:

  • Un VPS con Docker y Compose v2 instalados (instalar Docker en Ubuntu ARM)
  • Un dominio con un registro DNS A apuntando a la IP de tu VPS (p. ej., chat.example.com)
  • Un subdominio livekit.* apuntando al mismo VPS (p. ej., livekit.chat.example.com)
  • Credenciales SMTP para la verificación por email (Gmail, SendGrid, Mailgun, etc.)
  • (Opcional) Almacenamiento compatible con S3 para las subidas de archivos

Para proveedores de VPS, consulta nuestra comparativa DigitalOcean vs Vultr vs Hetzner. La reseña de Hetzner Cloud explica por qué el CX22 a 3,99 €/mes es el punto óptimo para este tipo de carga de trabajo.

Puertos necesarios:

  • TCP 80, 443 — tráfico web y TLS
  • UDP 3478, 50000-50200 — para las llamadas de voz/vídeo de LiveKit (solo si activas las llamadas)

También necesitas un subdominio livekit.* apuntando al mismo VPS (p. ej., livekit.chat.example.com). Caddy lo usa para el endpoint WebSocket de LiveKit al que se conectan los navegadores para las llamadas.

Recorrido por docker-compose.yml

Clona el ejemplo de Docker Compose del repositorio principal de Chatto:

bash
git clone --depth 1 --filter=blob:none --sparse https://github.com/chattocorp/chatto.git chatto-source
git -C chatto-source sparse-checkout set examples/dockercompose
cp -R chatto-source/examples/dockercompose chatto
rm -rf chatto-source
cd chatto

Ejecuta el script de inicialización para generar tu archivo .env y los secretos de LiveKit:

bash
chmod +x init-env.sh
./init-env.sh chat.example.com [email protected]

Sustituye chat.example.com por tu dominio y [email protected] por el email de la primera cuenta de propietario. El script genera .env y livekit.generated.yaml con secretos coincidentes de NATS, Chatto y LiveKit.

Abre .env y configura tus credenciales SMTP:

text
# Domain (must have DNS A record pointing to this server)
CHATTO_DOMAIN=chat.example.com

# Admin email (for Let's Encrypt TLS and first owner account)
[email protected]

# SMTP settings (required for user registration)
CHATTO_SMTP_ENABLED=true
CHATTO_SMTP_HOST=smtp.sendgrid.net
CHATTO_SMTP_PORT=587
CHATTO_SMTP_USER=apikey
CHATTO_SMTP_PASSWORD=your-api-key-here
[email protected]

# LiveKit settings (auto-generated by init-env.sh)
CHATTO_LIVEKIT_API_KEY=...
CHATTO_LIVEKIT_API_SECRET=...

El docker-compose.yml define cuatro servicios:

yaml
services:
  chatto:
    image: ghcr.io/chattocorp/chatto:latest
    restart: unless-stopped
    volumes:
      - chatto_data:/data
    env_file: .env
    depends_on:
      - nats

  nats:
    image: nats:latest
    restart: unless-stopped
    command: "--jetstream --store_dir /data"
    volumes:
      - nats_data:/data

  livekit:
    image: livekit/livekit-server:latest
    restart: unless-stopped
    command: "--config /etc/livekit.yaml"
    volumes:
      - ./livekit.yaml:/etc/livekit.yaml:ro
    ports:
      - "3478:3478/udp"
      - "50000-50200:50000-50200/udp"

  caddy:
    image: caddy:latest
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - caddy_data:/data
      - caddy_config:/config

volumes:
  chatto_data:
  nats_data:
  caddy_data:
  caddy_config:

La arquitectura fluye así:

Arquitectura de Chatto con Docker Compose: de Internet a Caddy a Chatto a NATS más LiveKit

Edita tu archivo .env antes de empezar

Chatto requiere SMTP para la verificación por email. Si lo omites, los usuarios no pueden registrarse. Rellena tus credenciales CHATTO_SMTP_* en el archivo .env antes de ejecutar docker compose up. Comprueba también que el registro DNS A de tu dominio apunta a la IP del VPS — Caddy lo necesita para el aprovisionamiento automático del certificado TLS.

Para más información sobre cómo configurar variables de entorno en Docker, consulta nuestra guía sobre variables de entorno en Docker.

Inicio y actualización

Inicia el stack:

bash
docker compose up -d

Verifica que todo está en marcha:

bash
docker compose ps

Los cuatro servicios deberían aparecer como running. Revisa los logs si algo no va bien:

bash
docker compose logs -f chatto
¿Cómo actualizo Chatto cuando se publica una nueva versión?

Actualizar es sencillo porque los datos de NATS viven en un volumen persistente. El contenedor se puede reemplazar sin perder mensajes.

bash
# Pull the latest images
docker compose pull

# Recreate containers with the new images
docker compose up -d

Tu historial de chat, cuentas de usuario y ajustes sobreviven a la actualización porque se guardan en los volúmenes nats_data y chatto_data.

Para una guía completa sobre actualizaciones de contenedores, consulta cómo actualizar un contenedor con Docker Compose.

Tras actualizar, limpia las imágenes antiguas para liberar espacio en disco: Limpiar todas las imágenes Docker.

Para vigilar tus logs, puedes redirigir los logs de Docker a un único archivo.

Cuánto cuesta ejecutar Chatto

Chatto en sí es gratis. El único coste es el VPS donde corre.

Así lucen los precios reales a julio de 2026:

Proveedor VPS Plan RAM vCPU Coste mensual
Hetzner CX22 x86 4 GB 2 3,99 €
Contabo Cloud VPS S x86 8 GB 4 5,99 €
Hetzner CAX11 ARM64 4 GB 2 3,99 €
DigitalOcean Basic x86 2 GB 1 14,00 $

Las propias pruebas del desarrollador: Chatto usa decenas de MB en reposo y aproximadamente 10 MB por cada usuario conectado adicional. Un VPS de 1 GB sirve para un equipo pequeño. Un VPS de 4 GB (como el Hetzner CX22) va cómodo para 20–30 usuarios simultáneos con llamadas LiveKit activas.

Ahora compara los costes anuales para un equipo de 50 personas:

Solución Coste anual
Chatto + Hetzner CX22 ~48 €/año
Mattermost Pro 6.000 $/año
Slack Pro 4.350 $/año
Slack Business+ 9.000 $/año

En resumen

Un equipo de 50 personas ahorra más de 5.950 $/año frente a Mattermost Pro. Chatto en Hetzner cuesta menos que una suscripción a Netflix. Incluso si añades 10 $/mes por un plan SMTP de SendGrid y unos pocos dólares de almacenamiento de archivos S3, sigues por debajo de 200 $/año.

Desglose comparativo de costes del chat autoalojado Chatto

Para más detalles de precios de VPS, consulta la reseña de Hetzner Cloud y nuestras pruebas de DigitalOcean vs Vultr vs Hetzner.

Privacidad y cifrado en profundidad

«Privacidad» es una palabra de marketing hasta que explicas el mecanismo. Así protege Chatto tus datos de verdad.

Cifrado en reposo. Cada usuario obtiene una clave de cifrado única. El texto de los mensajes y la información de identificación personal (PII) se cifran antes de escribirse en NATS. Si alguien obtiene acceso directo al almacenamiento de NATS, no puede leer los mensajes sin las claves por usuario.

Crypto-shredding. Cuando un usuario elimina su cuenta, su clave de cifrado se destruye. Los datos cifrados permanecen en disco pero son matemáticamente irrecuperables. Es un enfoque compatible con el RGPD — puedes demostrar que los datos se han ido sin depender de un «prometemos que los borramos».

Sin rastreo de terceros. Nada de Google Analytics, ni migas de Sentry, ni eventos de Mixpanel. Chatto no llama a casa. Las únicas conexiones externas son las que tú configuras (SMTP, S3, proveedores OIDC).

Aislamiento de servidores. Cada servidor Chatto es totalmente independiente. Sin federación significa sin fugas de datos entre organizaciones. Tu servidor no sabe nada de otros servidores Chatto. Es una decisión de diseño deliberada, no una función ausente.

Llamadas con E2EE. Las llamadas de voz y vídeo a través de LiveKit usan cifrado de extremo a extremo. Ni siquiera tu propio servidor puede interceptar el contenido de las llamadas.

Cumplimiento del RGPD. Aloja Chatto en un VPS europeo (Hetzner está en Alemania y Finlandia) y tus datos nunca salen de la UE. Tú eres el encargado del tratamiento. Tú decides las políticas de retención, los controles de acceso y los plazos de borrado. Compara esto con Slack o Discord, donde los datos están en servidores de EE. UU. sujetos a órdenes FISA, National Security Letters y ahora el escaneo de Chat Control.

Flujo de cifrado en reposo y crypto-shredding de Chatto

Importante: los mensajes no están cifrados de extremo a extremo

El cifrado en reposo protege tus datos en disco, pero los mensajes de Chatto no están cifrados de extremo a extremo entre clientes como los de Signal o WhatsApp. El servidor puede leer el contenido de los mensajes en memoria mientras los procesa. Es el mismo modelo que Mattermost y Slack — pero es importante ser honesto al respecto. Si tu modelo de amenaza requiere E2EE real para mensajes de texto (donde ni el operador del servidor puede leerlos), Matrix con Olm/Megolm encaja mejor. Para la mayoría de los equipos, el cifrado en reposo más el aislamiento del servidor es suficiente.

Para otra herramienta autoalojada centrada en la privacidad, consulta nuestra guía para instalar Plausible Analytics — analítica sin cookies que te pertenece.

Advertencias y limitaciones honestas

Chatto impresiona para ser un proyecto que se abrió como open source hace tres días. Pero no está terminado, y conviene que sepas a qué te comprometes.

Software pre-1.0. La versión actual es v0.4.4. Puede haber cambios que rompan compatibilidad hasta la 1.0, que el desarrollador prevé en 6–12 meses. Los formatos de configuración, las APIs y las estructuras de datos pueden cambiar.

Un solo desarrollador. Hendrik Mans construyó Chatto él mismo y no acepta contribuciones externas (según el CONTRIBUTING.md). El bus factor es real. AGPL significa que el código es abierto para siempre y puede bifurcarse, pero el desarrollo principal depende de una sola persona.

Sin apps móviles nativas. Chatto funciona como PWA — lo instalas desde el navegador en tu teléfono. Es decente pero no es lo mismo que una app nativa con notificaciones push. Las apps nativas para iOS y Android están previstas pero no disponibles.

Sin E2EE en mensajes de texto. Las llamadas están cifradas de extremo a extremo vía LiveKit. Los mensajes están cifrados en reposo pero no entre clientes. Es el mismo modelo que Slack y Mattermost, pero no es privacidad a nivel de Signal.

Licencia AGPL. Si modificas el servidor Chatto y lo ofreces como servicio a terceros, debes publicar tus modificaciones bajo AGPL. Para uso interno de equipo, no es un problema. Para negocios SaaS que planean hacer white-label, consulta con un abogado.

Aún sin herramientas de moderación de contenido. La versión 0.5 añade funciones de reporte. Si gestionas una comunidad pública, la moderación está limitada por ahora.

Sin importación desde Slack. La migración desde Slack está prevista pero no disponible hoy. Empezarías desde cero.

Chat Control 1.0 tiene como objetivo los mensajes sin cifrar en plataformas de EE. UU. Los usuarios de WhatsApp y Signal técnicamente no se ven afectados por esta votación concreta. Pero la votación sienta precedente, y Chat Control 2.0 podría cambiar las reglas.

¿Está Chatto listo para producción?

Depende de tu tolerancia al riesgo. Para equipos pequeños dispuestos a aceptar la inestabilidad pre-1.0 y algún cambio ocasional que rompa compatibilidad, sí — es funcional y la experiencia central de chat es sólida. Para despliegues empresariales críticos donde el tiempo de actividad y la estabilidad no son negociables, espera a la 1.0 o quédate con Mattermost. El desarrollador es transparente sobre el estado actual.

¿Y si el único desarrollador deja de mantener Chatto?

La licencia AGPL significa que el código es abierto para siempre. Si el desarrollo se estanca, la comunidad puede bifurcar el proyecto. NATS es un proyecto maduro con mantenimiento independiente — tu capa de datos no desaparecerá. Dicho esto, el bus factor es una preocupación real para la planificación a largo plazo. Si necesitas SLA con respaldo de un proveedor y soporte garantizado de varios años, un producto comercial como Mattermost es más seguro. Si te sientes cómodo con el riesgo del open source (y la mayoría de lectores de bitdoze lo están), es asumible.

Veredicto final: ¿deberías autoalojar Chatto?

La UE acaba de legalizar el escaneo masivo de mensajes privados en las principales plataformas estadounidenses. Las estadísticas muestran que este enfoque no funciona — el 99 % de los reportes de Meta son material conocido, el 48 % de las alertas no son penalmente relevantes y hay cero evidencia de que haya rescatado a menores. Pero la ley es la ley, y estará vigente hasta 2028.

Tienes tres opciones:

  1. No hacer nada. Seguir usando Slack/Discord y aceptar que los mensajes de tu equipo están sujetos a escaneo.
  2. Cambiar a un mensajero con E2EE. Signal y WhatsApp protegen chats 1:1, pero no son herramientas de chat de equipo. Sin canales, sin roles, sin historial de archivos.
  3. Autoalojar Chatto. Ejecutar un servidor de chat ligero y centrado en la privacidad en un VPS por 4 €/mes. Control total, sin escaneo, sin rastreo.

Chatto no es perfecto. Es pre-1.0, no tiene apps móviles nativas, ni E2EE en mensajes de texto, y depende de un solo desarrollador. Son limitaciones reales.

Pero los números son difíciles de rebatir: un único binario de ~50 MB, sin base de datos, decenas de MB de RAM, llamadas de voz/vídeo, SSO, cifrado en reposo — todo por 0 $ en costes de software y 4 €/mes de alojamiento. Para un equipo de 50, eso son 48 €/año frente a 6.000 $/año de Mattermost Pro.

Si ya autoalojas otras herramientas en tu VPS, Chatto es una adición natural al stack. El servidor es tuyo, los datos son tuyos, y ninguna votación parlamentaria cambia eso.

Empieza con Chatto → Lee la documentación oficial

Una vez que Chatto esté en marcha, monitorízalo con Uptime Kuma para saber si se cae. Si quieres una experiencia de despliegue más sencilla con interfaz web, Coolify como PaaS autoalojado puede gestionar el stack de Docker por ti.