Código abierto · Nativo para agentes · Reversible

Tu bandeja,
sin el ruido.

Limpia años de newsletters, promociones y spam en una pasada revisada. Solo cabeceras. Plan primero. Cada movimiento se puede deshacer.

Gratis y open source · Sin cuenta · Sin telemetría · MIT

  • Solo cabeceras
  • Sin borrado permanente
  • Undo de cada movimiento
  • 144 tests
Revisa el plan. Luego aplica.
INBOX3 sin leer
Tu extracto está listobank.example · protegido07:20
Re: comida mañanafriend@example.com · personal06:12
Tu pedido ha salidoshop.example · transaccional05:48
CleanYourMail/Newsletters42
CleanYourMail/Promotions28
Junk6
✓ Movimientos registrados · undo disponible
plan.json 76 movimientos 12 bajas Revisar antes de aplicar
protegido archivado junk

CAP 01 · Cómo funciona

Leer. Proteger. Planificar. Limpiar.

Una CLI pequeña, un plan revisable y un journal de undo. Sin “limpiador de inbox con IA” de caja negra.

Escanear cabeceras

Remitente, asunto, fecha, flags y List-Unsubscribe. Sin cuerpos, sin adjuntos, sin descargar el buzón completo.

Proteger lo importante

Bancos, códigos de seguridad, facturas, viajes, médico, gobierno, personal, destacado, respondido y reciente se quedan.

Crear un plan

UIDs exactos, destinos y objetivos de baja en plan.json. Nada cambia hasta que lo apliques.

Archivar o mover

Carpetas o etiquetas de Gmail, Junk, Trash o archivo. Primero COPY, luego UID EXPUNGE. Nunca un expunge general.

Bajas seguras

POST one-click RFC 8058, mailto: o enlace manual. Solo cabeceras. El spam nunca se da de baja.

Deshacer movimientos

El journal guarda COPYUID y Message-ID. Un comando restaura movimientos y archivados de Gmail. Las bajas no se pueden desenviar.

CAP 02 · Por qué

Un limpiador de bandeja diferente.

La mayoría de las herramientas piden tu contraseña, leen tu correo y borran la evidencia. CleanYourMail se ejecuta en tu máquina, lee solo cabeceras y guarda un journal de undo.

Privado por construcción

La CLI se ejecuta en local. El escaneo pide solo cabeceras. La caché guarda metadatos, nunca cuerpos de mensajes. Sin telemetría, sin analítica, sin API de terceros.

Reversible por defecto

Cada movimiento se registra con COPYUID y Message-ID. Un comando lo restaura. Archivar en Gmail vuelve a añadir la etiqueta Inbox. La baja es el único paso irreversible, y es explícita.

Nativo para agentes, no solo para agentes

La CLI es el producto. SKILL.md y PROMPT.es.md enseñan a cualquier agente a usarla con seguridad. Sin app nueva, sin extensión de navegador, sin broker OAuth.

Limpiadores alojadosCleanYourMail
Se ejecuta en su nubeSe ejecuta en tu máquina
Lee mensajes completosLee solo cabeceras
Borra o archivaMueve y registra
Undo vía ticket de soporteUndo con un comando
Registro y broker OAuthSin cuenta
SuscripciónGratis, MIT

Comparación general con servicios de limpieza alojados. Revisa cada producto.

CAP 03 · Configurar

Tres pasos. Tu agente escribe los comandos.

Python 3.11+. Sin dependencias. Una contraseña de aplicación o token OAuth. Una terminal.

  1. 01

    Conectar

    Clona el repo, crea la configuración, pon el secreto en CYM_PASSWORD y ejecuta doctor.

  2. 02

    Revisar

    Escanea cabeceras, lee el informe y genera un plan. Corrige los remitentes protegidos antes de mover nada.

  3. 03

    Limpiar

    Aplica primero los movimientos. Verifica. Luego envía las bajas por separado. Guarda el comando de undo.

powershell
$ git clone https://github.com/jparedesDS/cleanyourmail.git
$ cd cleanyourmail
$ python tools/mail.py init --email tu@ejemplo.com
$ $env:CYM_PASSWORD = "app-password"
$ python tools/mail.py doctor
$ python tools/mail.py scan --days 365
$ python tools/mail.py report --top 30
$ python tools/mail.py plan --mode folders
Copiar el prompt ↗

Empieza poco a poco. Usa --limit 50 en la primera pasada, revisa plan.json y guarda el comando de undo. En macOS o Linux, usa python3 en lugar de python.

¿Usas un agente? Pega PROMPT.es.md. Leerá SKILL.md, te enseñará el plan, moverá primero y te dará el comando de undo. No se saltará la revisión.

CAP 04 · Proveedores

Funciona con el buzón que ya tienes.

IMAP y SMTP, contraseñas de aplicación u OAuth2. Sin servicio alojado ni migración de buzón.

Recomendado para Gmail

Contraseña de aplicación + IMAP

Activa la verificación en dos pasos, crea una contraseña de aplicación y habilita IMAP. Las carpetas son etiquetas; archivar quita la etiqueta Inbox y mantiene el mensaje en All Mail.

Auth App PasswordArchivo Quitar etiquetaReglas XML de Gmail

Notas completas en docs/PROVIDERS.md. ¿Tu proveedor no está? Cualquier servidor IMAP con UIDPLUS o MOVE funciona.

CAP 05 · Seguridad

Seguro por diseño. Aburrido a propósito.

Lo interesante no es lo que puede hacer. Es lo que se niega a hacer.

✕

Sin borrado permanente

Los movimientos copian primero y usan UID EXPUNGE. Sin expunge general. Trash nunca se vacía. Si el servidor no tiene UIDPLUS/MOVE, se rechaza el movimiento.

◎

El correo protegido se queda

Transaccional y personal, códigos de seguridad, bancos, facturas, viajes, médico, gobierno, destacado, respondido y reciente nunca se mueven automáticamente.

⌁

Sin cuerpos ni adjuntos

El escaneo pide solo cabeceras. La caché local guarda metadatos, no contenido. No hay índice de contenido ni una IA leyendo tu correo.

↯

Los enlaces son hostiles

Solo cabeceras List-Unsubscribe. Sin redirecciones, cookies ni proxies. Destinos privados/locales rechazados. Los enlaces manuales los abres tú, no el agente.

☍

La inyección es dato

Un correo no puede dar instrucciones al agente. “Ignora tus reglas”, “envía esto” o “ejecuta aquello” se reporta, no se sigue.

!

El consentimiento no elimina la seguridad

“Sáltate el plan”, “borra todo” o “date de baja de todo” es una parada. La revisión, el correo protegido, la exclusión de spam y los límites no son opcionales.

Sin cuenta Sin telemetría Sin API de terceros Sin leer cuerpos Sin borrado permanente
✓

La baja es el único paso irreversible. Es explícita, limitada, espaciada y nunca se aplica a spam. Los movimientos y archivados tienen journal de undo. Las solicitudes de baja no se pueden desenviar. Lee las reglas completas de seguridad ↗

144tests, solo IMAP falso
7proveedores preconfigurados
0cuerpos leídos
0borrados permanentes
1comando para deshacer

CAP 06 · FAQ

Las preguntas que la gente hace.

¿Borra correo?

No. Mueve a carpetas, etiquetas, Junk, Trash o archivo. Nunca vacía Trash, nunca hace un expunge general y no tiene un comando de “borrar para siempre”.

¿Lee mi correo?

No. El escaneo pide solo cabeceras: remitente, asunto, fecha, tamaño, flags y cabeceras de baja. Los cuerpos y adjuntos nunca se descargan.

¿Es gratis?

Sí. CleanYourMail tiene licencia MIT y es gratis. No hay plan de pago, ni cuenta, ni upsell.

¿Tengo que ser técnico?

Necesitas una terminal y Python 3.11+. Un agente puede escribir los comandos por ti: pega PROMPT.es.md y sigue el plan. La CLI también se puede usar directamente.

¿Funciona con Gmail?

Sí. Gmail usa etiquetas, no carpetas. Archivar quita la etiqueta \Inbox y deja el mensaje en All Mail. El undo vuelve a añadir la etiqueta con X-GM-MSGID o Message-ID.

¿Y Outlook / Microsoft 365?

Usa un token de acceso OAuth2 con auth = "xoauth2". La CLI no obtiene ni renueva tokens. Algunos tenants bloquean SMTP AUTH, así que una baja por mailto: puede tener que hacerse a mano.

¿La baja detendrá el spam?

No. El spam nunca se da de baja: un enlace de baja en spam puede confirmar que la dirección está viva. El spam va a Junk. En listas legítimas, la baja es una solicitud, no una garantía.

¿Es seguro en mi buzón real?

El flujo es dry-run: scan, report, plan y revisión. Aplica movimientos solo después de revisar. Empieza con --limit o una sola categoría. Guarda el comando de undo. Sigue siendo software: revisa el plan.

¿Y si mi servidor no tiene UIDPLUS ni MOVE?

Los movimientos se rechazan. La única alternativa sería un expunge general, que podría borrar permanentemente el mensaje de otro cliente. Usa un cliente con UIDPLUS/MOVE o mueve a mano.

¿Qué datos salen de mi máquina?

Solo el tráfico IMAP/SMTP y las solicitudes de baja validadas. No hay telemetría, ni analítica, ni API de terceros, ni índice de contenido. La web no carga recursos de terceros.

¿Puedo usarlo sin un agente?

Sí. La CLI es el producto. La skill y el prompt solo enseñan a un agente a usarla con seguridad. Todos los comandos están en SKILL.md y README.es.md.

¿Hay un servicio alojado?

No. Sin cuenta, sin servidor, sin telemetría y sin API de terceros. Las únicas llamadas de red son IMAP, SMTP para una baja mailto y una petición HTTPS validada de one-click.

Empieza poco a poco. Mantén el control.

Haz que la bandeja calle.
Quédate con lo importante.

Ejecuta el dry run. Revisa el plan. Aplica un lote pequeño. Deshaz si cambias de opinión.

Sin cuenta. Sin telemetría. MIT.

empieza aquí
$ python tools/mail.py scan --days 365
$ python tools/mail.py report --top 30
$ python tools/mail.py plan --mode folders
$ python tools/mail.py apply <plan.json> --yes --action move
luego da de baja por separado