Pico Documentation
Developer documentation for the Pico libraries
Introduction

Pico is an alternative to passwords developed at the University of Cambridge that enables a smooth and password-free login to computers, and consists of a smartphone app and associated software on your computer.

This is the developer documentation. It's not intended as end-user documentation, but if you want to build and run Pico from source as a user, you may find some of the material here usefeul. If you're a developer and want to build your own Pico applications, then this is a good place to start.

Pico is made up of several pieces. Most importantly, a smartphone app, and software that runs on your computer. The Open Source code, which is documented here, will allow you to run Pico on Android and Linux.

Click on the links below to find details about how to build, run and configure each of these.

If you want to build the whole lot, you should follow the instructions for the packages, building them in this order: android-pico, libpicobt, libpico, pam_pico (you'll notice, you don't need to build jpico as it's automatically built when you build android-pico).

Pico Documentation

To view the developer documentation for one of the Pico components, click one of the links below.

android-pico docs code Pico Android app
jpico docs code Java library for supporting Pico implementations
pam_pico docs code Pico authentication for Linux
libpicobt docs code Cross-platform Bluetooth library for the Pico project
libpico docs code C library for supporting Pico implementations

Android Component Overview

The diagram below shows how the various components of the Pico Android application interact. Select one of the links above for more information about each of the individual components.

Interaction diagram for the components that make up the Pico Android app.
Linux Component Overview

The diagram below shows how the various components of the Pico Linux authentication stack interact on Linux. Select one of the links above for more information about each of the individual components.

Interaction diagram for the components that make up Pico on Linux.
Windows Component Overview

The diagram below shows how the various components of the Pico Windows authentication stack interact. Select one of the links above for more information about each of the individual components.

Interaction diagram for the components that make up Pico on Windows.