If you keep the database only local, the only way to really protect it, is the protection of the system the database is on. The password protection is false security if you do not encrypt the database. I tried it, but the option is greyed out...
Maybe this post wasn't about GDPR, but since you brought it up... TB has a functionality to share data in the cloud. Cloud will not have a copy of the database though: phone numbers and (email) addresses are not shared in the cloud, exactly because of GDPR. Put differently: if you would be sharing TB data in the cloud to sync between computers, you'd have to enter those details separately into each computer.
That said: whether or not to use Dropbox for TB data, is still (very) open for discussion.
I agree with you when you said/wrote about password protection. This reassures men, who are not aware of the dangers associated with IT. As an ex-IT professional, when I saw sqlite, which is very good for small IT projects like theocbase, I wondered if the information in the database was encrypted or not. If not, and it is the case, they are not, then in fact the management by password is all the more illusory ;-)
Encrypting the data can be done before sending the data into the database, as since sqlite has internal encryption algorithms or as modules, can be done internally to the database.
Personally, I use it under Linux. My home is encrypted. Turned off or without my session password, impossible to access data.
Another way of protection is to use an encrypted container, opened before using TB, which contains at least the base, cf software like ex-truecrypt, veracrypt and others.
Another way to share such data between several computer media is the use of software such as syncthing, as well as exit the cloud ;-)
In IT, there is always the possibility to do things differently.
PS: I would test, to see, if from the binary for Linux, I can make it work under OpenBSD :p