All you need to store server-side is "this user has the badge until date X".
Sure, but espionage and surveillance are rarely about proving anything, they're about making good educated guesses. Besides, the receiver will very likely be among your friends and acquaintances, so the NSA would only have to look at your social circle to find them.
display_badge_until
Store no payment info.
One of my friends who just jumped ship to Signal this week said in his first Signal message to me that he wished he’d “bought some shares” in Signal when I first told him about it...
The first challenge is getting people to join the platform.
The second challenge is educating them on how it’s actually funded... (ie NOT by pimping out your personal data for shareholder benefit).