Hacker News new | ask | show | jobs
by Joakim_Habekost 775 days ago
Very true, it is not a good reason, we do this for now due to the security, users calendar, notes, and partner related information is truly personal, so for now it's much more secure. But it's really interesting to see all the feedback, so thank you!!
2 comments

Anything you put elsewhere is not more secure, unless you are more secure than Apple's servers, which seems highly unlikely. If you don't have it, it can't get compromised.

The user has an iCloud account, you can write to iCloud storage without making them "sign in" to your app. It's their data, they can find it in the folder for your app in their iCloud drive on a Mac.

And see https://developer.apple.com/game-center/ for a way to let two users coordinate "play", multiplayer, turn based, achievements, etc., which cover most of the interaction you'd need.

For sharing personality test, a person can do their own and their partner's, but for a better take on the partner you and your partner can each take your own test then generate a sharable fun code that captures the "bits" of the answers without repeating the test. As partners, you could tell each other the sharable code as a NFC bump or QR code to scan, or generate one of the word based codes like bitcoin wallet passwords.

See BIP39: https://github.com/bitcoin/bips/blob/master/bip-0039.

(This passphrase would be short if the test results distill down to a smaller set of outcomes, like 64 questions give 8 results. It would be long if you need all 64 questions' answers to match with.)

> Very true, it is not a good reason, we do this for now due to the security, users calendar, notes, and partner related information is truly personal, so for now it's much more secure.

...No?

"Much more secure" would be not saving anything on the server that doesn't need to go there in the first place (move things and logic to the client from the server - what value does the user get from uploading everything?)

Or if this is for syncing/backup purposes, at least encrypting data on the client before with a key only available to the client before uploading the encrypted data to the server (this sounds overkill and unnecessary for the goals of this app).

User data is a (in places legal) liability for you. Handling it properly will cost you time and money. Without extracting additional value ("selling") it, it is not in your interest to centralize it.

Simple rule of thumb: If you don't strictly require it to provide service to the user, don't strictly require it from the user. For optional functionality (email reminders, server-side push) requiring server-side to collect additional information, that information and functionality should also be opt-in. This is the gist of GDPR. As you note, many companies either (obliviously or not) flaunt it or employ dark patterns or legal chicanery to maliciously comply (courts are still out on the latter in many cases).