When you create a client with the Nest Developer program, we'll allocate your client with a limit of 50 unique user tokens. When you hit this limit, you'll need to submit your product to Nest for review and approval to obtain access to more unique user tokens. 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 client (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 the correct camera state will be rejected.
8.4. Products that do not provide the correct deterrence state will be rejected.
8.5. Products that enable emergency response functionality, life-safety, or
other critical use services based on the deterrence state will be rejected.
8.6. Products should clearly notify users on deterrence actions that can
cause any kind of physical impact.
8.7. Products that do not handle cameras with or without Nest Aware
subscriptions will be rejected.
8.8. Products that do not handle deep linking to home.nest.com properly will
be rejected.
8.9. Products that do not handle deep linking to the Nest app properly will be
rejected.
8.10. Products that turn Nest Cam on or off (enable or disable streaming)
without user confirmation will be rejected.
8.11. Products that continue to store Customer Data (images, GIFs, links,
deterrence data) after
the user revokes
the Nest authorization will be rejected.
8.12. Products that continue to store Customer Data (images, GIFs, links,
deterrence data) after
the URLs expire will be rejected.
8.13. Products that continue to store Customer Data (images, GIFs, links,
deterrence data) after
the producing camera is removed from the Nest account will be rejected.
8.14. Products that notify users about camera / deterrence events must notify
users within seconds of the event, or may be rejected.
8.15. Products that send notifications that duplicate Nest native notifications
will be rejected.
8.16. 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 Works with Nest 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 Developer Terms of Service
- Marketing and Branding Guide
- User Interface Guide
- User Experience Guide
- Any other agreements between you and Nest
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, 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.