Disallow role from reordering records

I want to disallow certain roles from reordering records, either where records have a specific drag-and-drop order, or when records are in a tree.

On certain sites, reordering records in some models can totally break the site, e.g. if the user decides to move a crucial About page to the top level, or move a top-level page to be nested at the bottom. It could happen by accident.

I want the user to be able to edit these pages, but the structure must be immutable.