I have always given users View All and Modify All permissions because it was crucial that every employee could see all data in our org. However, we have begun using Approval Processes as sort of multi-step-workflow so that we can track our business processes, and the Modify All permission is allowing people who are not assigned a step in the process to (mostly accidentally) approve/reject a step that they should have had nothing to do with.
What is the best way to prevent users from seeing the Approve/Reject button(I assume I need to get rid of the Modify All permission) without preventing users from viewing and editing any record that they need to see?
EDIT: Because of the way a previous administrator implemented the system, our default sharing for several objects is 'Private'. Will changing this to Public/Read Write fix this problem? Will it create any new problems I should be aware of ahead of time?