Skip to content
phon-tPublic

About

A browser like never before!

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

Kitawa / Sovereign

Rust foundation for the Sovereign browser and its sov:// network. Primary repository: phon-t/Kitawa.

Phase 1 implements cryptographic identities and SOV/1.0 transport. The registry, resolver, privacy firewall, plugins, CLI, and graphical browser are planned in later phases. There is no browser launch command yet.

Build and test

Install stable Rust and the native linker/build tools for your platform, then run:

cargo check --workspace
cargo test --workspace
cargo fmt --all -- --check
cargo clippy --workspace --all-targets -- -D warnings

Tests start real QUIC endpoints on ephemeral localhost UDP ports and clean them up automatically. No registry service, TLS CA, or fixed port is required. The first build needs crates.io access. Keep Cargo.lock versioned for reproducibility.

For a self-contained Phase 1 demonstration, start a host, fetch its page over pinned QUIC, print the verified response, and shut down both endpoints:

cargo run -p sov-protocol --example local_fetch

The demo shares an ephemeral owner pin directly with the client. Registry lookup is Phase 2.

Crates

  • sov-crypto: Ed25519 identities, BLAKE3, canonical signed domain records, deterministic self-signed certificates, and registry public-key pinning.
  • sov-protocol: bounded SOV/1.0 frames, authenticated QUIC client/server, static files, and an asynchronous RequestHandler extension point for dynamic routes.

Read MASTERPLANT.md for the full specification, PROGRESS.md for verified milestones, and docs/SOV-1.0.md for the transport contract.

Trust and deployment assumptions

The caller supplies a trusted owner public key; Phase 2 will obtain this from a verified registry record. Never accept a key merely because a server advertises it. TLS authenticates the pinned key and its handshake proof. Response signatures authenticate status, content type, and body, but are not independently bound to a URL or freshness timestamp; request/response association relies on the authenticated QUIC stream.

The static host serves a dedicated, trusted public directory. Do not put secrets there or let an untrusted local process modify it while serving. Canonical path containment prevents remote traversal and existing symlink escapes; it does not eliminate local filesystem races. Default memory budgets are per frame and concurrency limits multiply them; tune limits to deployment resources.

Phase 1 does not provide anonymity, tracker blocking, a rendering sandbox, registry revocation, or cross-platform release validation. Network peers can observe IP addresses, timing, and traffic sizes. See PROGRESS.md for the platforms actually tested.

Local agent instruction files, editor state, build output, logs, databases, environment secrets, and private key files are ignored. Build plans, source, tests, documentation, and the lockfile belong in the repository.

About

A browser like never before!

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages