Data rules is an advanced feature where implementation details can have a significant impact on app performance, sync performance, as well as the design of your data model.
Please be sure to understand the constraints and implications of your data rules before deploying them to an environment with active users.
Data rules allow developers to determine programmatically (1) what data should sync to devices for offline access, and (2) what kind of read and write access a user should have to data (applies to online and offline access).
To define data rules, you need to understand the concept of data buckets:
Data rules combine the above two objectives by letting developers specify both sync rules and data ACLs in one XML file, namely data_rules.xml, which is available in OXIDE once your app has data rules enabled.