<!--
    Copyright 2015 The Android Open Source Project

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->
<?cs # Table of contents for security?>
<ul id="nav">
  <li class="nav-section">
    <div class="nav-section-header">
        <a href="<?cs var:toroot ?>security/index.html">
          <span class="en">Overview</span>
        </a>
    </div>
    <ul>
      <li><a href="<?cs var:toroot ?>security/overview/kernel-security.html">Kernel Security</a></li>
      <li><a href="<?cs var:toroot ?>security/overview/app-security.html">App Security</a></li>
      <li><a href="<?cs var:toroot ?>security/overview/updates-resources.html">Updates and Resources</a></li>
      <li class="nav-section">
        <div class="nav-section-header">
          <a href="<?cs var:toroot ?>security/enhancements/index.html">
            <span class="en">Enhancements</span>
          </a>
        </div>
        <ul>
          <li><a href="<?cs var:toroot ?>security/enhancements/enhancements60.html">Android 6.0</a></li>
          <li><a href="<?cs var:toroot ?>security/enhancements/enhancements50.html">Android 5.0</a></li>
          <li><a href="<?cs var:toroot ?>security/enhancements/enhancements44.html">Android 4.4</a></li>
          <li><a href="<?cs var:toroot ?>security/enhancements/enhancements43.html">Android 4.3</a></li>
          <li><a href="<?cs var:toroot ?>security/enhancements/enhancements42.html">Android 4.2</a></li>
          <li><a href="<?cs var:toroot ?>security/enhancements/enhancements41.html">Android 4.1</a></li>
        </ul>
      </li>
      <li><a href="<?cs var:toroot ?>security/overview/acknowledgements.html">Acknowledgements</a></li>
    </ul>
  </li>
  <li class="nav-section">
    <div class="nav-section-header">
      <a href="<?cs var:toroot ?>security/bulletin/index.html">
        <span class="en">Bulletins</span>
      </a>
    </div>
    <ul>
      <li><a href="<?cs var:toroot ?>security/bulletin/2016-03-01.html">March 2016</a></li>
      <li><a href="<?cs var:toroot ?>security/bulletin/2016-02-01.html">February 2016</a></li>
      <li><a href="<?cs var:toroot ?>security/bulletin/2016-01-01.html">January 2016</a></li>
      <li><a href="<?cs var:toroot ?>security/bulletin/2015-12-01.html">December 2015</a></li>
      <li><a href="<?cs var:toroot ?>security/bulletin/2015-11-01.html">November 2015</a></li>
      <li><a href="<?cs var:toroot ?>security/bulletin/2015-10-01.html">October 2015</a></li>
      <li><a href="<?cs var:toroot ?>security/bulletin/2015-09-01.html">September 2015</a></li>
      <li><a href="<?cs var:toroot ?>security/bulletin/2015-08-01.html">August 2015</a></li>
    </ul>
  </li>
  <li class="nav-section">
    <div class="nav-section-header">
      <a href="<?cs var:toroot ?>security/authentication/index.html">
        <span class="en">Authentication</span>
      </a>
    </div>
    <ul>
      <li><a href="<?cs var:toroot ?>security/authentication/fingerprint-hal.html">Fingerprint HAL</a></li>
      <li><a href="<?cs var:toroot ?>security/authentication/gatekeeper.html">Gatekeeper</a></li>
    </ul>
  </li>
  <li class="nav-section">
    <div class="nav-section-header">
      <a href="<?cs var:toroot ?>security/keystore/index.html">
        <span class="en">Keystore</span>
      </a>
    </div>
    <ul>
      <li><a href="<?cs var:toroot ?>security/keystore/features.html">Features</a></li>
      <li><a href="<?cs var:toroot ?>security/keystore/implementer-ref.html">Implementer's Reference</a></li>
    </ul>
  </li>
  <li class="nav-section">
    <div class="nav-section-header">
      <a href="<?cs var:toroot ?>security/trusty/index.html">
        <span class="en">Trusty TEE</span>
      </a>
    </div>
    <ul>
      <li><a href="<?cs var:toroot ?>security/trusty/trusty-ref.html">Trusty API Reference</a></li>
    </ul>
  </li>
  <li class="nav-section">
    <div class="nav-section-header">
      <a href="<?cs var:toroot ?>security/encryption/index.html">
        <span class="en">Full Disk Encryption</span>
      </a>
    </div>
  </li>
  <li class="nav-section">
    <div class="nav-section-header">
      <a href="<?cs var:toroot ?>security/selinux/index.html">
        <span class="en">SELinux</span>
      </a>
    </div>
    <ul>
      <li><a href="<?cs var:toroot ?>security/selinux/concepts.html">Concepts</a></li>
      <li><a href="<?cs var:toroot ?>security/selinux/implement.html">Implementation</a></li>
      <li><a href="<?cs var:toroot ?>security/selinux/customize.html">Customization</a></li>
      <li><a href="<?cs var:toroot ?>security/selinux/validate.html">Validation</a></li>
    </ul>
  </li>
  <li class="nav-section">
    <div class="nav-section-header">
      <a href="<?cs var:toroot ?>security/verifiedboot/index.html">
        <span class="en">Verified Boot</span>
      </a>
    </div>
    <ul>
      <li><a href="<?cs var:toroot ?>security/verifiedboot/verified-boot.html">Verifying Boot</a></li>
      <li><a href="<?cs var:toroot ?>security/verifiedboot/dm-verity.html">Implementing dm-verity</a></li>
    </ul>
  </li>
</ul>
