I have read the CDD and found that it is just a bunch of rule that one has to follow when building an android for a specific device. However, I can to wonder what is the scope where CDD requirements must be met. 1) is it just within the scope of android software 2) or does it also include the external hardware of the final product? (like the plastic encasing of the actual hardware product) Here's an example. Currently I'm developing a device using Lollipop 5.1. I have read the CDD for this version and have a question regarding the "Navigation Keys" mentioned in section "7.2.3 Navigation Keys". The CDD states "All other types of device implementations MUST provide the Home and Back functions." Regarding the visibility of these buttons, it also statesevice implementations MAY use a distinct portion of the screen to display the navigation keys, but if so, MUST meet these requirements: Device implementation navigation keys MUST use a distinct portion of the screen, not available to applications, and MUST NOT obscure or otherwise interfere with the portion of the screen available to applications. Device implementations MUST make available a portion of the display to applications that meets the requirements defined in section 7.1.1. Device implementations MUST display the navigation keys when applications do not specify a system UI mode, or specify SYSTEM_UI_FLAG_VISIBLE. Device implementations MUST present the navigation keys in an unobtrusive “low profile” (eg. dimmed) mode when applications specify SYSTEM_UI_FLAG_LOW_PROFILE. Device implementations MUST hide the navigation keys when applications specify SYSTEM_UI_FLAG_HIDE_NAVIGATION. now my question arises if these conditions need to be only met in the 'display' and not in the overall external hardware. To make my question clearer, here is a figure to help your understanding of my question. Assume there is a display panel that allows the conditions mentioned above to be met perfectly. It does have home and back buttons and its visibility is guaranteed. However, the final hardware device that I am developing hides the buttons to fit my purpose. An example of such implementation could be simply masking the display to show only a small proportion of the display to the end user by overlaying a windowed cased on top of the display. This way, the end user will not be able to touch or see the home/back buttons. Surely, this situation is not compromising the CDD in 'software' aspect but it is in 'hardware' perspective. However, is the CDD only requiring the developer to meet its conditions only in the 'software' realm or also in the end product hardware realm as well?