---
layout: page
title: Apache Karaf - Privacy
permalink: /privacy
---

<main role="main">

  <!-- Marketing messaging and featurettes
  ================================================== -->
  <!-- Wrap the rest of the page in another container to center all the content. -->

  <div class="container">

    <!-- CONTRIBUTE -->
    <div class="row mb-5 mt-5">
        <div class="col">
          <h2 class="pb-3 mb-4 font-italic border-bottom"><i class="fas fa-eye"></i> Privacy Policy</h2>
          <p>Information about your use of this website is collected using server access logs and a tracking cookie. The collected information consists of the following :</p>
            <ol>
                <li>The IP address from which you access the website</li>
                <li>The type of browser and operating system you use to access our site</li>
                <li>The date and time you access our site</li>
                <li>The pages you visit and</li>
                <li>The addresses of pages from where you followed a link to our site.</li>
            </ol>

          <p>
            Part of this information is gathered using a tracking cookie set by the <a href="http://www.google.com/analytics/">Google Analytics</a> service and handled by Google as described in their <a href="http://www.google.com/privacy.html">privacy policy</a>. See your browser documentation for instructions on how to disable the cookie if you prefer not to share this data with Google.<br/>
            <br/>
            We use the gathered information to help us make our site more useful to visitors and to better understand how and when our site is used. We do not track or collect personally identifiable information or associate gathered data with any personally identifying information from other sources.<br/>
            <br/>
            By using this website, you consent to the collection of this data in the manner and for the purpose described above.
          </p>
        </div>
    </div>
</main>
