Official Privly Reference Implementation Content Server - Stores Information for Private Viewing of Content Via Any Website
Ruby JavaScript HTML CSS
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
bin migrated files with rake rails:update Dec 18, 2015
db increased length of invitation token in database Dec 19, 2015
lib fixed cron task for destroying burnt content Sep 14, 2013
public updated privly-applications to develop Jan 6, 2016
vendor added jquery ui styling. It needs some work. Jan 17, 2012
.gitattributes updated gitmodules reference to point at smcgregor Nov 4, 2014
.gitignore updated installation instructions Sep 30, 2013
.travis.yml updated ruby version in .travis.yml file to 2.2.4 Jan 3, 2016 updated API documentation to include registration endpoint Mar 10, 2015
Capfile updated Capfile and deploy scripts Dec 28, 2015
Gemfile Added test-unit to gemfile for selenium tests Jan 21, 2016
Gemfile.lock updated gems Feb 3, 2016
MIT-LICENSE updated license year Jul 23, 2013
README updated installation README Apr 13, 2013
README.mkd updated test coverage badge to Dec 29, 2015
Rakefile initial commit Dec 22, 2011 initial commit Dec 22, 2011



Privly is a developing set of browser extensions for protecting content wherever it is posted on the internet. It allows users to view content on any website, without the host site being able to read the content. This content server is meant to store content for users with a Privly extension, but it also provides support for extension-less operation using the Privly Applications.

For more information on what Privly is, read about us.

Development Status


Build Status Dependency Status Code Climate Coverage Status

The Privly-Web content server is currently maintained by Sean McGregor, on behalf of the Privly Foundation.

About this Content Server

This server currently supports:

  • All the applications found in the Privly Applications repository.
  • Serialized JSON storage for any text content.

Server API

Read about the API.

Development Server Installation


  • Ruby 2+
    • To check what version of Ruby you are running, type ruby --version in your terminal
    • To update/install Ruby, check out the Ruby website
  • Bundler

These shell commands step through a standard installation.

# Clone this repository and the privly-applications repository.
# The `--recursive` flag ensures you get the privly-applications
# repository.
git clone --recursive
cd privly-web

# You need to setup a database. For a development install you should use
# option 1 since you will not need to setup MySQL.
# Option 1: SQLite.
    cp config/database.yml.sqlite.example config/database.yml
    emacs Gemfile # or use the editor of your choice on gemfile
    # uncomment the gemfile line: gem 'sqlite3'
    # comment the gemfile line: gem 'mysql2'
# Option 2: MySQL.
  cp config/database.yml.mysql.example config/database.yml
  # Edit the database.yml file appropriately

# Run installation scripts
bundle install #Installs the required gems, you may need to add "sudo" in front of command
rake db:create #Creates the Database
rake db:schema:load #Loads the Scheme
rake db:seed #Seeds the DB
rails server #Starts the server

Managing Users

The seed file (run with rake db:seed) will create several users for you in development, including:,, All these accounts have the same password, password. Use the admin account to login to the admin interface found at /admin. Use the development or demonstration accounts for other purposes.

User Account States
User accounts could be in one of several states:

  1. Signed up for an invitation: When a user submits their email to the invitation form, they do not automatically get an active account. You can invite the user via the administrative interface, or a user who has invitation credits can invite the user at a later date.
  2. Invited: A user who has been invited by an administrator or a user with invitation credits has been "invited." They need to verify their email address before they may begin creating content.
  3. Can Post: The user can create content on the server. This is usually the state after the user has verified their email address and has paid whatever toll they need to support hosting expenses.
  4. Can't Post: In order to create new content on the server, a user must have posting permission. You will only generally use this option if the user is abusing the content server or not contributing enough to hosting costs. There is no option for locking a user account completely, because they should maintain access to content they have already created.

Retrieving User Account Activation Tokens for Development Server
You can retrieve emails by examining the web server's log that is usually printed in the console that launched the web server.

Testing/Submitting Bugs

If you have discovered a bug, only open a public issue on GitHub if it could not possibly be a security related bug. If it is an urgent issue, please email We will then fix the bug and follow a process of responsible disclosure if it is a security bug.

Developer Documentation

Developers should start with the development guide. We also have a central wiki and a blog.


Foundation Home
Privly Project Repository List
Development Mailing List
Testing Mailing List
Announcement Mailing List
Central Wiki
Production Content Server
Development Content Server
Download Extension


Community [the 'at' sign]

PO Box 79
Corvallis, OR 97339

Contact the Nick "smcgregor" on #privly

If you open an issue on this repository, you'll get someone's attention.