Make AMPB Firefox-first

This commit is contained in:
jwinterm
2026-07-07 16:51:32 -04:00
parent f0ffc039d1
commit 8a96957f62
13 changed files with 145 additions and 18 deletions
+16 -8
View File
@@ -1,6 +1,6 @@
# Architecture
> Status: draft | Updated 2026-07-05 | Applies to: AMPB contributors and integrators
> Status: draft | Updated 2026-07-07 | Applies to: AMPB contributors and integrators
AMPB is a browser orchestration layer for privacy, resilient-network, content-addressed,
and alternate-web transports. It keeps the routing, transport management, and profile
@@ -29,14 +29,22 @@ isolation decisions outside the browser engine until those contracts are stable.
## Browser Strategy
The first implementation should be a launcher and profile manager, not a browser-engine
fork. Tor Browser, Mullvad Browser, Firefox profiles, Chromium profiles, terminal Gemini
clients, local IPFS gateways, and future Reticulum-native viewers can all sit behind the same route and
transport contracts.
The first implementation should be Firefox-first without becoming a browser-engine fork
immediately. AMPB should control a hardened Firefox runtime, AMPB-owned profiles,
transport proxy policy, native transport setup, and health checks while the orchestration
contracts become stable.
The long-term browser can become more integrated once the orchestration surface is boring:
profile isolation is reliable, transport adoption is predictable, and generated fixtures
from AMPG can be opened without manual proxy setup.
Tor Browser compatibility is the high bar for `.onion` browsing. AMPB must not claim Tor
Browser equivalence until it tracks the relevant Tor Browser hardening, fingerprinting,
proxy, and update behavior. Chromium or CEF can remain a prototype fallback, but it is not
the main privacy-browser strategy.
The long-term browser can become a deeper Firefox or Tor Browser fork once the
orchestration surface is reliable: profile isolation is predictable, transport adoption is
boring, and generated fixtures from AMPG open without manual proxy setup.
Generated backend metadata lives in
[generated browser strategy](generated/browser-strategy.md).
## Relationship To AMPG
+4 -2
View File
@@ -1,6 +1,6 @@
# Autodocs
> Status: draft | Updated 2026-07-05 | Applies to: AMPB maintainers
> Status: draft | Updated 2026-07-07 | Applies to: AMPB maintainers
Public docs should stay concise and current. Code-owned behavior is documented from code,
while manual docs explain stable concepts and operator-facing choices.
@@ -19,7 +19,9 @@ Check for drift:
python3 -m ampbrowser docs generate --check
```
Generated files live under `docs/generated/` and must not be edited by hand.
Generated files live under `docs/generated/` and must not be edited by hand. They cover
route rules, active transports, browser backend strategy, adapter contracts, candidate
transports, and platform capabilities.
## Manual Docs
+2 -2
View File
@@ -1,6 +1,6 @@
# Configuration
> Status: draft | Updated 2026-07-05 | Applies to: AMPB users and package maintainers
> Status: draft | Updated 2026-07-07 | Applies to: AMPB users and package maintainers
AMPB should work without a config file for common local setups. Explicit configuration is
for changing defaults, pinning binary paths, choosing managed state directories, and
@@ -27,7 +27,7 @@ Example configs live under `examples/`.
```toml
[browser]
default_engine = "system"
default_engine = "hardened-firefox"
state_dir = ".ampb"
[transports.tor]
+13
View File
@@ -0,0 +1,13 @@
# Generated Browser Strategy
> Status: generated | Updated by `python3 -m ampbrowser docs generate` | Applies to: AMPB
This file is generated from code. Do not edit it by hand.
| Backend | Role | Status | Platforms | Launch Mode | Privacy Posture | Note |
| --- | --- | --- | --- | --- | --- | --- |
| `hardened-firefox` | primary web runtime | `planned` | desktop, android | managed profile, policy, and native transport launcher | strong baseline; track Firefox ESR and Tor Browser hardening choices | Default AMPB web runtime before a full browser fork. |
| `tor-browser-compatible` | tor-hardened target | `planned` | desktop, android | adopt, launch, or fork after transport contracts are stable | highest Tor web target; do not claim equivalence until Tor Browser patches are tracked | Path toward real Tor Browser-grade behavior for .onion browsing. |
| `webkit-ios-shell` | ios runtime | `planned` | ios | native shell with embedded transports and isolated web views | platform constrained; avoid clearnet fallback and isolate transport state | Required for App Store-style iOS builds outside special browser-engine entitlements. |
| `gemini-native-viewer` | alternate-web viewer | `planned` | desktop, android, ios | built-in fetch and render path | no web engine or shared browser storage required | Used for Gemini and similar lightweight document transports. |
| `chromium-cef` | prototype fallback | `fallback` | desktop | profile launcher only when Firefox path is blocked | not a Tor Browser privacy baseline | Allowed for experiments, but not the main privacy-browser strategy. |