Which user does the Rules module execute as? I've set up a rule which is triggered by "after saving a new user account". This rule simply sends an e-mail. The e-mail contains various tokens, one of them is the field [account:field_country].

I've enabled "custom permission" for this field, and through the Field Permissions module I've configured the following permissions :

All users (selected permissions):


Create own value for field Country
View own value for field country. 


Moderators (all permissions) : 


Create own value for field Country
Edit own value for field Country. 
Edit anyone's value for field country. 
View own value for field Country. 
View anyone's value for field Country. 


The problem is : the [account:field_country] gets replaced with an empty string when the rule sends the e-mail. Only when I let all users View anyone's value for field Country does the rule properly replace the token with the actually selected country value.

Why do I need to do this? Which user does the rule module run as since the rule apparently need to View anyone's value for field Country to be able to get the value for that field.
And here is a module that could assist:

Rules switch user


  This module adds two new Rules actions:
  
  
  Switch to another user
  Switch back from another user
  
  
  These actions could be useful when you have an operation that you want
  an unprivileged user to use but it fails because the user doesn't have
  sufficient permissions.


Create a fictitious user with sufficient permissions and switch to this user when performing the Rules action and switch back again when done.

EDIT This answer is just a workaround and does not speak to the question directly, namely why the current permissions doled out are not allowing the Rule to execute successfully.