# Eliminar cuenta en app iOS: el flujo a probar antes de Apple

> Botón de eliminación, datos asociados, suscripción y nuevo inicio de sesión: una prueba concreta para verificar este flujo antes de enviarlo a App Review.

Página original: [Eliminar cuenta en app iOS: el flujo a probar antes de Apple](https://devoria.fr/es/blog/eliminar-cuenta-app-ios-flujo-probar-apple)
Autor: [Mehdi Azizi](https://devoria.fr/es/mehdi-azizi)
Publicación: 2026-10-02
Última revisión del contenido: 2026-10-09


## El botón no basta: hay que verificar qué desaparece

Si tu app permite crear una cuenta, Apple exige que la persona pueda iniciar su eliminación desde la app. Una simple desactivación no cumple este requisito. El flujo debe ser fácil de encontrar y explicar sus consecuencias. Si una parte termina en la web, el enlace debe llevar directamente a la página correspondiente. [Fuente: eliminación de cuenta según Apple](https://developer.apple.com/support/offering-account-deletion-in-your-app).

Así que el trabajo no termina con un botón rojo en los ajustes. Hay que inventariar los datos, ejecutar la eliminación en el servidor, manejar los errores y verificar lo que el usuario ve después. Esta guía propone una prueba de producto y técnica; los datos sujetos a una obligación de conservación requieren un tratamiento adaptado a tu actividad.

## Empezar por un mapa de los datos

Tomemos una app ficticia de diario de lectura. Tiene una cuenta, un perfil, notas privadas y fotos de portada que agrega el usuario. El ejemplo de abajo describe un plan a verificar, no una eliminación ya ejecutada en una app de Devoria.

- **Identidad de inicio de sesión:** ¿cómo dejar la cuenta inutilizable después de la eliminación?
- **Perfil y notas:** ¿qué filas pertenecen a esta persona y cómo se eliminan?
- **Fotos almacenadas:** ¿qué proceso retira los archivos y sus referencias?
- **Caché del teléfono:** ¿la pantalla borra los datos locales cuando la operación realmente se completó?
- **Servicios de terceros:** ¿los datos vinculados a esta cuenta necesitan una eliminación aparte?
- **Datos a conservar:** ¿cuáles, por qué obligación y con qué información para el usuario?

Este mapa evita descubrir después que una foto sigue accesible aunque la ficha del usuario ya desapareció. También te da los objetos que debes buscar en las pruebas.

## Un flujo claro en cuatro estados

Esta es una propuesta para la app ficticia, que debes adaptar a las consecuencias reales de tu producto:

1. **Ajustes de la cuenta.** Una opción "Eliminar mi cuenta" sigue siendo accesible.
2. **Confirmación.** La pantalla describe los datos afectados y presenta una acción de cancelar tan comprensible como la acción de eliminar.
3. **Procesamiento.** El botón evita las solicitudes dobles y la interfaz indica que la operación está en curso.
4. **Resultado.** Un éxito confirmado abre el estado de sesión cerrada. Un fallo mantiene un mensaje útil y una forma de reintentar, sin afirmar que la cuenta desapareció.

Si el procesamiento toma tiempo, Apple acepta un flujo diferido siempre que se informe a la persona y se confirme cuando termine. La app no debe dar a entender que una eliminación terminó cuando solo se registró la solicitud. La misma [documentación de Apple](https://developer.apple.com/support/offering-account-deletion-in-your-app) también detalla los casos de reautenticación y las excepciones propias de actividades muy reguladas.

## Lo que hay que anticipar con Supabase

Eliminar un usuario de Auth no es, por sí solo, la prueba de que se procesaron todos los objetos de tu producto. Supabase explica en particular que un usuario que tiene objetos en Storage no puede eliminarse mientras esa situación no se resuelva. La documentación también señala que eliminar un usuario no cierra al instante todos los JWT ya emitidos: hay que tener en cuenta su validez en el diseño. [Fuente: gestión de usuarios en Supabase](https://supabase.com/docs/guides/auth/managing-user-data).

Define entonces un proceso en el servidor que verifique la identidad de quien hace la solicitud y los recursos que le pertenecen. No confíes en un identificador enviado libremente por el teléfono para elegir la cuenta a eliminar. Los permisos de administración se quedan en el servidor, según la [documentación de claves de Supabase](https://supabase.com/docs/guides/getting-started/api-keys).

Para un proceso de varios pasos, decide qué debe hacer un nuevo intento si un primer paso tuvo éxito y el siguiente falló. Por ejemplo, si los archivos ya se retiraron, una nueva solicitud no debe fallar solo porque ya no están. Es un escenario que se escribe antes de la prueba, no un comportamiento que se supone.

## Cuenta y suscripción: dos verificaciones distintas

Una persona puede eliminar su cuenta mientras una suscripción de Apple sigue activa. Apple exige explicar qué pasa con la facturación y dar acceso a la gestión de la suscripción. Prevé también la revocación adecuada de los tokens si usas Sign in with Apple. Estos puntos se detallan en las [indicaciones de Apple sobre la eliminación](https://developer.apple.com/support/offering-account-deletion-in-your-app).

En tu plan de pruebas, separa entonces la desaparición de la cuenta, el estado del acceso de pago y la gestión de la suscripción. La guía [suscripción o compra única](https://devoria.fr/es/blog/suscripcion-o-pago-unico-app-ios) te ayuda a ubicar este flujo dentro de tu modelo de negocio.

## La prueba a ejecutar en una build de prueba

Usa solo una cuenta de prueba y datos ficticios. Anota la build, el dispositivo, el resultado observado y los límites de cada verificación.

1. **Cancelar.** La cuenta y los datos siguen accesibles.
2. **Eliminar una cuenta con datos.** El estado final corresponde al proceso anunciado; los datos afectados se retiran de verdad.
3. **Cortar la red.** La app no muestra un éxito ficticio.
4. **Reintentar después de un fallo parcial.** La solicitud puede completarse sin afectar otros datos.
5. **Abrir una segunda sesión.** Los accesos anteriores se manejan según el mecanismo previsto.
6. **Crear de nuevo una cuenta con el mismo correo, si está permitido.** Los datos privados anteriores no reaparecen.

Agrega estos casos a la [lista de pruebas de Devoria](https://devoria.fr/es/resources). Para distribuirlos a testers, sigue la guía de [TestFlight](https://devoria.fr/es/blog/testflight-probar-app-iphone-antes-de-enviarla). Que no haya mensajes de error en la consola no reemplaza la verificación de los datos y del flujo.

## Preparar el envío a App Review

En tus notas de revisión, explica dónde está la acción y cómo probarla. Si un paso depende de un servicio, asegúrate de que esté disponible durante la revisión. No uses las notas para prometer una función que todavía no existe en la build enviada.

La página [app rechazada por Apple](https://devoria.fr/es/expertise/app-rechazada-por-apple) te ayuda a organizar una respuesta cuando ya se señaló un problema. Para prepararla, el [Apple Review Kit](https://devoria.fr/es/kits/review-apple) te ayuda a encontrar la regla citada, lo que exige y un ejemplo de corrección y de respuesta.

Si preparas tu primer envío, el [diagnóstico gratuito](https://devoria.fr/es/diagnostic) te dice qué te falta y te envía mi checklist contra rechazos de Apple, incluida la eliminación de cuenta. Si Apple ya rechazó tu app, [reserva una hora conmigo](https://devoria.fr/es/coaching): leemos el mensaje juntos, por videollamada.

## Preguntas frecuentes

### ¿La eliminación de cuenta es obligatoria en una app iOS?

Sí, si tu app permite crear una cuenta: Apple exige que la persona pueda iniciar su eliminación desde la app. Una simple desactivación no cumple este requisito. El flujo debe ser fácil de encontrar y explicar sus consecuencias. Si una parte termina en la web, el enlace debe llevar directamente a la página correspondiente.

### ¿Qué hay que eliminar cuando un usuario elimina su cuenta?

Todo lo que pertenece a la persona, no solo su ficha de usuario. Haz la lista: identidad de inicio de sesión, perfil y contenidos creados, archivos almacenados y sus referencias, caché del teléfono, datos en servicios de terceros. Anota también los datos a conservar, por qué obligación, e informa a la persona. Sin este inventario, una foto puede seguir accesible aunque la ficha del usuario ya desapareció.

### ¿Apple acepta una eliminación de cuenta que no es inmediata?

Sí. Si el procesamiento toma tiempo, Apple acepta un flujo diferido siempre que se informe a la persona y se confirme cuando termine. La app no debe dar a entender que la eliminación terminó cuando solo se registró la solicitud. Si falla, mantén un mensaje útil y una forma de reintentar, sin afirmar que la cuenta desapareció.

### ¿Qué pasa con la suscripción cuando el usuario elimina su cuenta?

La suscripción de Apple puede seguir activa después de eliminar la cuenta. Apple exige explicar qué pasa con la facturación y dar acceso a la gestión de la suscripción. Si usas Sign in with Apple, prevé también la revocación adecuada de los tokens. En tu plan de pruebas, separa la desaparición de la cuenta, el estado del acceso de pago y la gestión de la suscripción.

### ¿Basta con eliminar al usuario en Supabase Auth?

No, eliminar un usuario de Auth no prueba que se procesaron todos los objetos de tu producto. Según la documentación de Supabase, un usuario que tiene objetos en Storage no puede eliminarse mientras ese punto no se resuelva. Eliminar un usuario tampoco cierra al instante todos los JWT ya emitidos. Prevé un proceso en el servidor que verifique la identidad de quien hace la solicitud.

### ¿Cómo probar la eliminación de cuenta antes de enviarla a Apple?

Usa una cuenta de prueba y datos ficticios en una build de prueba. Ejecuta seis casos: cancelar, eliminar una cuenta con datos, cortar la red, reintentar después de un fallo parcial, abrir una segunda sesión y crear de nuevo una cuenta con el mismo correo si está permitido. Verifica los datos y el flujo: que no haya errores en la consola no basta. Para distribuir tu build, sigue la guía de [TestFlight](https://devoria.fr/es/blog/testflight-probar-app-iphone-antes-de-enviarla).


## Tu proyecto

[Apple Review Kit](https://devoria.fr/es/kits/review-apple): La checklist de revisión del App Store que uso, mis rechazos de Apple corregidos, las notas para el revisor y dos skills de Claude Code que revisan tu app. 29 €.

[iOS Kit](https://devoria.fr/es/kits/ios): Crea tu app para iPhone con Claude Code: el código base de mis apps, los skills que verifican su trabajo y los kits Apple Review, App Store Screenshots y ASO. 129,99 €.
