Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


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.


Official Privly Reference Implementation Content Server - Stores Information for Private Viewing of Content Via Any Website







No packages published