Product Review Guidelines

When you register a product with the Nest Developer program, we'll allocate your product with a limit of 50 unique Nest accounts. When you hit this limit, you'll need to submit your product to Nest for review and approval to obtain access to more Nest accounts. Products submitted for review should be production quality and ready for launch. Make sure that you provide complete delivery and testing instructions when requesting any review.

1. Functionality

1.1. Products that do not use the official Nest API will be rejected.
1.2. Products that crash will be rejected.
1.3. Products that exhibit user-visible bugs with significant functional impact will be rejected.
1.4. Products that do not provide users with clear error messaging when actions fail, describing the reason for failure, will be rejected.
1.5. Products that do not provide error handling, including rate limiting, will be rejected.
1.6. Products that make bundled calls, requesting several changes simultaneously, may be rejected because bundled calls can cause unexpected behavior.
1.7. Products that do not work with Nest, as described by the developer will be rejected.
1.8. Products that include undocumented or hidden features inconsistent with the description of the product, or the permissions requested, will be rejected.
1.9. Products that are "demo," "trial," or "test" versions will be rejected. Beta apps will be considered. Products that support multiple platforms (for example, iOS, Android, and a web site) should submit all supported platforms at the time of review. Products that do not submit all supported platforms for review may be rejected.
1.10. Products that are not useful or unique, or do not provide any lasting value, such as providing a more complete view of a user's home or added functionality apart from what Nest provides, may be rejected.
1.11. Products that are primarily marketing materials or advertisements with no additional value to users will be rejected.
1.12. Products that provide incorrect or other inaccurate device data will be rejected.
1.13. Products that do not pass Nest Product Review after multiple attempts may be rejected, removed from the Works with Nest Developer Program if the product was previously approved, and may be prohibited from making future submissions.
1.14. Products that retain (by any medium or mechanism) Customer Data received from the Nest API beyond 10 trailing days from the date when the data is received and stored will be rejected (see III. Prohibitions - 2).
1.15. Products that share Customer Data with third parties without consent from Nest will be rejected (see III. Prohibitions - 3).
1.16. Products that allow simultaneous control of Nest devices across multiple Nest accounts may be rejected (see III. Prohibitions - 4).
1.17. Products that perform demand response or other energy management programs will be rejected (see III. Prohibitions - 5).
1.18. Products that purport to enable connected Nest devices, a customer's Nest account, or collected Customer Data to provide interruption-free emergency response, notification services, life-safety, or other critical use services, will be rejected (see III. Prohibitions - 6).
1.19. Products that evaluate users or their property, individually or in aggregate for insurance or other financial products and services, will be rejected (see III. Prohibitions - 7).
1.20. Products that breach the terms and conditions governing the use of any Nest product or service will be rejected (see III. Prohibitions - 8). 1.21. Firebase is not recommended. Integrations that run on Firebase might be rejected.

2. Branding and User Interface

2.1. Products that contain UI elements that copy or closely resemble those in the Nest apps will be rejected.
2.2. Products containing unapproved icons and images that copy or closely resemble those in Nest devices may be rejected.
2.3. Products containing unapproved Nest icons and images may be rejected.
2.4. Products that use the Nest logo in place of the Works with Nest badge may be rejected.
2.5. Products that alter or use the Works with Nest badge in ways that do not adhere to the guidelines for WWN badge use will be rejected.
2.6. Products that use Nest device icons to represent a Nest structure, or use the Nest house icon to represent UI elements other than a Nest account or Nest structure, may be rejected.
2.7. Products that use Nest Blue (HEX #00AFD8) for UI elements other than approved Nest icons and images may be rejected.
2.8. Products that use altered Nest device icons or Nest device icons in ways that do not adhere to the product icon use guidelines may be rejected.
2.9. Products that advertise Works with Nest integration and use case functionality that is not accurate, or makes claims which cannot be substantiated, will be rejected.
2.10. Products that do not follow the guidelines for use of the phrase "Works with Nest" will be rejected.
2.11. Products that use Nest product imagery in ways that do not adhere to the guidelines for product image use will be rejected.
2.12. Products that use Nest trademarks and Nest product names in ways that do not adhere to the guidelines for Nest trademark and Nest product name use will be rejected.

3. Metadata (name, descriptions, permissions, and so on)

3.1. For corporate customers, developer accounts need to be created using a generic or shared corporate email address, and a company employee's name. This is to ensure that the Nest Developer Terms of Service have been agreed to by a real person with authority to bind the corporate entity, but yet allow flexibility of access to the developer account. For individual developers this may not be possible and a personal email may be used.
3.2. Products with placeholder text, in name, description, permissions, or any other value will be rejected.
3.3. Products with names, descriptions, or permissions not relevant to the functionality of the product will be rejected.
3.4. Products with names, product literature, or promotional materials that are misleading, confusing, trademarked, or copyright protected will be rejected.
3.5. Products that have permissions that don't match the functionality offered by the products will be rejected.
3.6. Products that recommend that users disable any Nest product functionality may be rejected.
3.7. Products that do not have a valid working Support URL will be rejected.
3.8. Products that appear to copy UI elements from other apps may be rejected.

4. Authorization

4.1. Products that do not have correctly implemented authorization to a Nest account may be rejected.
4.2. Products that do not securely store and transmit access tokens, authorization codes, and client secrets will be rejected.
4.3. Products that include the ability to log out or disconnect from Nest must use the deauthorization API to notify Nest of disconnect.
4.4. Products should use external browsers instead of embedding browsers within the product when requesting end-user authorization. Products that use embedded browsers (iframes) will be rejected.
4.5. Nest provides the ability for a user to remove a Works with Nest connection.
Products that do not handle this revoked authorization by reverting to a disconnected state and removing all Nest user data will be rejected.
4.6. Products that do not handle permission upgrades and client versioning will be rejected.
4.7. Products may be deactivated for various operational reasons. When a product is inactive, it will become unusable. Products that do not provide support for an inactive product (for example, proper user error messaging) will be rejected.
4.8. Products that force users to reauthorize, after authorization has already been established, will be rejected.

5. Structures/Homes

Nest accounts provide users the ability to manage multiple homes and adjust their Away state. Products should support Nest accounts that may contain one or more homes. Some products may be linked to only one Nest home. In these cases, developers must provide users the ability to select the appropriate home. Once linked, developers must provide support for changes in homes, including addition and removal of homes, and updates to home data (for example home names). The following guidelines cover the requirements for handling Nest accounts that may have multiple homes.

5.1. Products that do not accommodate the possibility of multiple homes will be rejected.
5.2. Products that do not provide a user a way to select the appropriate home for linking (for example, a structure picker) will be rejected.
5.3. Products that do not reflect home data updates (for example, home names or addition/subtraction of homes) within seconds after the update may be rejected.
5.4. Products that cannot support multiple homes, each containing multiple devices of the same or different types, will be rejected.
5.6. Products that cannot support empty homes (structures), or a combination of empty and non-empty homes, will be rejected.
5.7. Products that do not support separate Home/Away structure states, for each associated structure in a Nest account, will be rejected.
5.8. Products that modify Home/Away state automatically without user confirmation or direct user action will be rejected.

6. Nest Learning Thermostat

The Nest API is designed to allow Works with Nest products to control the HVAC system through the Nest Learning Thermostat without disrupting Nest algorithms or surprising the user with unexpected behavior.

6.1. Products that instruct the user to turn off sensors and learning features of the Nest Learning Thermostat will be rejected.
6.2. Products that trigger thermostat updates without user interaction (for example, triggers and rules), and do not provide an indicator of any action that failed, will be rejected.
6.3. Products that do not maintain temperatures, setpoints and ambient, in sync with the actual device temperatures, within seconds, may be rejected.
6.4. Products that do not handle multiple thermostats in one or multiple structures may be rejected.
6.5. Products that do not update when thermostat data updates will be rejected.
6.6. Products that do not support all possible thermostat modes, for example Heat, Cool, Heat-Cool, Off, Eco, may be rejected.
6.7. Products that do not handle the effects of Home/Away states on thermostats will be rejected.
6.8. Products that provide fan functionality and do not support starting and stopping of a fan timer will be rejected.
6.9. Products that do not display and update, within seconds of updates, correct thermostat locations and names, will be rejected.
6.10. Products that do not support the correct thermostat minimum and maximum temperature range will be rejected.
6.11. Products that do not support heat-cool mode may be rejected, unless proper messaging is provided to the user.
6.12. Products that do not support locked thermostats, either through error handling or locked fields, will be rejected.

7. Nest Protect

The Nest API provides information on alarm status (smoke and carbon monoxide), battery health, plus information on the current connectedness of the device (online status).

7.1. Products that aggregate Nest Protect alarm data from multiple Nest accounts, or share alarm data with third parties (for example, for emergency monitoring or response), will be rejected.
7.2. Products that do not use the appropriate color indicators (matching the Nest convention) for Nest Protect alarms may be rejected.
7.3. Products that do not react to Nest Protect alarms within seconds of a received alarm may be rejected, including updating alarm displays, sending notifications, or executing action triggers.
7.4. Products that do not support multiple Nest Protects in one or multiple structures will be rejected.
7.5. Products that do not update Nest Protect names or locations, within seconds of updates, may be rejected.

8. Nest Cam + Dropcam

The Nest API provides the ability to know if the camera is online and actively streaming, if audio is enabled, and detailed information about the last sound or motion event.

8.1. Products that do not support multiple cameras in one or multiple structures will be rejected.
8.2. Products that do not display and update correct camera names and locations will be rejected.
8.3. Products that do not display correct camera state will be rejected.
8.4. Products that do not handle cameras with or without Nest Aware subscriptions will be rejected.
8.5. Products that do not handle deep linking to home.nest.com properly will be rejected.
8.6. Products that do not handle deep linking to the Nest app properly will be rejected.
8.7. Products that turn Nest Cam on or off (enable or disable streaming) without user confirmation will be rejected.
8.8. Products that continue to store Customer Data (images, GIFs, links) after the user revokes the Nest authorization will be rejected.
8.9. Products that continue to store Customer Data (images, GIFs, links) after the URLs expire will be rejected.
8.10. Products that continue to store Customer Data (images, GIFs, links) after the producing camera is removed from the Nest account will be rejected.
8.11. Products that notify users about camera events must notify users within seconds of the event, or may be rejected.
8.12. Products that send notifications that duplicate Nest native notifications will be rejected.
8.13. Products that store data after the subscription ends, after deauthorization, or after device/structure removal will be rejected.

Note

This document represents our best effort to share how we review WWN products submitted for approval. We hope it serves as a helpful guide as you develop and submit your apps and integrated interfaces. This is a living document that will be updated as we are presented with new apps, implementations, and situations.

As a developer of products for the Works with Nest program, you are bound by the following guides:

Nest's approval of your product does not waive any Nest rights under these agreements. These guidelines are intended to assist you in gaining acceptance for your product through the Works with Nest Product Review process (also known as Client Review), and not to amend or remove provisions from any other agreement.

Nest reserves the right to interpret and apply these guidelines at Nest's sole discretion, and to change the interpretation or application of these guidelines at any time, including during the Product Review process.