Yes - we specifically implemented the ability for developers to set whether it’s stored locally or on the server, and I know that the data for one little-known feature is in fact stored on the server already
Appended is a list to get started on deciding what should be device-specific and what should be account specific. This list is not “everything” you can imagine you might want stored on the server, but it’d be a good start: I think it’s “every preference you have”.
We also need to be ready for the question “which of these should the user be able decide where are they stored for themselves, and if any: how do they control that?”
ai-review-enabled
ai-review-use-score
ai-summary-table-show
always-disable-analysis
asked-to-enable-desktop-notifications
auto-advance-after-submit
autoplay-delay
board-labeling
chat.show-all-global-channels
chat.show-all-group-channels
chat.show-all-tournament-channels
chat.user-sort-order
chat-mode
desktop-notifications
desktop-notifications-require-interaction
dock-delay
double-click-submit-correspondence
double-click-submit-live
variation-stone-transparency
variation-move-count
visual-undo-request-indicator
dynamic-title
function-keys-enabled
game-list-threshold
goban-theme-black
goban-theme-board
goban-theme-white
goban-theme-black_stone_url
goban-theme-white_stone_url
hide-ranks
label-positioning
label-positioning-puzzles
language
move-tree-numbering
new-game-board-size
notification-timeout
notify-on-incident-report
hide-incident-reports
hide-claimed-reports
observed-games-page-size
observed-games-viewing
observed-games-filter
observed-games-force-list
one-click-submit-correspondence
one-click-submit-live
profanity-filter
puzzle.randomize.color
puzzle.randomize.transform
puzzle.zoom
rating-graph-always-use
rating-graph-plot-by-games
show-all-challenges
show-unranked-challenges
show-ranked-challenges
show-19x19-challenges
show-13x13-challenges
show-9x9-challenges
show-other-boardsize-challenges
show-rengo-challenges
show-move-numbers
show-offline-friends
show-seek-graph
show-ratings-in-rating-grid
show-tournament-indicator
show-tournament-indicator-on-mobile
show-variation-move-numbers
show-slow-internet-warning
sound-voice-countdown-main
sound-voice-countdown
sound.volume.master
sound.countdown.tick-tock.start
sound.countdown.ten-seconds.start
sound.countdown.five-seconds.start
sound.countdown.every-second.start
sound.countdown.byoyomi-direction
sound.vibrate-on-stone-placement
sound.positional-stone-placement-effect
supporter.currency
supporter.interval
tournaments-tab
tournaments-show-all
translation-dialog-dismissed
translation-dialog-never-show
unicode-filter
variations-in-chat-enabled
start-in-zen-mode
show-empty-chat-notification
chat-subscribe-group-chat-unread
chat-subscribe-group-mentions
chat-subscribe-tournament-chat-unread
chat-subscribe-tournament-mentions
mute-stream-announcements
mute-event-announcements
table-color-default-on
game-history-size-filter
game-history-ranked-filter
help-system-enabled
sgf.sort-order
sgf.sort-descending