Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Annex B library with synthetic sample drives Annex B preparing a drive video Annex B download and preparation states Annex B device and SSH key settings

Annex B

Annex B is a local-only iPhone, iPad, and Mac app for browsing, downloading, preparing, playing, and saving road-camera video directly from a compatible comma device over SSH/SFTP.

  • No Annex B account, analytics, cloud relay, or remote proxy.
  • Read-only remote access; the app does not expose SFTP mutation operations.
  • Trust on first use with pinned SSH host keys; a changed host key is a hard stop.
  • App-generated SSH private keys are stored in a ThisDeviceOnly Keychain item.
  • Optional setup sync uses iCloud Keychain only for the Ed25519 seed, trusted profile, and complete host-key pin; drive data and preferences stay local.
  • Synthetic Sample Drives make the core workflow usable without hardware.

Annex B is not affiliated with or endorsed by comma.ai, Inc. comma and openpilot are trademarks of comma.ai, Inc.

Requirements

  • macOS with Xcode 26.6 or newer
  • iOS, iPadOS, or macOS 26.0 or newer
  • Swift 6.2 or newer
  • FFmpeg build prerequisites used by scripts/vendor/build-ffmpeg-xcframework.sh

Build

Generate the ignored FFmpeg XCFramework before the first build:

scripts/vendor/build-ffmpeg-xcframework.sh

Then open AnnexB.xcodeproj and build the AnnexB or AnnexBMac scheme. The public project does not select an Apple development team. Choose your own team and, for a signed device build, bundle identifiers available to that team.

Dependency pins, source hashes, license details, and the reproducible FFmpeg and zstd inputs are recorded in Vendor/manifests/PINS.md.

Tests

Run the package tests with:

swift test --package-path Packages/AnnexBKit

Tests under LiveCommaTests are opt-in and require a separately supplied local device host and SSH identity. They remain read-only. The default test run uses synthetic fixtures and does not contact a comma device.

Synthetic media

The bundled Sample Drives and their source inputs contain generated imagery, fictional route metadata, and derived video—not real route media or comma logs. Their complete checksum inventory is Vendor/manifests/SAMPLE-MEDIA.sha256.

Regenerate and verify them with the pinned tool versions:

scripts/generate-sample-drive.sh
scripts/verify-sample-drive.sh

Website

The static Next.js website under website/ contains the public privacy, support, license, and FFmpeg compliance pages for annexb.app.

cd website
yarn install --frozen-lockfile
yarn run check

License

Annex B is available under the MIT License. Third-party components and assets remain subject to their respective terms; see Vendor/manifests/PINS.md and the website license page.

About

🚙

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages