Save to/Load from DB and stuff the data in a perspective session custom property. Load on session startup or login. Write on change, or maybe on session shutdown.
Correct. To make it sticky, save/load from the DB.
I'd say this is much easier and more transparent than diving into using SDK functions, especially if you get another engineer who knows nothing about the project/customization data. (That's my opinion anyways). It would also essentially 'live' in only one or two places, the session startup handler and the user id value change event, as opposed to every component that needed some sort of customization.
You could have a structure something alo…