I'm not sure this threat model is realistic, since I would expect an adversary to want to shutdown the entire site, instead of just censoring specific "contributors" :-).
To protect from this (and from the users becoming de-anonymized) one would likely use an anonymity network such as Tor.
The website should not be able to see that data content in ...
What I was thinking so far is as follows:
When user first logs into app, input their password along with a salt (stored in a database) to a key-derivation function to generate a
Use this hash to encrypt an AES key
Store this on a database
Firstly, make sure that the user's password has good strength. In general, this is the weakest point even there ...