# Dark Bio > Dark Bio builds an open platform for genomic and personal health analysis where apps are sent to the data instead of the data to apps. The Ark, a small device the person owns, holds their genome, runs those apps in a sandbox and lets the owner approve every run and every released result from their phone. Ark I is not on general sale yet. Everything linked below is public today. ## Overview - [Whitepaper](https://dark.bio/whitepaper.md): The problem, the architecture and trust model, the ecosystem it enables and its limitations (draft; PDF at https://dark.bio/whitepaper.pdf) - [GitHub](https://github.com/dark-bio): Every public repository ## Using an Ark - [Ark Hub](https://hub.dark.bio): Browser interface to a connected Ark, hardware or emulated, for enrolling, pairing, unlocking, managing datasets, updating firmware and running apps; requires WebUSB support - [Ark Companion for iOS](https://apps.apple.com/app/id6751324700): The owner's iOS phone app for pairing, unlocking and approvals - [Ark Companion for Android](https://play.google.com/store/apps/details?id=bio.dark.companion): The owner's Android phone app for pairing, unlocking and approvals ## Ark command line - [ark command line tool](https://raw.githubusercontent.com/dark-bio/cli/main/README.md): Install, pair, unlock, manage datasets, run apps, update firmware and diagnose - [ark help agents](https://raw.githubusercontent.com/dark-bio/cli/main/src/help/agents.md): Running commands, reading results and checking state from a script or an AI agent, and what only the owner can approve - [ark help output](https://raw.githubusercontent.com/dark-bio/cli/main/src/help/output.md): The stdout and stderr contracts, `--json` documents and events, exit codes and error codes - [ark help devices](https://raw.githubusercontent.com/dark-bio/cli/main/src/help/devices.md): Locators, device selection, emulators and cloud environments - [ark help states](https://raw.githubusercontent.com/dark-bio/cli/main/src/help/states.md): Pairing, locking, trust and firmware compatibility - [ark help datasets](https://raw.githubusercontent.com/dark-bio/cli/main/src/help/datasets.md): Slots, uploads, reference downloads and the cache - [ark help apps](https://raw.githubusercontent.com/dark-bio/cli/main/src/help/apps.md): The manifest, grants, the sandbox and its limits, as the Ark enforces them ## Ark Emulator - [Ark Emulator](https://raw.githubusercontent.com/dark-bio/emulator/main/README.md): Desktop app and `ark-emulator` command that boot the real ArkOS firmware in QEMU for development, testing and evaluation; not secure storage - [ark-emulator help agents](https://raw.githubusercontent.com/dark-bio/emulator/main/launcher/src/help/agents.md): Starting, listing, stopping and wiping emulators from a script or an AI agent, and handing them to `ark` - [ark-emulator help output](https://raw.githubusercontent.com/dark-bio/emulator/main/launcher/src/help/output.md): The stdout and stderr contracts, `--json` documents and events, exit codes and error codes - [ark-emulator help images](https://raw.githubusercontent.com/dark-bio/emulator/main/launcher/src/help/images.md): The image file that is the device, where it lives, its environment and identity, and wiping - [ark-emulator help registry](https://raw.githubusercontent.com/dark-bio/emulator/main/launcher/src/help/registry.md): The loopback listing of running emulators, for a client that finds them itself ## Writing apps - [Example apps](https://raw.githubusercontent.com/dark-bio/examples/main/README.md): Worked apps in Rust, Go, C and Python, one source file each, with fixtures that run them without an Ark - [Agent instructions](https://raw.githubusercontent.com/dark-bio/examples/main/AGENTS.md): The rules for writing an app and its report, in the form agents read first - [App model](https://raw.githubusercontent.com/dark-bio/examples/main/docs/01-app-model.md): The two passes, the checks, the sandbox and its limits - [Manifest](https://raw.githubusercontent.com/dark-bio/examples/main/docs/02-manifest.md): Naming the app and requesting data - [Data paths](https://raw.githubusercontent.com/dark-bio/examples/main/docs/03-data-paths.md): The data tree apps read and the rules every path follows - [Reading data](https://raw.githubusercontent.com/dark-bio/examples/main/docs/04-reading-data.md): Absence, errors, sequences and genotypes - [Running apps](https://raw.githubusercontent.com/dark-bio/examples/main/docs/05-running.md): Toolchains, fixtures, and running apps locally, on an emulator or on an Ark - [Generating reports](https://raw.githubusercontent.com/dark-bio/examples/main/docs/06-reports.md): What an app prints, its shape and its voice ## Protocol and trust - [Wire protocol](https://raw.githubusercontent.com/dark-bio/wire-rs/main/README.md): The encrypted, request oriented transport between an Ark and its host - [Wire messages](https://raw.githubusercontent.com/dark-bio/wire-rs/main/proto/wire.proto): Protobuf schema of every wire protocol request and response - [COBS](https://raw.githubusercontent.com/dark-bio/cobs-rs/main/README.md): Fast, allocation-free framing codec used by the wire (crate `darkbio-cobs`) - [Transparency reports](https://raw.githubusercontent.com/dark-bio/transparency/main/README.md): The hardware security modules and every published public key, verifiable with the included scripts ## Cryptography - [Rust](https://raw.githubusercontent.com/dark-bio/crypto-rs/main/README.md): xDSA (ML-DSA-65 with Ed25519), xHPKE (X-Wing), COSE and CWT (crate `darkbio-crypto`) - [Go](https://raw.githubusercontent.com/dark-bio/crypto-go/main/README.md): The same API surface at the same versions (module `github.com/dark-bio/crypto-go`) - [TypeScript](https://raw.githubusercontent.com/dark-bio/crypto-ts/main/README.md): WASM binding of the Rust library (npm `@darkbio/crypto`) - [Flutter](https://raw.githubusercontent.com/dark-bio/crypto-fl/main/README.md): FFI binding of the Rust library (pub.dev `darkbio_crypto`)