Of all the features added in Android 6.0, Doze might be the most exciting. For years Android has struggled with battery life due to apps running in the background when they aren't supposed to, and Marshmallow could finally put a stop to it. To make sure device makers play ball, Google's Android 6.0 Compatibility Definition Document (CDD) explicitly requires Marshmallow phones to include Doze, and OEMs aren't allowed to monkey around with it.

Doze mode is Google's answer to the sometimes terrible standby time of Android devices. If a phone or tablet hasn't been used for a while, the system goes into Doze mode—apps remain asleep and wakelocks are ignored. Important cloud message pings still get through and the device wakes up briefly on occasion to sync, but that's it. Here's what Google has to say about how to implement Doze mode in Android 6.0.

8.3. Power-Saving Modes

All apps exempted from App Standby and/or Doze mode MUST be made visible to the end user. Further, the triggering, maintenance, wakeup algorithms and the use of Global system settings of these power-saving modes MUST not deviate from the Android Open Source Project.

If you go into the power optimization settings in Android 6.0, you can see which apps are exempt from Doze. On stock Android that's just Play Services and device manager, but Google will require OEMs to show users anything else they choose to exempt from Doze in that list. That doesn't necessarily mean you'll be able to remove the exemption, but you'll at least know what's been given special treatment.

Perhaps more important is the requirement that OEMs include Doze support in their Android 6.0 ROMs without changing the way it works. So, the way Doze works on Nexus devices is the way it should work on TouchWiz or Sense. Since both clauses are "MUST" statements in the CDD, OEMs have to comply if they want Google certification.