View on GitHub

Passport Online

Passport enterprise server

Passport

Passport is a way for creators to build space on the Internet for themselves and their fans. That space can be anywhere, and for anything:

Most importantly, Passport is open source: creators can build a relationship with their fans that is truly theirs, forever.

How Passport Works

Passport at its core is a user entitlement management system.

The users subscribe to offerings the creator configures. The creator will interact with user over a variety of channels and services. Access to these services are maintained through the entitlements.

Architectural Components

The primary components at the core of Passport include:

The secondary components of Passport that enable 1st and 3rd party services include:

Concepts

This is a high level overview of the main components of Passport.

Audiences

Users are segmented using Audiences. Audiences are used to target specific user groups for email and SMS delivery and grant access to specific articles via Podcast and RSS. An Audience can contain a set of Categories to include or exclude, include conditions on the subscription status, or user attributes.

Articles

Content that is distributed to users is an article. The article can be managed in a CMS such as WordPress using the Passport WordPress Plugin, or via the Articles API. Article content is typically text based.

Assets

Assets are content that is not text based - such as images, video and audio files.

Distributions

A Distribution is an engagement between creator and member based on an Article. _Distributions facilitate delivering an Article to members of an Audience. Distributions can deliver content via Email, SMS, Podcasts and RSS Feeds. Future distribution channels could include social, messaging services, and video providers.

Templates

When a Distribution is delivered to a user a template engine executes on the attributes of the Article, User, and users Subscription. Templates can be highly customized and tailored to the specific medium or client it is rendered with.

Plans

Plans are the most important concept of Passport. A plan represents a set of entitlements that can be purchased or assigned to a user. When a user subscribes to a Plan that user is granted access to a set of entitlements. The entitlements can be a set of Article Categories, a set of Distribution channels for those Categories, a specific Article or Asset or a set of OAuth user permissions (Permission Scopes) for third party services. The Plans can be free, paid, recurring, or lifetime. Plans can be for an individual user, support corporate or group pricing.

Categories

The category is the atomic element that bridges Plans, Entitlements and Articles together. For example, when an Article and Asset is distributed as a podcast, it will be made available to a set of users via an Audience. That Audience will contain a set of Categories that map to a single or set of Plans. Categories need not be unique to a particular Plan. For instance, a creator may make one Plan (plan A) available for the public to purchase for a monthly fee. The same Categories in plan A may also be contained in another plan B made availble at a specific corporate rate, or for free to friends and family. This allows the creator to segment his users not by the Plans, but by the common Categories between several plans.

Integrations

An Integration will grant API access to applications such as WordPress, Spotify, Discourse, or any other OpenID based service or application.

Running Passport

Instructions for running Passport using Docker can be found here.

Also available is an AWS AMI, for running Passport on an AWS EC2 instance.