we could make the PublishWorkflowExtension have a constructor argument for who may publish and inject the security context. it should be quite simple. we can default to `ROLE_CAN_PUBLISH` or some similar specific role.