Back in Ye Olde Days of text terminal based Usenet readers, most of them (nn, rn, tin, alpine and so on) would maintain a .newsrc file which had your subscriptions and a list of which messageIDs had been read, which could be used by any newsreader. Optionally having such a file up in iCloud would be awfully nice for those of us using text newsgroups, it would be rather unwieldy for binary. But you could choose to include only the groups that the user wants to be synced.
According to https://www.opennet.ru/docs/FAQ/soft/newsreaders/nn-getting-started.html it looks like this:
Date: 05 May 1995 04:32:00 GMT
Subject: ... ... 4.3.2 Your .newsrc File
Your .newsrc file, which resides in your home directory (~), is used
by most Unix newsreaders, including nn, to keep track of what
newsgroups you are subscribed to and what articles you've read.
Lines in the .newsrc file look like this:
group1.name: m-n,p-q
group2.name!
A colon (:) after the newsgroup name means you are subscribed and a
exclamation point (!) means you are unsubscribed. The numbers are
articles, or ranges of articles, that you've read.
(I'll buy another couple of licenses for this feature 😃 )