Sto costruendo un'app per Mac che sincronizza i documenti dell'utente da un servizio cloud di terze parti. Quando lo configuri, sincronizzerà tutti i tuoi documenti sul disco rigido locale, a quel punto potrai accedervi in Finder.
Ai fini di questa domanda, puoi immaginare che sto costruendo un client Dropbox di terze parti. Non lo sono, ma è un'approssimazione abbastanza buona per questa domanda. I punti chiave sono che non controllo il servizio cloud e che i dati sono accessibili tramite Finder una volta sincronizzati.
Supponiamo, in un secondo momento, che il server rifiuti il token OAuth / password salvata e che l'utente non sia in grado di fornire una password che funzioni. Dopo un certo numero di tentativi o una certa quantità di tempo che passa, dovrei cancellare tutti i documenti sincronizzati per prevenire l'abuso?
Scenario 1: un utente malintenzionato indovina la password di un utente e la utilizza per accedere al servizio cloud tramite la mia app e accede ai documenti dell'utente. L'utente viene a sapere e cambia la sua password / revoca i token di autenticazione. A questo punto, l'utente vorrebbe che i suoi documenti fossero cancellati dal disco rigido dell'attaccante. O se l'utente vende / regala / presta il proprio laptop a qualcuno, dimenticandosi di effettuare il logout nella mia app, e se ne rende conto in seguito e cambia la password / revoca i token di autenticazione, vorrebbe nuovamente che i documenti già sincronizzati venissero eliminati dal disco rigido del laptop.
Scenario 2: un hacker acquisisce l'account e blocca l'utente. Oppure il cloud provider commette un errore e blocca l'utente dal suo account. Quindi l'utente vorrebbe un backup dei suoi dati sul suo disco rigido locale, invece di perdere l'accesso ai suoi preziosi dati.
Se elimino tutti i documenti sincronizzati esistenti, ho fallito l'utente nello scenario 2. Se non elimini tutti i dati sincronizzati, ho fallito l'utente nello scenario 1.
Esiste una best practice per questo? Una linea guida generale su cosa devono fare i client per i servizi cloud se l'utente non può più accedere?
Si noti che non posso conservare i dati sul disco fisso del Mac ma negare l'accesso, poiché l'utente accede ai dati tramite Finder, non tramite la mia app. Le scelte sono per eliminare o non cancellare i dati.