An approver group, which may approve edited pages.
Both groups (in this case they can't approve their own changes).
No group (in this case they are just readers of the content).
When an author edits a page, the page goes into an editing in progress state.
When viewing an editing in progress page, an author is presented with an option to submit the page for review.
This puts the page into the waiting for approval state.
Members of the approver group have access to a page in Confluence that automatically lists the pages in
waiting for approval state.
When visiting a waiting for approval page, an approver is presented with options to accept or reject the changes.
If they accept the changes, the page goes to the accepted state, where pages spend most of their life;
otherwise it goes to the rejected state.
Members of the author group have access to a page in Confluence where they can see all the pages that they edited,
that have been rejected, or are waiting for approval. They don't see pages other authors have edited.
When visiting a page in the rejected or waiting for approval state, an author has the option to withdraw the change,
which moves the page to the accepted state, and rolls back to the most recent approved version.
When an author edits a page in the rejected state, it moves to the editing in progress state.
We also might want to show customers the most recently approved version of a page, not the one currently under review.
Without core Confluence changes, the best we can do is to show users a banner which says "This content is being reviewed.
The most recent approved content is here".