<html>
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"/>
    <title>New incognito window</title>
  </head>
  <body>
    <p><strong>You've gone incognito</strong>. Pages you view in this window
      won't appear in your browser history or search history, and they won't
      leave other traces, like cookies, on your device after you close the
      incognito window. Any files you download or bookmarks you create will be
      preserved, however.</p>

    <p><strong>Going incognito doesn't affect the behavior of other people,
      servers, or software. Be wary of:</strong></p>

    <ul>
      <li>Websites that collect or share information about you</li>
      <li>Internet service providers or employers that track the pages you visit</li>
      <li>Malicious software that tracks your keystrokes in exchange for free smileys</li>
      <li>Surveillance by secret agents</li>
      <li>People standing behind you</li>
    </ul>
  </body>
</html>
