Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Software design patterns for supporting privacy.
CSS Python
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
Mockups
hyde @ 1d6c2fd
icon possibilities Category icons are now background-images in CSS rules. Adding new ico…
site
.gitignore
.gitmodules
README.md
markdown_to_hyde.py Amended markdown_to_hyde.py to copy principles directory into site/co…
test test commit

README.md

The Privacy Patterns Project

Privacy represents a broad variety of concerns — subjective, contextual, hard-to-define — that real people have about the flows of personal information. Location-based services provide a key example: a growing field that uses potentially sensitive data, where adoption has been held back by privacy concerns.

Translating these concerns (as well as corporate and legal liability) into technical artifacts — a process known generally as "privacy-by-design" — has proven difficult. How can we best convert lawyer speak into engineering speak? How can problems be elegantly anticipated early in the development process?

Drawing inspiration from Christopher Alexander and the success of software design patterns in improving communication about tried-and-true practices, we hope privacy patterns will:

  • standardize language for privacy-preserving technologies
  • document common solutions to privacy problems
  • help LBS designers identify and address privacy concerns

We're currently compiling a first draft of some patterns to get things started, but our goal is for this to be a living document constructed by the community of engineers, designers, lawyers and regulators involved in this topic.

Contribution Instructions

All of the patterns and principle definitions live in the Wiki section of the code repository. To make any changes or additions to the content of privacypatterns.org, you must modify the files in the Wiki.

Prereqs: You will need to be signed in to Github. If you need a Github account, sign up for one here.

  1. Go to the list of Patterns or Principles, which live in the privacypatterns Wiki.

  2. Click the name of the Pattern or Principle you would like to edit.

  3. Click the "Edit Page" button at the top of the page (note: pages must be Markdown format).

  4. Make your modifications.

  5. When you are done, write a short message explaining the changes you made and why. Then, click "Save".

Developer Instructions

  1. To sync the contents of the Hyde submodule in your local copy of the repository:

    git submodule init
    
    git submodule update
    
  2. To create HTML templates from Gollum wiki markdown files:

    python markdown_to_hyde.py -s [path/to/wiki/patterns] -d [path/to/site/contents/patterns]
    

    Default configuration assumes that the privacypatterns.wiki repository is a sibling to the privacypatterns repo, in which the markdown_to_hyde.py script lives.

  3. To generate the static HTML files using Hyde:

    python hyde.py -g -s path/to/site
    

    The resulting files are located in path/to/site/deploy.

  4. To deploy to the live site (must be merged with the repo on the privacypatterns.org server first, which is what the "pull" command does. There is no need to generate the site before pushing to the server, the server will regenerate it):

    git remote add deploy git@privacypatterns.org:~/privacypatternsweb.git
    
    git pull deploy master
    
    git push deploy master
    
Something went wrong with that request. Please try again.