Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Passport

Your information. Your choice of what to share.

Passport is an independent, open-source personal-information vault from Toll Bench. It encrypts information in your browser and lets you export selected information as a separately encrypted package. The standalone application runs locally without an account, AI provider, telemetry or cloud storage. A separate hosted client connects encrypted storage to an authenticated host through an isolated frame.

Status: 0.1.0a11 released, reference alpha. Not independently security-audited. Includes the standalone reference application and a separate hosted client component. Use sample information while evaluating it. Standalone behavior is unchanged. See hosted embedding and security responsibilities.

Run it

Install the published release: python -m pip install toll-passport==0.1.0a11, then toll-passport serve. See the verified release receipt.

Python 3.9 or later and a current browser with Web Crypto and IndexedDB are required. From a source checkout:

python3 -m venv .venv
. .venv/bin/activate
python -m pip install .
toll-passport serve

Open http://127.0.0.1:8765. Keep that exact address and port: browser storage is scoped to its origin. A different port or localhost is a different storage location. Install a released wheel with python -m pip install path/to/toll_passport-0.1.0a11-py3-none-any.whl. A GitHub release does not imply availability on PyPI; check the release notes.

Standalone capabilities

  • Create a vault with an automatically generated encryption key.
  • Save notes, structured answers, optional labels and multiple files locally.
  • Find saved answers for an exact subject and task context, review their source and age, and explicitly fill the local answer form.
  • Encrypt titles, tags, filenames and contents before writing browser storage.
  • Lock and unlock using a separate recovery file.
  • Export an encrypted backup and restore it into another browser.
  • Select exact fields from an exact record version; preview and export an independently encrypted sharing package.
  • Open a received sharing package locally and save it in your vault.
  • Remove records or remove the local vault; existing exported copies remain.

The contact information itself can be stored as information. CRM workflows, contact lists, goals, action packs, recurrence, agent dispatch, marketplace payments and reputation belong to Toll Bench and are outside this project.

Recovery and storage

Creation automatically requests a recovery-file download. Store that file securely, separately from your encrypted backups. It contains the key that unlocks the entire vault. Export a new encrypted backup after changes. Recovery requires both the backup and recovery file if browser storage is lost. No operator can reset a lost key. Browser storage can be cleared, evicted or unavailable; it is not a backup.

The unlocked key is kept in page memory, not IndexedDB, localStorage or the Python server. Refreshing, closing or locking the page requires the recovery file again. A compromised device or browser extension may read unlocked information. This alpha has no passkeys, OS keychain integration, password protection or multi-device synchronization.

Files are limited to 25 MiB each; the encrypted snapshot is limited to 100 MiB. Base64 encoding, metadata and versions consume some of that space. The local server only serves five static assets on loopback and accepts no uploads. It is not a remote deployment server.

Sharing

Only explicitly selected fields are copied into a release. The original vault key is never used as the sharing key. Download the encrypted package and its separate package key, then deliver them through appropriate separate channels. The standalone application sends nothing. This download flow is separate from hosted item and question disclosure channels.

The recipient and purpose are authenticated package metadata, not verified recipient identity or access control. Anyone possessing the package and key can decrypt it. Downloads cannot be recalled, revoked or made to expire. The optional hosted channels release explicitly approved copies to an authenticated host. The host implements verified recipient authorization, grants, expiry and future-read revocation; the public client is not that authority. See selected item sharing and the integration boundary.

Optional question labels

A question-producing application may suggest a stable question key. Subject, task reference and reuse scope come from trusted owner context. The reference UI accepts optional labels including unfamiliar ones. Recognized labels can find saved answers for matching context; the owner reviews candidates and explicitly chooses an answer to fill the form. Missing labels never prevent saving, fail an agent or affect a score. Answers remain private until selected for release. Hosted applications can supply bounded authenticated questions through the optional channels; intake and delivery authorization remain the host’s responsibility. Question metadata contract.

Development

Runtime code has no third-party package dependencies: Python standard library and browser Web Crypto only. No third-party JavaScript or fonts are loaded.

python -m pip install build twine
python -m build
python -m twine check dist/*
python -m pip install dist/*.whl
python -m unittest discover -s tests -p 'test_*.py' -v
node --test tests/*.test.mjs

Node 22 is used for core tests. Browser checks use Playwright as a development-only dependency; see verification. CI tests and builds the distributable. Publishing is a separate manual, tag-bound workflow with PyPI Trusted Publishing; it requires account-side setup described in releasing.

Ownership and attribution

Copyright 2026 Steven Ochs and Tollbench. Created for Toll Bench. Licensed under Apache-2.0; preserve NOTICE with redistributions as applicable. This license applies to Passport's included source, not the private Toll Bench application or its trademarks. See third-party notices and citation metadata.

This is newly authored Passport code. No Ente, Bitwarden or proprietary Toll Bench implementation was copied. Cryptographic primitives are supplied by Web Crypto; this is not a new encryption algorithm. See security and format before extending the reference implementation.

Hosted capabilities

The optional batch question channel supports private drafts and uploads followed by explicit disclosure to one named recipient. Trusted fixed panels let a host add its own encrypted-book UI without publishing its business features. These interfaces do not grant agents access to the vault.

The optional deterministic topic catalog supports private entity-specific answer reuse with editable question chips and the existing Send action. Unknown hints do not fail questions or grant access to saved information.

The optional item picker and local source import helper support exact note/file selections, fixed folder snapshots, private uploads and repeat-safe source records. Encrypted intent persistence precedes explicit release. Item grants, operator flows, goals, CRM, connectors and provider-specific import conversion remain host features. Imported prose never silently becomes a classified fact.

Your hosted information library

Opening a hosted book first shows its actual state. A new book generates a key in your browser and waits for you to save the recovery file. An existing book asks for that original file to unlock. Loading and storage errors never look like an empty book.

After unlocking, browse actual notes, files and saved answers in one library. Search matches titles and tags locally; type filters do not classify or infer information. Expand an item to read it, download its files, remove it or choose exactly what to share. Add information and upload controls remain visible; the manual saved-answer form and recovery/export settings are secondary. No material is automatically imported from other services. See the hosted UI contract.

Metadata

Release files for toll-passport 0.1.0a12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for toll-passport 0.1.0a12
File Size Uploaded Provenance
toll_passport-0.1.0a12.tar.gz 125.1 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for toll-passport 0.1.0a12
File Interpreter ABI Platform
toll_passport-0.1.0a12-py3-none-any.whl Python 3 none any Details

Total release size: 201.7 kB

Release files / toll_passport-0.1.0a12.tar.gz

Download URL toll_passport-0.1.0a12.tar.gz
Size 125.1 kB
Tags Source
SHA-256 checksum
How to use checksums
4fb5971a98f910f13b40f5fda540d4592829386046a0fb31de1817467579b3ab
BLAKE2b-256 checksum
How to use checksums
b6b0c85ab233a267efc944e1737fd1c557e7551bf6dc35472a39097301f00d90
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

Release files / toll_passport-0.1.0a12-py3-none-any.whl

Download URL toll_passport-0.1.0a12-py3-none-any.whl
Size 76.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3db6d3cdd7502a2d37f62a0ffbd19ae00cbb3aead3e3285d3962dafcb5cc4522
BLAKE2b-256 checksum
How to use checksums
89550382c4e0f153b9490c6c8f11c259372970c69c81960c9654ec8d92e39b94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

Security for toll-passport 0.1.0a12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for toll_passport-0.1.0a12.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page