How can I prevent users from seeing other users' contracts within the same business unit?
Add the user who should see the contract (User A) to the contracts team for that contract. Ensure others aren't on the team for that contract. Keep in mind that any user who's above User A in the resource hierarchy can see User A's contracts.