If a stream (or card) is flagged as containing spoilers, a reader must opt-in to see it.
That would be fairly easy to implement. From a data model point of view, it's just a relation of stream (or card) and user and a boolean. Or you could even drop the boolean and have the existence of the tuple in the relation be enough.