<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--
 * This Source Code Form is subject to the terms of the Mozilla Public License,
 * v. 2.0. If a copy of the MPL was not distributed with this file, You can
 * obtain one at http://mozilla.org/MPL/2.0/
 *
 * Copyright (C) 2005-2013, Peter Johnson (www.delphidabbler.com).
 *
 * $Rev$
 * $Date$
 *
 * Help topic containing program's privacy statement.
-->
<html>
  <head>
    <meta http-equiv="Content-Type" content="text-html; charset=Windows-1252">
    <title>
      Privacy Statement
    </title>
    <link rel="stylesheet" href="../css/codesnip.css" type="text/css">
  </head>
  <body>
    <object
      type="application/x-oleobject"
      classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
      <param name="ALink Name" value="PrivacyStatement">
    </object>
    <h1>
      <a id="privacy_statement" name="privacy_statement"></a>Privacy Statement
      for DelphiDabbler Codesnip
    </h1>
    <h2>
      Offline Privacy
    </h2>
    <p>
      <em>CodeSnip</em> stores some personal information in two configuration
      files. The location of the files differs depending on whether you are
      using the standard or portable edition.
    </p>
    <h3>
      <code style="text-decoration:underline;">Common.config</code>
    </h3>
    <p>
      <code>Common.config</code> is located in the in the
      <code>%ProgramData%\DelphiDabbler\CodeSnip.4</code> folder for the
      standard edition or in the <code>AppData</code> sub folder of the install
      directory for the portable edition.
    </p>
    <p>
      The data that is stored in <code>Common.config</code> includes:
    </p>
    <ul class="unspaced">
      <li>
        A unique 32 digit key based on attributes of your computer.
      </li>
      <li>
        A 32 digit registration key (registered programs only).
      </li>
      <li>
        The registered user name or nickname (registered programs only).
      </li>
    </ul>
    <p>
      The data that is used to create the hexidecimal keys cannot be recovered
      from those keys.
    </p>
    <h3>
      <code style="text-decoration:underline;">User.config</code>
    </h3>
    <p>
      <code>User.config</code> is found in the current user's
      <code>%AppData%\DelphiDabbler\CodeSnip.4</code> folder for the standard
      edition or in the <code>AppData</code> sub folder of the install directory
      for the portable edition.
    </p>
    <p>
      The file stores several user-specific application data
      settings such as your preferences. The only personal information is as
      follows:
    </p>
    <ul>
      <li>
        Any user name or email address you provided if you ever entered the
        information in a dialogue box. This is used simply to automatically
        enter the data in dialogue boxes where needed, to save you re-typing it.
        See below for details of activities that require either or both a name
        or email address to be submitted.
      </li>
      <li>
        Your user name and password if you configured <em>CodeSnip</em> to
        access the internet using a proxy server. The information is used only
        to access the proxy. Passwords are encrypted.
      </li>
    </ul>
    <h2>
      Spyware
    </h2>
    <p>
      No spyware or other software that threatens your privacy has been
      deliberately or knowingly included with <em>CodeSnip</em> or its
      installer. If the program is found to contain spyware it will have been
      added by third parties without permission. Please inform the author of any
      such occurrence or any suspicious behaviour via <a
        href="http://delphidabbler.com/contact"
        class="weblink"
        target="_blank"
      >http://delphidabbler.com/contact</a>.
    </p>
    <p>
      <em>CodeSnip</em> never tries to "phone home" of its own
      accord. It only goes online in response to user requests. Should you
      notice any unauthorised activity please inform the author since it is
      likely that your copy of the program has been hacked by some third party.
    </p>
    <h2>
      CodeSnip Online Activity
    </h2>
    <p>
      <em>CodeSnip</em> may go online for several reasons. They are:
    </p>
    <ol class="unspaced">
      <li>
        Updating the database.
      </li>
      <li>
        Registering the program.
      </li>
      <li>
        Submitting code for inclusion in the main database.
      </li>
      <li>
        Displaying the latest news in the "CodeSnip News" dialogue
        box.
      </li>
      <li>
        Checking for program updates.
      </li>
      <li>
        Importing snippets from the SWAG database.
      </li>
      <li>
        Accessing various websites via hyperlinks and menu options.
      </li>
      <li>
        Accessing the internet using a proxy server.
      </li>
    </ol>
    <p>
      The first six actions are performed directly by <em>CodeSnip</em>,
      which communicates with web services located on delphidabbler.com
      using HTTP on port 80. The seventh action simply displays web pages in a
      browser. The eighth passes user information to the proxy server.
    </p>
    <p>
      Personal data will neither be published on the DelphiDabbler website nor
      knowingly passed to third parties. Furthermore your data will only be
      used by the author for the purposes described below.
    </p>
    <h3>
      Updating the Database
    </h3>
    <p>
      This activity is started by displaying the "Update From Web"
      dialogue box and clicking its "Update from Web" button.
    </p>
    <p>
      <em>CodeSnip</em> may also check automatically, behind the scenes, to see
      if database updates are available. This usually happens just after the
      program has started. You can disable this automatic checking by using the
      "Updates" tab of the "Preferences" dialogue box which
      is displayed via the "Tools | Preferences" menu option.
    </p>
    <p>
      When <em>CodeSnip</em> contacts the update web service it sends the
      following information:
    </p>
    <ul class="unspaced">
      <li>
        The unique 32 digit program key (see Common.config above for details).
      </li>
      <li>
        Program version number.
      </li>
      <li>
        Operating system description.
      </li>
      <li>
        Internet Explorer version.
      </li>
    </ul>
    <p>
      This information is recorded in two places:
    </p>
    <ol>
      <li>
        Each transaction is recorded in a log file on the web server. This log
        is used for tracking any database errors.
      </li>
      <li>
        <div>
          A database of the program keys is updated with the following data:
        </div>
        <ul class="unspaced">
          <li>
            the number of times that program has updated the database;
          </li>
          <li>
            the first and latest version of CodeSnip having that program key;
          </li>
          <li>
            the date of the first and latest updates;
          </li>
          <li>
            the current operating system being used;
          </li>
          <li>
            the current Internet Explorer version being used.
          </li>
        </ul>
        <div>
          This database is used to provide usage information and to track the
          operating systems and browser control versions currently in use. This
          information informs development of CodeSnip.
        </div>
      </li>
    </ol>
    <p>
      This information may also be used to update the registered program
      database.
    </p>
    <p>
      None of these records store any information that can be tracked back to an
      individual.
    </p>
    <h3>
      Registering the Program
    </h3>
    <p>
      This activity is started when the user chooses to register <em>
      CodeSnip</em>. A wizard appears that guides the user through the
      registration process. The wizard displays the data that is to be sent to
      the registration web service. The data is only sent if the user clicks
      the wizard's "Submit" button. The data is:
    </p>
    <ul class="unspaced">
      <li>
        The program's id, name and version information.
      </li>
      <li>
        The unique 32 digit program key (see Common.config above for details).
      </li>
      <li>
        The user name or nickname.
      </li>
      <li>
        A description of the operating system and version of Internet Explorer
        being used.
      </li>
    </ul>
    <p>
      The registration data is recorded in a database on the DelphiDabbler web
      server. The data is only used to keep track of the number of people using
      the different versions of the program and what operating systems are being
      used. The registration web service returns a registration code to the
      program. <em>CodeSnip</em> records this code, with the user name, in
      <code>Common.config</code>.
    </p>
    <p>
      Registration information may be updated when the user updates the database
      (see "Updating the Database" above).
    </p>
    <h3>
      Submitting code to the main database
    </h3>
    <p>
      This activity is started from the <em>Snippets | Submit Snippets</em> menu
      option and data is collected using the resulting wizard. Clicking the
      <em>Submit</em> button in the wizard sends the following information to
      the <em>DelphiDabbler</em> code submission web service:
    </p>
    <ul class="unspaced">
      <li>
        The <em>CodeSnip</em> program version number.
      </li>
      <li>
        Your name, email address any comments entered in the wizard.
      </li>
      <li>
        All the snippets you chose to send.
      </li>
    </ul>
    <p>
      You can preview the data to be sent (in XML format) from the wizard. The
      XML will be stored in a file on the <em>DelphiDabbler</em> server until
      processed. The data is also emailed to the database maintainer (currently
      the author of <em>CodeSnip</em>).
    </p>
    <p>
      The snippets may be edited and published on the Code Snippets online
      database and distributed to <em>CodeSnip</em> users. Your name may be used
      to credit the snippets. Your email address will not be published and is
      used only to contact you with any queries about the submitted code.
    </p>
    <h3>
      Displaying the latest news
    </h3>
    <p>
      This action is performed by selecting the <em>Help | CodeSnip News</em>
      menu option or by clicking the "Latest News" button in the
      "Update from Web" dialogue box.
    </p>
    <p>
      <em>CodeSnip</em> simply requests an XML document containing an RSS 2.0
      news feed from the DelphiDabbler website. No personal information is
      included in the request.
    </p>
    <h3>
      Checking for program updates
    </h3>
    <p>
      This action can be started manually by clicking the "Tools | Check
      For Program Updates" menu option. The resulting dialogue box connects
      to the DelphiDabbler program update web service.
    </p>
    <p>
      <em>CodeSnip</em> may also check for updates automatically, behind the
      scenes. The same DelphiDabbler program update web is used in this case.
      The process usually happens just after the program has started. You can
      disable this automatic checking by using the "Updates" tab of
      the "Preferences" dialogue box which is displayed via the
      "Tools | Preferences" menu option.
    </p>
    <p>
      Whichever way the the web service is used the same information is sent,
      which is:
    </p>
    <ul>
      <li>
        An API key used permit access to the web service.
      </li>
      <li>
        The program's version information.
      </li>
      <li>
        The unique 32 digit program key (see Common.config above for details).
      </li>
      <li>
        A description of the operating system and version of Internet Explorer
        being used.
      </li>
      <li>
        An indication of whether the service is being called automatically or
        manually.
      </li>
    </ul>
    <p>
      This information is recorded in a log file on the DelphiDabbler web
      server. The log file is used to gather information about the operating
      systems and program versions currently in use and to monitor any web
      service errors.
    </p>
    <p>
      Regardless of the method used to contact the web service, if an update is
      available you are given the option to download it. To do this CodeSnip
      uses your default web browser to download a zip file containing the update
      from the SourceForge website. SourceForge may set cookies on your computer
      that are outside <em>CodeSnip</em>'s control.
    </p>
    <h3>
      Importing snippets from the SWAG database
    </h3>
    <p>
      Snippets are imported from the SWAG database (<a
        href="http://swag.delphidabbler.com/"
        class="weblink"
        target="_blank"
      >http://swag.delphidabbler.com</a>) using the <em>SWAG Import Wizard</em>
      that is accessed from the <em>Snippets | Import Snippets From SWAG</em>
      menu item.
    </p>
    <p>
      The wizard gets the required snippets from the REST API at
      swag.delphidabbler.com. This API is documented at <a
        href="http://swag.delphidabbler.com/docs/api/"
        class="weblink"
        target="_blank"
      >http://swag.delphidabbler.com/docs/api/</a>. No personal data is sent.
    </p>
    <h3>
      Accessing Websites via Links and Menu Options
    </h3>
    <p>
      CodeSnip's <em>Help</em> menu contains several items that cause various
      web pages from DelphiDabbler.com to be displayed in your default web
      browser.
    </p>
    <p>
      In addition, various links in the program's main display, some dialogue
      boxes and the help file access remote websites which are displayed in your
      default browser. You should refer to the relevant website's privacy
      policies to learn how they use any data you supply when visiting their
      pages.
    </p>
    <p>
      DelphiDabbler has no control over the content of linked third party
      websites and you follow such links at your own risk.
    </p>
    <h3>
      Accessing the internet using a proxy server
    </h3>
    <p>
      <em>CodeSnip</em> can be configured to use a proxy server to access the
      internet. In this case the program sends the appropriate user name and
      password to the proxy server if required.
    </p>
    <p>
      DelphiDabbler has no control over the proxy server and you should satisfy
      yourself that the proxy you use is trustworthy. You use this feature at
      your own risk.
    </p>
  </body>
</html>