Is there a way to make content read only?

So in general, throwing errors in “before” lifecycles should stop the transaction.