Estoy creando una aplicación para Mac que sincroniza los documentos del usuario desde un servicio en la nube de terceros. Cuando lo configure, sincronizará todos sus documentos en el disco duro local, en cuyo punto podrá acceder a ellos en el Finder.
A los efectos de esta pregunta, puedes imaginar que estoy creando un cliente de Dropbox de terceros. No lo soy, pero es una buena aproximación para esta pregunta. Los puntos clave son que no controlo el servicio en la nube y que se accede a los datos a través del Finder una vez sincronizado.
Supongamos, en un momento posterior, el servidor rechaza el token de OAuth / contraseña guardada, y el usuario no puede proporcionar una contraseña que funcione. Después de un cierto número de intentos o de pasar cierto tiempo, ¿debo eliminar todos los documentos sincronizados para evitar el uso indebido?
Escenario 1: un atacante adivina la contraseña de un usuario y la utiliza para iniciar sesión en el servicio en la nube a través de mi aplicación y accede a los documentos del usuario. El usuario llega a conocer y cambia su contraseña / revoca tokens de autenticación. En este punto, el usuario desearía que sus documentos se eliminen del disco duro del atacante. O si el usuario vende / regala / presta su computadora portátil a alguien, se olvida de cerrar sesión en mi aplicación, y se da cuenta más tarde y cambia su contraseña / revoca tokens de autenticación, querría que los documentos ya sincronizados se eliminen de la disco duro de la computadora portátil.
Escenario 2: un pirata informático se hace cargo de la cuenta y bloquea al usuario. O el proveedor de la nube comete un error y bloquea al usuario de su cuenta. Entonces, el usuario querría una copia de seguridad de sus datos en su disco duro local, en lugar de perder el acceso a sus preciosos datos.
Si elimino todos los documentos sincronizados existentes, le he fallado al usuario en el escenario 2. Si no elimino todos los datos sincronizados, le he fallado al usuario en el escenario 1.
¿Hay una mejor práctica para esto? ¿Una guía general sobre qué deben hacer los clientes a los servicios en la nube si el usuario ya no puede iniciar sesión?
Tenga en cuenta que no puedo guardar los datos en el disco duro de Mac, pero denegar el acceso, ya que el usuario accede a los datos a través del Finder, no a través de mi aplicación. Las opciones son eliminar o no eliminar los datos.