Estándares cumplidos.Lagunas señaladas.
Cada protocolo que habla FOLD está definido en un RFC. Esta página recoge aquellos con los que se mide un cliente de correo y dice, para cada uno, qué hace hoy el código: implementado, implementado en parte, pendiente o descartado a propósito, y por qué.
Cotejado con el código el 2026-09-23
- Implementado
- 58
- Implementado y en uso.
- Parcial
- 8
- Una parte funciona; la nota dice cuál.
- Pendiente
- 10
- Aún no implementado.
- Descartado
- 6
- Descartado a propósito; la nota da el motivo.
Formato de mensaje
Cómo se construye, se lee y se muestra un mensaje.
| RFC | Estándar | Estado | En FOLD |
|---|---|---|---|
| RFC 5322 | Internet Message Format | Implementado | Estricto al escribir; al leer, tolera saltos de línea sueltos, encabezados de 8 bits y variantes de fecha. |
| RFC 2045-2049 | MIME | Implementado | FOLD descarga el mensaje completo y construye el árbol MIME en el dispositivo. |
| RFC 2047 | MIME Encoded-Words | Implementado | Texto no ASCII en los encabezados, decodificado y codificado. |
| RFC 2231 | MIME Parameter Value and Encoded Word Extensions | Parcial | Se leen nombres de archivo largos y con caracteres no ASCII; al enviar, FOLD aún no los escribe de esta forma. |
| RFC 2183 | Content-Disposition | Implementado | En línea o como adjunto, y el nombre de archivo. |
| RFC 2387 | multipart/related | Implementado | Mensajes con imágenes incrustadas, leídos y escritos. |
| RFC 2392 | Content-ID and Message-ID URLs | Implementado | Los enlaces cid: a imágenes incrustadas se resuelven dentro del mensaje. |
| RFC 6532 | Internationalized Email Headers | Implementado | Los encabezados UTF-8 se leen siempre; FOLD solo los escribe para direcciones internacionales y solo si el servidor ofrece SMTPUTF8 o UTF8=ACCEPT.desde el 2026-09-21 |
| RFC 3676 | The Text/Plain Format and DelSp Parameters | Pendiente | El texto format=flowed aún no se reajusta, y FOLD no lo envía. |
| RFC 2369 | List Commands in Header Fields | Implementado | List-Unsubscribe como acción: FOLD envía él mismo la solicitud por correo; los enlaces web se abren en el navegador. |
| RFC 2919 | List-Id | Implementado | Reconoce las listas de correo, para que sus roturas de firma típicas no se muestren como falsificaciones. |
| RFC 8058 | One-Click Unsubscribe | Pendiente | El encabezado se reconoce, pero FOLD no envía la solicitud de un clic; la baja se hace por correo o en la página web. |
| RFC 8098 | Message Disposition Notification | Parcial | FOLD puede pedir una confirmación de lectura al enviar, pero a propósito nunca envía ninguna. |
Lectura y sincronización (IMAP)
FOLD pregunta al servidor qué admite, y vuelve a preguntar tras el inicio de sesión; activa cada extensión solo si el servidor la anuncia y, si no, recurre a la vía más sencilla.
| RFC | Estándar | Estado | En FOLD |
|---|---|---|---|
| RFC 3501 | IMAP4rev1 | Implementado | La base que admite todo servidor, incluido STARTTLS, sin recurrir nunca a una conexión sin cifrar. |
| RFC 9051 | IMAP4rev2 | Descartado | Se reconoce, no se activa: ningún servidor del grupo objetivo lo exige; FOLD usa en su lugar las extensiones de rev1. |
| RFC 2177 | IDLE | Implementado | FOLD mantiene IDLE en la bandeja de entrada de cada cuenta y lo renueva cada 25 minutos; las demás carpetas se consultan periódicamente, en iPhone y iPad solo mientras la app está abierta. |
| RFC 4315 | UIDPLUS | Implementado | UID EXPUNGE, para que FOLD solo elimine sus propios mensajes. |
| RFC 6851 | MOVE | Implementado | Con COPY y EXPUNGE como alternativa; tras un MOVE, FOLD comprueba qué quedó en el origen. |
| RFC 7162 | CONDSTORE and QRESYNC | Implementado | Sincronización incremental, incluido VANISHED (EARLIER). |
| RFC 5161 | ENABLE | Implementado | Una activación solo cuenta cuando el servidor la confirma con ENABLED. |
| RFC 6154 | SPECIAL-USE | Implementado | Los roles de las carpetas proceden de las marcas del servidor; los nombres habituales solo sirven de alternativa, y las carpetas que faltan se crean con su rol. |
| RFC 9208 | QUOTA | Implementado | El uso del buzón se muestra en el Mac. |
| RFC 7888 | LITERAL+ and LITERAL- | Implementado | Menos viajes de ida y vuelta al subir. |
| RFC 4959 | SASL-IR | Implementado | Inicio de sesión en un solo viaje de ida y vuelta. |
| RFC 5530 | IMAP Response Codes | Implementado | Se distingue una contraseña incorrecta de un servidor no disponible temporalmente. |
| RFC 4731 | ESEARCH | Implementado | Resultados compactos para la búsqueda en el servidor en iPhone y iPad; los servidores sin ESEARCH reciben el SEARCH clásico.desde el 2026-09-21 |
| RFC 5258 | LIST-EXTENDED | Implementado | Carpetas y sus roles en un solo comando.desde el 2026-09-21 |
| RFC 5819 | LIST-STATUS | Implementado | Contadores de carpeta en el mismo LIST, sin seleccionar cada carpeta.desde el 2026-09-21 |
| RFC 6855 | UTF8=ACCEPT | Implementado | Nombres de carpeta y encabezados en UTF-8; la codificación de los nombres de carpeta se cambia en un único punto.desde el 2026-09-21 |
| RFC 2342 | NAMESPACE | Pendiente | La capacidad se reconoce, pero el comando nunca se envía. |
| RFC 2971 | ID | Pendiente | Algunos servidores de Yahoo lo piden antes del inicio de sesión. |
| RFC 4978 | COMPRESS=DEFLATE | Pendiente | Aplazado: requiere un vaciado parcial (partial flush) que el framework Compression de Apple no ofrece; la vía prevista es usar zlib directamente. |
| RFC 8474 | OBJECTID | Pendiente | Identificadores estables aunque cambie el nombre; aún no se usa. |
| RFC 8970 | PREVIEW | Pendiente | Las vistas previas se generan en el dispositivo a partir del mensaje descargado. |
| RFC 8508 | REPLACE | Pendiente | Los borradores se guardan en el dispositivo mientras escribes y se suben una vez al cerrar la ventana de redacción; no se sustituye una copia anterior en el servidor. |
| RFC 3516 | BINARY | Descartado | No hace falta: FOLD decodifica el árbol MIME por sí mismo. |
| RFC 5256 | SORT and THREAD | Descartado | FOLD construye las conversaciones localmente a partir de References e In-Reply-To, igual en todos los servidores. |
| RFC 5465 | NOTIFY | Descartado | Casi ningún servidor del grupo objetivo lo ofrece. |
Envío (SMTP)
Cómo entrega FOLD un mensaje a tu servidor.
| RFC | Estándar | Estado | En FOLD |
|---|---|---|---|
| RFC 5321 | Simple Mail Transfer Protocol | Implementado | Incluido un dot-stuffing correcto. |
| RFC 6409 | Message Submission for Mail | Implementado | Siempre con inicio de sesión antes de enviar, en el puerto 587 o 465. |
| RFC 4954 | SMTP Service Extension for Authentication | Implementado | Inicio de sesión con respuesta inicial, y cancelación limpia si un método falla. |
| RFC 1870 | SIZE | Implementado | El tamaño se anuncia cuando el servidor indica un límite, y un mensaje que lo supera se rechaza antes de subirlo. |
| RFC 2920 | PIPELINING | Implementado | Remitente y destinatarios en grupos; DATA solo después de todas las respuestas del sobre, para que un mensaje llegue a todos los destinatarios o a ninguno.desde el 2026-09-21 |
| RFC 6152 | 8BITMIME | Implementado | Se declara cuando el mensaje contiene datos de 8 bits; si el servidor no lo admite, FOLD no envía datos de 8 bits.desde el 2026-09-21 |
| RFC 6531 | SMTPUTF8 | Implementado | Direcciones internacionales y encabezados UTF-8; si el servidor no lo admite, FOLD se detiene con un mensaje claro.desde el 2026-09-21 |
| RFC 3463 | Enhanced Mail System Status Codes | Implementado | Los rechazos se explican con palabras claras en lugar de con un código del servidor (junto con el RFC 2034).desde el 2026-09-21 |
| RFC 3461 | Delivery Status Notifications | Pendiente | Los informes de entrega a petición no están implementados. |
| RFC 3030 | CHUNKING (BDAT) | Descartado | Se reconoce, no se usa; DATA cubre todos los casos. |
| RFC 8689 | REQUIRETLS | Descartado | Casi ningún servidor lo admite todavía. |
Conexión e inicio de sesión
Cifrado de la conexión, métodos de inicio de sesión y configuración automática.
| RFC | Estándar | Estado | En FOLD |
|---|---|---|---|
| RFC 8314 | Cleartext Considered Obsolete | Implementado | FOLD nunca se conecta sin TLS y prefiere TLS implícito cuando el DNS ofrece ambos. |
| RFC 3207 | SMTP over TLS (STARTTLS) | Implementado | Si el servidor no ofrece STARTTLS, FOLD se detiene en lugar de enviar sin cifrar. |
| RFC 7817 | TLS Server Identity Check for Email | Implementado | El sistema comprueba la cadena de certificados y el nombre de host frente al servidor configurado. |
| RFC 4422 | SASL | Implementado | Marco de todos los métodos de inicio de sesión que siguen. |
| RFC 7677 | SCRAM-SHA-256 | Parcial | Preferido para el envío (SMTP), con comprobación de la firma del servidor; el inicio de sesión IMAP aún usa PLAIN. |
| RFC 4616 | PLAIN | Implementado | Solo dentro de TLS, nunca sin cifrar (a propósito, más estricto que el RFC). |
| RFC 6749 | OAuth 2.0 | Implementado | Inicio de sesión con Google; XOAUTH2 para IMAP y SMTP, el método que usan los grandes proveedores. |
| RFC 7636 | PKCE | Implementado | En cada inicio de sesión OAuth, solo S256; sin secreto de cliente en la app. |
| RFC 8252 | OAuth 2.0 for Native Apps | Implementado | Inicio de sesión en el navegador del sistema, nunca en una vista web incrustada. |
| RFC 7628 | OAUTHBEARER | Pendiente | Ningún proveedor del grupo objetivo lo exige; XOAUTH2 los cubre. |
| RFC 6186 | SRV Records for Email Submission and Access | Implementado | Una de las fuentes de la configuración automática. |
Cifrado y firmas
S/MIME y OpenPGP, y las piezas en las que se basan.
| RFC | Estándar | Estado | En FOLD |
|---|---|---|---|
| RFC 5652 | Cryptographic Message Syntax | Implementado | El formato contenedor de S/MIME: implementación propia en iPhone y iPad, la del sistema en el Mac. |
| RFC 8551 | S/MIME 4.0 | Parcial | Firmar, verificar, cifrar y descifrar con certificados RSA y AES-CBC; AES-GCM, que exige S/MIME 4.0, todavía no se admite. |
| RFC 1847 | Security Multiparts for MIME | Implementado | El sobre del correo firmado y cifrado. |
| RFC 3565 | AES in CMS | Implementado | AES para el cifrado S/MIME. |
| RFC 5754 | SHA-2 in CMS | Implementado | SHA-256 y superiores para las firmas S/MIME. |
| RFC 5280 | X.509 Certificates | Implementado | Las rutas de certificación se comprueban con la evaluación de confianza del sistema; las comprobaciones de revocación son opcionales. |
| RFC 9580 | OpenPGP | Parcial | Claves de versión 4 (Ed25519, Curve25519, RSA) con AES-256 y comprobación de integridad, probadas con gpg; las claves de versión 6 y el cifrado AEAD todavía no se admiten. |
| RFC 6637 | Elliptic Curve Cryptography in OpenPGP | Implementado | Claves de cifrado Curve25519, el formato que FOLD crea y usa. |
| RFC 3156 | MIME Security with OpenPGP | Implementado | PGP/MIME para correo firmado y cifrado. |
| RFC 3394 | AES Key Wrap | Implementado | Envuelve la clave de sesión para destinatarios Curve25519. |
| RFC 7253 | OCB Authenticated Encryption | Implementado | Implementación propia sobre el AES del sistema, comprobada con los vectores de prueba del RFC; sirve para leer los mensajes de GnuPG cifrados con OCB. |
| RFC 9106 | Argon2 | Implementado | Derivación de claves del modo Fortress, comprobada con el vector de prueba del RFC. |
| RFC 7693 | BLAKE2 | Implementado | Dentro de Argon2; implementación propia comprobada con openssl. |
| RFC 5869 | HKDF | Implementado | De CryptoKit, para el modo Fortress. |
Autenticidad del remitente
Cómo comprueba FOLD quién envió realmente un mensaje.
| RFC | Estándar | Estado | En FOLD |
|---|---|---|---|
| RFC 6376 | DKIM Signatures | Implementado | Se verifican en el dispositivo: el hash del cuerpo y la firma se recalculan. |
| RFC 8463 | Ed25519 for DKIM | Implementado | Comprobado con el mensaje de ejemplo del RFC. |
| RFC 8301 | DKIM Crypto Algorithm Usage | Implementado | Se rechazan las claves de menos de 1024 bits y las firmas rsa-sha1. |
| RFC 8601 | Authentication-Results | Parcial | Solo se confía en los resultados sellados con el nombre de host IMAP de la cuenta; los proveedores que usan otro nombre, entre ellos Gmail, aún no dan ningún resultado. |
| RFC 7489 | DMARC | Parcial | FOLD usa el resultado DMARC que registró tu servidor y comprueba él mismo la alineación; la política publicada solo se consulta antes de mostrar el logotipo de una marca. |
| RFC 7208 | SPF | Parcial | SPF necesita la dirección IP del remitente; FOLD lee el resultado que registró tu servidor. |
| BIMI | Brand Indicators for Message Identification (Internet-Draft) | Implementado | Logotipo solo si DMARC se supera con una política de aplicación y hay un certificado de marca verificado; se descarga una vez por mensaje y se guarda con él. |
| RFC 9399 | Logotypes in X.509 Certificates | Implementado | El logotipo de la marca se toma del certificado de marca verificado. |
Cómo se mantiene esta página
El estado procede de las reglas de conformidad de FOLD y de una auditoría de la pila de correo frente a los RFC. Cada fila se coteja con el código fuente antes de aparecer aquí, y la página cambia cuando cambia el código. En total, el código cita 95 RFC distintos; esta página muestra los que deciden lo bien que un cliente de correo funciona con servidores reales.