Sorry, but there's no way to control which team members can update certain fields. Sifter is designed to be a purely internal tool that requires users to be invited. As such, we assume that everyone is on the same team working towards the same goals.
In our experience, if some team members are setting values for priority, assignee, or other fields without following your team's established workflow, the best solution is to talk to them about how their actions can adversely affect productivity. For instance, let them know that if an issue is assigned to the wrong person, and that person is out of the office, it could delay progress on that issue.