---
title: "Chatto Autoalojado: la Respuesta de Privacidad al Chat Control de la UE"
description: "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."
date: 2026-07-11
categories: ["self-hosting"]
tags: ["chatto","self-hosted","docker"]
---

import Button from "@components/widgets/Button.astro";
import Notice from "@components/widgets/Notice.astro";
import ListCheck from "@components/widgets/ListCheck.astro";
import Accordion from "@components/widgets/Accordion.astro";
import Tabs from "@components/widgets/Tabs.astro";
import Tab from "@components/widgets/Tab.astro";


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](https://www.patrick-breyer.de/en/eu-parliament-greenlights-chat-control-1-0-breyer-our-children-lose-out/))

Puedes leer el análisis legislativo completo en el [sitio de Patrick Breyer](https://www.patrick-breyer.de/en/eu-parliament-greenlights-chat-control-1-0-breyer-our-children-lose-out/). 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.

<Notice type="warning" title="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.
</Notice>

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](https://github.com/chattocorp/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](@assets/images/26/07/chatto-vs-incumbents.svg)

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](https://nats.io) 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.

<Button text="Ver Chatto en GitHub" link="https://github.com/chattocorp/chatto" variant="solid" color="blue" size="md" icon="arrow-right" />

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](https://chatto.run) | [docs.chatto.run](https://docs.chatto.run) | [Servidor de la comunidad](https://chat.chatto.run/)

![Interfaz del chat de equipo autoalojado Chatto](@assets/images/26/07/chatto-ui.webp)

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

<Tabs>
<Tab name="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.

</Tab>
<Tab name="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.

</Tab>
<Tab name="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.

</Tab>
</Tabs>

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

<ListCheck>
**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
</ListCheck>

## 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
```

<Notice type="info" title="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.
</Notice>

Si aún no tienes Docker instalado, consulta nuestra guía sobre [instalar Docker en Ubuntu ARM](/install-docker-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

<ListCheck>
**Lo que necesitas antes de empezar:**
- Un VPS con Docker y Compose v2 instalados ([instalar Docker en Ubuntu ARM](/install-docker-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
</ListCheck>

Para proveedores de VPS, consulta nuestra comparativa [DigitalOcean vs Vultr vs Hetzner](/digitalocean-vs-vultr-vs-hetzner/). La [reseña de Hetzner Cloud](/es/hetzner-cloud-resena/) 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 admin@example.com
```

Sustituye `chat.example.com` por tu dominio y `admin@example.com` 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:

```env
# 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)
ADMIN_EMAIL=admin@example.com

# 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
CHATTO_SMTP_FROM=chat@example.com

# 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](@assets/images/26/07/chatto-docker-architecture.svg)

<Notice type="warning" title="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.
</Notice>

Para más información sobre cómo configurar variables de entorno en Docker, consulta nuestra guía sobre [variables de entorno en Docker](/es/variables-entorno-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
```

<Accordion label="¿Cómo actualizo Chatto cuando se publica una nueva versión?" group="faq">

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](/updating-container-docker-compose/).

Tras actualizar, limpia las imágenes antiguas para liberar espacio en disco: [Limpiar todas las imágenes Docker](/cleanup-all-docker-things/).

Para vigilar tus logs, puedes [redirigir los logs de Docker a un único archivo](/es/redirigir-logs-docker-un-solo-archivo/).

</Accordion>

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

<Notice type="success" title="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.
</Notice>

![Desglose comparativo de costes del chat autoalojado Chatto](@assets/images/26/07/chatto-cost-breakdown.svg)

Para más detalles de precios de VPS, consulta la [reseña de Hetzner Cloud](/es/hetzner-cloud-resena/) y nuestras pruebas de [DigitalOcean vs Vultr vs Hetzner](/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](@assets/images/26/07/chatto-encryption-diagram.svg)

<Notice type="info" title="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.
</Notice>

Para otra herramienta autoalojada centrada en la privacidad, consulta nuestra guía para [instalar Plausible Analytics](/es/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.

<Accordion label="¿Está Chatto listo para producción?" group="faq">
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.
</Accordion>

<Accordion label="¿Y si el único desarrollador deja de mantener Chatto?" group="faq">
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.
</Accordion>

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

<Button text="Empieza con Chatto →" link="https://github.com/chattocorp/chatto" variant="solid" color="green" size="lg" icon="arrow-right" />
<Button text="Lee la documentación oficial" link="https://docs.chatto.run" variant="outline" color="blue" size="md" />

Una vez que Chatto esté en marcha, monitorízalo con [Uptime Kuma](/es/desplegar-uptime-kuma/) para saber si se cae. Si quieres una experiencia de despliegue más sencilla con interfaz web, [Coolify como PaaS autoalojado](/es/instalar-coolify-alternativa-heroku/) puede gestionar el stack de Docker por ti.