From 3c7dca0b5e82a8140be6b7bdc5c3799252c7d5a7 Mon Sep 17 00:00:00 2001 From: Don Beckham Date: Tue, 23 Jun 2026 01:33:23 -0500 Subject: [PATCH 1/2] Add reference documentation suite Add docs/ reference set (architecture, configuration, operations runbook, security model, API reference) with a docs index, plus a CONTRIBUTING guide and a CHANGELOG. Link the docs from the README. --- CHANGELOG.md | 43 ++++++++++ CONTRIBUTING.md | 77 ++++++++++++++++++ README.md | 17 +++- docs/API.md | 126 +++++++++++++++++++++++++++++ docs/ARCHITECTURE.md | 184 ++++++++++++++++++++++++++++++++++++++++++ docs/CONFIGURATION.md | 93 +++++++++++++++++++++ docs/OPERATIONS.md | 127 +++++++++++++++++++++++++++++ docs/README.md | 23 ++++++ docs/SECURITY.md | 118 +++++++++++++++++++++++++++ 9 files changed, 806 insertions(+), 2 deletions(-) create mode 100644 CHANGELOG.md create mode 100644 CONTRIBUTING.md create mode 100644 docs/API.md create mode 100644 docs/ARCHITECTURE.md create mode 100644 docs/CONFIGURATION.md create mode 100644 docs/OPERATIONS.md create mode 100644 docs/README.md create mode 100644 docs/SECURITY.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..90ecdb0 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,43 @@ +# Changelog + +Notable changes to Beckham Share, newest first. The project follows a simple +pre-1.0 scheme; dates are when the change reached `main`. + +## Unreleased + +### Added +- Full reference documentation under `docs/`: architecture, configuration, + operations runbook, security model, and API reference, with a docs index and + a `CONTRIBUTING` guide. + +## 2026-06-23 + +### Added +- Troubleshooting write-up for the Android upload "microphone" prompt, plus a + standalone file-picker diagnostic page kept for reference (#10). + +### Fixed +- CI: use a writable `DATA_DIR` for the end-to-end job and stop duplicate + workflow runs. + +## 2026-06-22 + +### Added +- **Initial release.** Upload a file and share it by an opaque UUID link with a + configurable expiry; copy-to-clipboard and email actions. +- Public landing page with a constrained anonymous upload (size cap, rate limit, + short auto-expiry, IP + fingerprint audit trail). +- Identity-gated workspace: OIDC sign-in against Authentik, restricted to the + `dropbox` group at the IdP and re-checked in-app. +- Server-side "email this link" over SMTP, restricted to signed-in members; + anonymous visitors fall back to a `mailto:` link. +- Per-link management: change expiry, revoke, delete; download counting. +- Brand logo and favicon. +- Three-layer automated test suite (backend integration, browser E2E, live + smoke + configuration check) with continuous integration on every push and + pull request, plus `docs/TESTING.md`. + +### Fixed +- Sign-in failure caused by an empty `grant_types` on the OIDC provider; the + Authentik setup script now sets them explicitly and the smoke test guards it. +- Share modal that could open stuck and uncloseable. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..2f32c51 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,77 @@ +# Contributing + +Thanks for working on Beckham Share. This guide covers local setup, the workflow, +and the conventions a change is expected to follow. + +## Local setup + +```sh +python -m venv .venv && . .venv/bin/activate +pip install -r requirements.txt +pip install -r requirements-dev.txt # test + tooling deps + +# Point DATABASE_URL at a local Postgres (or run the compose db service), then: +uvicorn app.main:app --reload +``` + +The landing page, anonymous uploads, share pages, and downloads all work without +OIDC configured. Only the `/app` workspace requires Authentik — see +[Configuration](docs/CONFIGURATION.md) for the `OIDC_*` variables. + +## Workflow + +- **Never commit or push to `main`.** Branch, push, open a pull request, merge, + then delete the branch. +- **One focused change per pull request.** Keep diffs reviewable. +- **Use issues for tracking.** File bugs with the `bug` label and planned work + with `enhancement`. Reference the issue from the PR. +- Branch names describe the change, e.g. `add-download-analytics`, + `fix-share-modal`. + +## Tests are part of the change + +A feature is not done until its real behavior is covered by an automated test — +"the endpoint returns 200" is not "the feature works". Pick the layer that fits +(full detail in [docs/TESTING.md](docs/TESTING.md)): + +- New route or business rule → a **backend** test (`tests/backend`, pytest). +- New button / component / page interaction → a **browser E2E** test + (`tests/e2e`, Playwright) so the rendered behavior is covered. +- New deploy-time invariant (a hostname, a provider setting) → a check in + `scripts/smoke.sh`. + +Run the relevant suite before opening a PR: + +```sh +sh scripts/run-tests.sh # backend integration (throwaway Postgres) +sh scripts/run-e2e.sh # browser end-to-end (throwaway local instance) +``` + +CI runs the backend and E2E layers on every push and pull request; the PR must be +green before merge. + +## Conventions + +- **Configuration goes through `app/config.py`.** Don't read `os.environ` + elsewhere; add a typed setting and document it in + [docs/CONFIGURATION.md](docs/CONFIGURATION.md). +- **Keep the access tiers explicit.** Public, member, and infra routes are + distinct; member routes must check `in_required_group`. +- **Never expose the original filename in a URL or path.** Use the UUID; restore + the name only in `Content-Disposition`. +- **Secrets never enter the repo.** `.env`, `secrets/`, and host-specific files + are gitignored; document new settings with safe placeholders in `.env.example`. +- **Update the docs with the code.** A change that adds a route, a setting, or an + operational step updates the matching document under `docs/`. +- Match the surrounding code's style; keep functions small and the modules' + single responsibilities intact (see [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)). + +## Project layout + +``` +app/ FastAPI application (routes, models, auth, storage, templates, static) +caddy/ reverse-proxy route snippet for the shared Caddy front +scripts/ deploy, secret generation, Authentik setup, test runners +tests/ backend (pytest) + e2e (Playwright) suites +docs/ architecture, configuration, operations, security, API, testing +``` diff --git a/README.md b/README.md index dd6d1c1..88861c5 100644 --- a/README.md +++ b/README.md @@ -109,11 +109,24 @@ sh scripts/run-e2e.sh # browser end-to-end tests (throwaway local instance) sh scripts/smoke.sh # post-deploy checks against the live deployment ``` +## Documentation + +Full reference documentation lives in [`docs/`](docs/README.md): + +- [Architecture](docs/ARCHITECTURE.md) — components, request flows, data model. +- [Configuration](docs/CONFIGURATION.md) — every environment variable. +- [Operations](docs/OPERATIONS.md) — deploy and the day-two runbook. +- [Security](docs/SECURITY.md) — auth, abuse controls, threat model. +- [API reference](docs/API.md) — every HTTP route. +- [Testing](docs/TESTING.md) — the three test layers. +- [Contributing](CONTRIBUTING.md) · [Changelog](CHANGELOG.md) + ## Project layout ``` app/ FastAPI application (routes, models, auth, storage, templates, static) caddy/ reverse-proxy route snippet for the shared Caddy front -scripts/ deploy, secret generation, Authentik setup -docs/ project notes +scripts/ deploy, secret generation, Authentik setup, test runners +tests/ backend (pytest) + e2e (Playwright) suites +docs/ architecture, configuration, operations, security, API, testing ``` diff --git a/docs/API.md b/docs/API.md new file mode 100644 index 0000000..3150aa6 --- /dev/null +++ b/docs/API.md @@ -0,0 +1,126 @@ +# API reference + +Every HTTP route exposed by the application, grouped by access tier. Routes are +defined in [`app/main.py`](../app/main.py). The interactive OpenAPI docs +(`/docs`, `/redoc`) are intentionally disabled. + +Auth tiers: + +- **Public** — no authentication. +- **Member** — requires a valid OIDC session **and** membership in the + `REQUIRED_GROUP` (`dropbox`). Otherwise `403`. +- **Infra** — health/operational endpoints. + +## Public — pages + +### `GET /` +The landing page. If the request already has a valid member session, redirects to +`/app` (302). Otherwise renders the public upload page. + +### `GET /s/{token}` +Human-facing share page for a link: filename, size, expiry, and copy / email +actions. Returns `404` if the link is unknown or its file was deleted, `410` if +the link has expired. + +### `GET /d/{token}` +Downloads the file bytes for a link. Increments the link's `download_count`. +Restores the original filename via `Content-Disposition`. Returns `404` if +missing/deleted, `410` if expired. + +## Public — anonymous upload + +### `POST /api/anon-upload` +Constrained, account-free upload from the landing page. + +**Body** (`multipart/form-data`): + +| Field | Type | Notes | +|---|---|---| +| `file` | file | **Required.** The upload. Capped at `ANON_MAX_UPLOAD_BYTES`. | +| `fp` | string | Optional client-computed fingerprint hash. | +| `fp_data` | string | Optional JSON bundle of raw fingerprint signals. | + +**Responses:** + +- `200` — `{ ok: true, token, share_url, filename, size, expires_at }`. The + anonymous link expires after `ANON_SHARE_EXPIRY_HOURS`. +- `413` — `{ ok: false, error }` when the file exceeds the anonymous size cap. +- `429` — `{ ok: false, error }` with a `Retry-After` header when the client is + over its hourly or daily budget (keyed by IP **or** fingerprint). + +Every call writes an `upload_events` audit row (IP, UA, fingerprint). See +[Security](SECURITY.md). + +## Authentication + +### `GET /login` +Starts the OIDC Authorization Code flow (redirects to Authentik). Redirects to +the canonical host first if reached on a non-canonical hostname. Returns `503` if +OIDC is not configured. + +### `GET /auth/callback` +OIDC redirect target. Exchanges the code for tokens, reads `userinfo` (including +the `groups` claim), stores the identity in the session cookie, and redirects to +`/app`. On failure, renders a friendly error page with status `400`. + +### `GET /logout` +Clears the session and redirects to `/`. + +## Member — workspace & file management + +### `GET /app` +The authenticated workspace: the signed-in member's files, each with its share +link, expiry, download count, and management actions. Redirects to `/login` if +unauthenticated; renders a `403` "not authorized" page for a signed-in +non-member. + +### `POST /api/files` +Upload a file as a member. + +**Body** (`multipart/form-data`): + +| Field | Type | Notes | +|---|---|---| +| `file` | file | **Required.** Capped at `MAX_UPLOAD_BYTES`. | +| `expiry_hours` | int | One of `SHARE_EXPIRY_OPTIONS_HOURS`; invalid values fall back to the default. | +| `fp`, `fp_data` | string | Optional fingerprint signals (recorded on the audit row). | + +**Responses:** `200` `{ ok: true, ...file_row }`; `403` if not a member; `413` if +over the size cap. + +### `POST /api/shares/{token}/expiry` +Change a link's expiry. Body: `expiry_hours` (must be an allowed option; `400` +otherwise). Clears any prior revocation. Owner-only (`404` for a token the caller +doesn't own). Returns `{ ok: true, token, expires_at }`. + +### `POST /api/shares/{token}/revoke` +Revoke a link immediately (it then reads as expired). Owner-only. Returns +`{ ok: true }`. + +### `DELETE /api/files/{file_id}` +Soft-delete a file and remove its blob from disk. Owner-only (`404` otherwise), +member-gated (`403` otherwise). Returns `{ ok: true }`. + +### `POST /api/shares/{token}/email` +Send the share link by email via the server-side SMTP relay. Body: `to` (the +recipient). **Members only** — anonymous visitors use a `mailto:` link instead, +so the public share page can't be turned into a spam relay. + +**Responses:** `200` `{ ok: true }`; `403` for non-members; `404` if the link is +missing/expired; `503` `{ ok:false, reason:"email_not_configured" }` if SMTP is +unset; `502` `{ ok:false, reason:"send_failed" }` on a send error. + +## Infra + +### `GET /healthz` +Returns `{ status: "ok" }`. Used by the container health check and the smoke +test. Hidden from the schema. + +## Conventions + +- JSON API endpoints return `{ ok: true, ... }` on success and `{ ok: false, + error | reason }` on handled failures, with an appropriate HTTP status. +- The only identifier in any public URL is the share-link `token` (a UUID). File + IDs appear only in member-authenticated management calls. +- All cookies are `Secure`, `HttpOnly` is managed by Starlette's session + middleware, and `SameSite=Lax`. diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md new file mode 100644 index 0000000..385cee4 --- /dev/null +++ b/docs/ARCHITECTURE.md @@ -0,0 +1,184 @@ +# Architecture + +Beckham Share is a small FastAPI service backed by PostgreSQL, fronted by the +host's shared reverse-proxy and identity infrastructure. This document describes +the moving parts, the request flows, and the data model. + +## 1. Components + +``` + https://share.beckham.ai + https://dropbox.beckham.ai (redirect → share) + https://buckets.beckham.ai (redirect → share) + │ + ▼ + ┌─────────────────────────────────────────────────────┐ + │ HAProxy (public :443, SNI routing, PROXY protocol) │ + └─────────────────────────────────────────────────────┘ + │ real client IP preserved + ▼ + ┌─────────────────────────────────────────────────────┐ + │ idp-caddy (shared Caddy front; issues TLS certs) │ + └─────────────────────────────────────────────────────┘ + │ reverse_proxy + ▼ + ┌───────────────────────────────────────────────────────────────┐ + │ beckham-share-app : 8000 (FastAPI / Uvicorn, this repo) │ + │ │ + │ routes ── auth (OIDC) ── storage ── fingerprint ── ratelimit │ + └───────────────────────────────────────────────────────────────┘ + │ │ + │ SQLAlchemy │ file blobs + ▼ ▼ + ┌──────────────────┐ ┌────────────────────────┐ + │ PostgreSQL (db) │ │ share-data volume │ + │ metadata + audit │ │ {data_dir}/blobs/ │ + └──────────────────┘ └────────────────────────┘ + + Authentication: app ──OIDC (Authorization Code)──▶ Authentik (auth.beckham.ai) + Email (members): app ──SMTP STARTTLS──▶ relay (mail.eigbox.net) +``` + +Two containers are defined in [`docker-compose.yml`](../docker-compose.yml) under +the project name `beckham-share`: + +- **app** — the FastAPI application. Renders the UI, handles uploads, share + links, downloads, the OIDC login flow, and the audit trail. +- **db** — PostgreSQL 16, holding file/link metadata and the upload-event audit + log. It stays on a private Docker network with no host port exposure. + +The app attaches to two networks: the **external `idp_proxy`** network (created +by the `idp` project) so the shared `idp-caddy` front can route to it, and an +**internal** network shared only with the database. + +### Application modules + +| Module | Responsibility | +|---|---| +| [`app/main.py`](../app/main.py) | FastAPI app, HTTP routes, request orchestration. | +| [`app/config.py`](../app/config.py) | Typed settings loaded from the environment (`pydantic-settings`). | +| [`app/db.py`](../app/db.py) | Engine, session factory, `Base`, table creation. | +| [`app/models.py`](../app/models.py) | ORM models: `File`, `ShareLink`, `UploadEvent`. | +| [`app/auth.py`](../app/auth.py) | OIDC client, session user, group-membership check. | +| [`app/storage.py`](../app/storage.py) | Streaming blob storage on the local volume. | +| [`app/fingerprint.py`](../app/fingerprint.py) | Client IP, UA parsing, fingerprint hashing. | +| [`app/ratelimit.py`](../app/ratelimit.py) | Rolling-window anonymous-upload limits. | +| [`app/emailer.py`](../app/emailer.py) | Server-side "email this link" over SMTP. | +| `app/templates/`, `app/static/` | Jinja2 templates and the front-end assets. | + +## 2. Access tiers + +Every route falls into one of three tiers (see [API reference](API.md) for the +full list): + +1. **Public, anonymous** — the landing page (`/`), the anonymous upload endpoint + (`/api/anon-upload`), and the public share/download routes (`/s/{token}`, + `/d/{token}`). No account required; constrained by the abuse controls. +2. **Authenticated member** — the workspace (`/app`) and the file-management API + (`/api/files`, expiry/revoke/delete, server-side email). Requires a valid + OIDC session **and** membership in the `dropbox` group. +3. **Infrastructure** — `/healthz`, used by the container health check and smoke + tests. + +## 3. Request flows + +### Anonymous upload (the first-order feature) + +``` +Browser app db / disk + │ POST /api/anon-upload │ │ + │ (multipart: file, fp) │ │ + │ ─────────────────────────▶ │ │ + │ │ compute fingerprint │ + │ │ check_anonymous() ─────────▶ count recent events + │ │ (429 if over budget) │ + │ │ stream to {data}/blobs/id ─▶ blob written, sha256 + │ │ insert File + ShareLink ──▶ rows committed + │ │ record UploadEvent ───────▶ audit row + │ ◀───────────────────────── │ │ + │ { token, share_url, ... } │ │ +``` + +The response carries a `share_url` of the form `BASE_URL/s/`. The original +filename is **not** in the URL — it is stored in the database and restored only +in the download's `Content-Disposition` header. + +### Member sign-in (OIDC Authorization Code) + +``` +/login ─▶ redirect to Authentik authorize endpoint + ◀─ user authenticates, Authentik enforces the `dropbox` application binding +/auth/callback ─▶ exchange code for tokens, read userinfo (incl. `groups` claim) + ─▶ store {sub, email, name, groups} in the signed session cookie + ─▶ redirect to /app +``` + +`/app` re-checks the `groups` claim as an in-app backstop; non-members get a +403 "not authorized" page. Because the session cookie is bound to one host, the +auth routes always run on the canonical host (`BASE_URL`); requests arriving on +`dropbox.` or `buckets.` are redirected there first (`ensure_canonical_host`). + +### Download + +``` +GET /d/{token} ─▶ look up ShareLink ─▶ 404 if missing/deleted, 410 if expired + ─▶ increment download_count + ─▶ FileResponse(blob, filename=original_name) +``` + +`/s/{token}` is the human-facing share page (file name, size, expiry, copy / +email actions); `/d/{token}` is the raw byte stream. + +## 4. Data model + +Three tables, defined in [`app/models.py`](../app/models.py): + +### `files` +The uploaded blob and its metadata. The primary key is a UUID that **doubles as +the on-disk storage key** and is never exposed in a URL. A `NULL` `owner_sub` +marks an anonymous (landing-page) upload. `expires_at` is a hard expiry for the +blob itself (anonymous uploads always get one); `deleted` is a soft-delete flag. + +### `share_links` +A UUID-addressed link to a file — the `token` is the only identifier that ever +appears in a URL. A link is considered expired (`is_expired`) when it is +`revoked`, past its `expires_at`, or has reached an optional `max_downloads`. +`download_count` is incremented on every successful download. + +### `upload_events` +One row per upload attempt — the abuse-review audit trail. Captures `ip`, +`user_agent`, `accept_language`, a stable `fingerprint` hash plus the raw +`fingerprint_data` bundle, and a parsed UA breakdown (`ua_browser`, `ua_os`, +`ua_device`). The rate limiter counts these rows; see [Security](SECURITY.md). + +``` +files (1) ───< (N) share_links + │ + └──────────< (N) upload_events +``` + +## 5. Hostnames and the canonical host + +The service answers on three hostnames, but share links and the OIDC session +cookie are tied to a single canonical origin (`BASE_URL`, +`https://share.beckham.ai`). `dropbox.beckham.ai` and `buckets.beckham.ai` +resolve to the same app but redirect the authenticated flow (`/login`, `/app`, +`/auth/callback`) to the canonical host so the session cookie and redirect URIs +stay consistent. The Caddy snippet that performs the routing is +[`caddy/dropbox.beckham.ai.caddy`](../caddy/dropbox.beckham.ai.caddy). + +## 6. Why these choices + +- **App-side OIDC (not proxy `forward_auth`).** The app needs the `groups` claim + and its own session to distinguish members from anonymous visitors on the same + origin; doing auth in-app keeps the public landing page and the gated workspace + under one service. +- **UUID storage keys.** Using the file UUID as both the URL token's backing + record and the on-disk name means the real filename never touches a path or a + URL — only the database and the download header. +- **Database-backed rate limiting.** Counting the audit rows that already exist + means the limit holds across worker processes and restarts with no extra + store. See [Security](SECURITY.md). +- **Streaming uploads with an early size cap.** Blobs are written in 1 MiB chunks + and aborted (with cleanup) the moment they exceed the limit, so an oversized + upload never has to be fully buffered. diff --git a/docs/CONFIGURATION.md b/docs/CONFIGURATION.md new file mode 100644 index 0000000..b34c943 --- /dev/null +++ b/docs/CONFIGURATION.md @@ -0,0 +1,93 @@ +# Configuration + +All configuration is read from the environment at startup by +[`app/config.py`](../app/config.py); the rest of the code never touches +`os.environ` directly. In production the values are supplied through the +container's `.env` file (see [`.env.example`](../.env.example)), which is **never +committed**. `scripts/generate-secrets.sh` creates a `.env` with a random +`SECRET_KEY` and `DB_PASSWORD`; the OIDC credentials are filled in after the +Authentik setup step (see [Operations](OPERATIONS.md)). + +Settings are typed and validated by `pydantic-settings`; unknown variables are +ignored. Booleans accept `true`/`false`/`1`/`0`. + +## Identity & branding + +| Variable | Default | Purpose | +|---|---|---| +| `APP_NAME` | `Beckham Share` | Display name used in the UI and outgoing email. | +| `BRAND_DOMAIN` | `beckham.ai` | Brand domain shown in email footers. | +| `BASE_URL` | `https://share.beckham.ai` | **Canonical public origin.** Used to build absolute share links and the OIDC redirect URI, and to decide the canonical host for redirects. | + +## Security & sessions + +| Variable | Default | Purpose | +|---|---|---| +| `SECRET_KEY` | `dev-insecure-change-me` | Signs the session cookie. **Must** be a long random value in production — rotating it logs everyone out. | +| `TRUST_FORWARDED_FOR` | `true` | Trust `X-Forwarded-For` / `X-Real-IP` for the client IP. Correct when behind the Caddy/HAProxy front; set `false` only if the app is exposed directly. | + +## Storage & database + +| Variable | Default | Purpose | +|---|---|---| +| `DATA_DIR` | `/data` | Blob root; files live under `{DATA_DIR}/blobs/`. Backed by the `share-data` volume. | +| `DATABASE_URL` | `postgresql+psycopg2://share:share@db:5432/share` | SQLAlchemy database URL. Compose injects the real password via `DB_PASSWORD`. | + +## OIDC (Authentik) + +| Variable | Default | Purpose | +|---|---|---| +| `OIDC_DISCOVERY_URL` | *(empty)* | The provider's OpenID discovery document, e.g. `https://auth.beckham.ai/application/o/beckham-share/.well-known/openid-configuration`. | +| `OIDC_CLIENT_ID` | *(empty)* | OAuth2 client ID from the Authentik provider. | +| `OIDC_CLIENT_SECRET` | *(empty)* | OAuth2 client secret. | +| `OIDC_SCOPES` | `openid profile email groups` | Requested scopes. The `groups` scope is required for the in-app group check. | +| `REQUIRED_GROUP` | `dropbox` | Group required for the authenticated workspace. Enforced at Authentik **and** in-app. | + +> Sign-in stays disabled until all three of discovery URL, client ID, and client +> secret are set (`settings.oidc_configured`). The public landing page, uploads, +> share pages, and downloads all work without OIDC configured. + +## Upload limits & abuse controls + +| Variable | Default | Purpose | +|---|---|---| +| `MAX_UPLOAD_BYTES` | `5368709120` (5 GiB) | Per-file cap for authenticated members. | +| `ANON_MAX_UPLOAD_BYTES` | `104857600` (100 MiB) | Per-file cap for anonymous landing-page uploads. | +| `ANON_UPLOADS_PER_HOUR` | `5` | Rolling 1-hour anonymous upload budget per client (IP or fingerprint). | +| `ANON_UPLOADS_PER_DAY` | `20` | Rolling 24-hour anonymous upload budget per client. | + +See [Security](SECURITY.md) for how the limits are keyed and enforced. + +## Share-link expiry + +| Variable | Default | Purpose | +|---|---|---| +| `SHARE_EXPIRY_OPTIONS_HOURS` | `1,24,168,720,0` | Expiry choices offered in the UI, in hours (`0` = never). Default set is 1 h, 1 d, 7 d, 30 d, never. | +| `DEFAULT_SHARE_EXPIRY_HOURS` | `168` (7 days) | Default expiry for member uploads. | +| `ANON_SHARE_EXPIRY_HOURS` | `24` | Fixed expiry for anonymous uploads (they never get a "never" option). | + +## Email (share-by-email) + +Optional. Until SMTP is configured, the front end falls back to a `mailto:` link, +and the server-side relay (members only) returns a "not configured" response. + +| Variable | Default | Purpose | +|---|---|---| +| `SMTP_HOST` | *(empty)* | SMTP server hostname. Setting host + user + password enables server-side email (`settings.email_enabled`). | +| `SMTP_PORT` | `587` | SMTP port (587 for STARTTLS). | +| `SMTP_USER` | *(empty)* | SMTP username. | +| `SMTP_PASSWORD` | *(empty)* | SMTP password. | +| `SMTP_FROM` | `Beckham Share ` | `From` header on outgoing mail. | +| `SMTP_USE_TLS` | `true` | Use STARTTLS before authenticating. | + +> The relay used in production presents a shared `*.eigbox.net` certificate, so +> `docker-compose.yml` maps `mail.eigbox.net` to its IP via `extra_hosts` to keep +> STARTTLS certificate verification valid. Set `SMTP_HOST=mail.eigbox.net`. + +## Derived settings (not environment variables) + +These are computed properties on the settings object: + +- `email_enabled` — true when `SMTP_HOST`, `SMTP_USER`, and `SMTP_PASSWORD` are all set. +- `expiry_options` — `SHARE_EXPIRY_OPTIONS_HOURS` parsed into a list of ints. +- `oidc_configured` — true when discovery URL, client ID, and client secret are all set. diff --git a/docs/OPERATIONS.md b/docs/OPERATIONS.md new file mode 100644 index 0000000..04eb78b --- /dev/null +++ b/docs/OPERATIONS.md @@ -0,0 +1,127 @@ +# Operations + +How to deploy Beckham Share and run it day to day. The service runs as two +containers (`app` + `db`) behind the host's shared Caddy/HAProxy front and signs +in against an existing Authentik identity provider. + +Host-specific connection details (SSH target, destination path) live in +`scripts/deploy.env`, which is **gitignored**. `deploy.sh` reads it, or falls +back to the `SHARE_HOST` / `SHARE_SSH_KEY` / `SHARE_DEST` environment variables. + +## Prerequisites + +- A host running Docker with the shared `idp` stack already up: Authentik, the + `idp-caddy` front, and the external `idp_proxy` Docker network. +- DNS for `share` / `dropbox` / `buckets.beckham.ai` pointing at the public IP + (one-time, manual). +- An SMTP mailbox if server-side email is wanted (optional; the UI falls back to + `mailto:` until it exists). + +## First deploy + +```sh +# 1. Ship the code, build the image, and start the stack on the host. +# (tar | ssh; secrets and data are never synced. Generates .env on first run.) +sh scripts/deploy.sh + +# 2. Configure Authentik: create the OIDC provider/application, the `dropbox` +# group, and its members. Prints OIDC_CLIENT_ID / OIDC_CLIENT_SECRET. +docker compose -p idp exec -T authentik-server ak shell < scripts/setup-authentik.py + +# 3. Put the printed OIDC_CLIENT_ID / OIDC_CLIENT_SECRET (and OIDC_DISCOVERY_URL) +# into the host's .env, then restart the app. +docker compose up -d app + +# 4. Wire the reverse proxy: add caddy/dropbox.beckham.ai.caddy to the shared +# Caddyfile and reload Caddy. +docker compose -p idp exec caddy caddy reload --config /etc/caddy/Caddyfile + +# 5. Verify. +sh scripts/smoke.sh +``` + +`scripts/generate-secrets.sh` writes a `.env` with a random `SECRET_KEY` and +`DB_PASSWORD` on first deploy; everything else has a sane default (see +[Configuration](CONFIGURATION.md)). + +## Routine deploy (subsequent changes) + +```sh +sh scripts/deploy.sh # re-ships, rebuilds, restarts +sh scripts/smoke.sh # confirm health, a real round-trip, TLS, provider config +``` + +`deploy.sh` ships the working tree with `tar | ssh` (no rsync dependency), +excluding `.git`, `.env`, `secrets/`, and `data/`, then runs +`docker compose up -d --build` on the host. Secrets and uploaded blobs stay on +the host across deploys (the `share-data` and `share-db` volumes persist). + +## Day-two runbook + +### Logs +```sh +# On the host, in the deploy directory: +docker compose logs -f app # application log (uploads, auth, email) +docker compose logs db # database +docker compose ps # container status / health +``` +The app logs each anonymous upload with its id, IP, fingerprint prefix, and size, +and warns on OIDC callback failures or email send failures. + +### Health +`GET /healthz` returns `{ "status": "ok" }` and backs the container health check. +`scripts/smoke.sh` exercises health on all three hostnames plus a full +upload → share → download round-trip, the canonical redirect, the TLS +certificate, and the Authentik provider configuration. + +### Backups +Two pieces of state to back up: +- **Database** — `docker compose exec db pg_dump -U share share > backup.sql`. +- **Blobs** — the `share-data` volume (`{DATA_DIR}/blobs/`). Back up the volume + directory or `docker run --rm -v beckham-share_share-data:/data ...` to tar it. + +A blob is only meaningful alongside its database row, so snapshot both together. + +### Restart / recover +```sh +docker compose restart app # restart just the app +docker compose up -d --force-recreate # recreate both containers +``` +On startup the app ensures the blob directory exists and creates any missing +tables (`init_db`), so a fresh container against the existing volumes comes back +clean. + +### Rotating secrets +- `SECRET_KEY` — changing it invalidates all sessions (everyone re-logs in). +- OIDC client secret — rotate in Authentik, update `.env`, `docker compose up -d app`. +- SMTP password — update `.env`, restart the app. + +## Authentik configuration + +`scripts/setup-authentik.py` is idempotent — re-running it reconciles the +provider, application, group, members, the `groups` scope mapping, and the policy +binding. It configures three redirect URIs (the `share`, `dropbox`, and `buckets` +callbacks) and ensures the provider's grant types include `authorization_code` +and `refresh_token`. + +> A historical sign-in outage was caused by an **empty `grant_types`** on the +> provider. The setup script sets them explicitly, and `smoke.sh` asserts that +> `authorization_code` is present and the `share` callback is registered, so the +> same failure can't ship silently again. + +## Reverse proxy + +`caddy/dropbox.beckham.ai.caddy` is a plain `reverse_proxy` to +`beckham-share-app:8000` — **authentication is in-app (OIDC), not Caddy +`forward_auth`.** Add the snippet to the shared Caddyfile and reload Caddy. TLS +certificates are issued and renewed automatically by Caddy. + +## Common issues + +| Symptom | Likely cause | Check | +|---|---|---| +| Sign-in returns `400` immediately | Provider misconfiguration (e.g. empty grant types) | `smoke.sh` provider check; re-run `setup-authentik.py`. | +| `503` on `/login` | OIDC not configured | `OIDC_*` set in `.env`? | +| Anonymous upload `429` | Rate limit hit | Expected; tune `ANON_UPLOADS_PER_*`. | +| Email returns `email_not_configured` | SMTP unset | Set `SMTP_*`; STARTTLS host mapping present. | +| Member sees "not authorized" | Not in the `dropbox` group | Group membership in Authentik; `groups` scope mapped. | diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..d8c1128 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,23 @@ +# Documentation + +Reference documentation for Beckham Share. Start with the [project README](../README.md) +for a high-level overview; the documents below go deeper. + +| Document | What it covers | +|---|---| +| [Architecture](ARCHITECTURE.md) | Components, request flows, the data model, and how the service plugs into the host's reverse-proxy / identity stack. | +| [Configuration](CONFIGURATION.md) | Every environment variable — purpose, default, and how it is used. | +| [Operations](OPERATIONS.md) | First deploy, the Authentik / Caddy wiring, and the day-two runbook (logs, backups, upgrades, recovery). | +| [Security](SECURITY.md) | Authentication, the group gate, the anonymous-upload abuse controls, fingerprinting, and the threat model. | +| [API reference](API.md) | Every HTTP route — method, auth tier, parameters, and responses. | +| [Testing](TESTING.md) | The three test layers (backend, browser E2E, live smoke) and how to run and extend them. | +| [Contributing](../CONTRIBUTING.md) | Local setup, the branch/PR workflow, and the conventions a change must follow. | +| [Changelog](../CHANGELOG.md) | Notable changes, newest first. | + +## Troubleshooting notes + +Longer-form write-ups of specific problems and how they were diagnosed live in +[`troubleshooting/`](troubleshooting/): + +- [Why is the upload page asking for my microphone?](troubleshooting/android-file-picker.md) + — an Android file-input / `accept`-attribute investigation. diff --git a/docs/SECURITY.md b/docs/SECURITY.md new file mode 100644 index 0000000..75e5940 --- /dev/null +++ b/docs/SECURITY.md @@ -0,0 +1,118 @@ +# Security + +Beckham Share exposes a **public** upload form to the internet, so its security +posture is deliberately split: a tightly constrained anonymous tier and an +identity-gated member tier. This document covers the authentication model, the +abuse controls, the data handled, and the threat model. + +## 1. Authentication & authorization + +- **Protocol.** OIDC Authorization Code flow against Authentik + (`auth.beckham.ai`), via Authlib. See [`app/auth.py`](../app/auth.py). +- **Session.** On success the app stores `{sub, email, name, groups}` in a + signed, `Secure`, `SameSite=Lax` session cookie (Starlette's + `SessionMiddleware`, signed with `SECRET_KEY`). The app owns its own session; + it does not rely on a proxy to inject identity. +- **Two-layer group gate.** The workspace is restricted to members of the + `dropbox` group in two independent places: + 1. **At Authentik** — the application is bound to the group, so non-members + can't complete the flow at the IdP. + 2. **In-app backstop** — `/app` and every management route re-check the + `groups` claim (`CurrentUser.in_required_group`). +- **No-groups fallback.** If a token arrives with no `groups` claim (scope + mapping missing), the app trusts Authentik's application-level binding rather + than locking everyone out, and logs a warning so the gap is visible. Keep the + `groups` scope configured so the in-app check is authoritative. + +## 2. Anonymous-upload abuse controls + +The landing page is a public form. Four layers keep it from becoming a dump: + +### Size cap +Anonymous uploads are capped at `ANON_MAX_UPLOAD_BYTES` (default 100 MiB), +enforced *while streaming* — the upload is aborted and the partial file deleted +the moment it exceeds the limit (`app/storage.py`), so an oversized file is never +fully buffered. Members have a separate, larger cap (`MAX_UPLOAD_BYTES`). + +### Rate limiting +`app/ratelimit.py` enforces a rolling-window budget: + +- `ANON_UPLOADS_PER_HOUR` (default 5) in the last hour, and +- `ANON_UPLOADS_PER_DAY` (default 20) in the last 24 hours. + +The count is taken from the `upload_events` audit rows, keyed by **IP _or_ +fingerprint** (`OR`), so rotating just one signal does not reset the budget. +Because it counts rows that already exist in the database, the limit holds across +worker processes and restarts with no separate store. Over-budget requests get +`429` with a `Retry-After` header. + +### Short auto-expiry +Anonymous links always expire after `ANON_SHARE_EXPIRY_HOURS` (default 24 h); +there is no "never" option for them. The blob carries the same hard expiry. + +### Audit trail + fingerprinting +Every upload writes an `upload_events` row for review — see below. + +## 3. Fingerprinting & the audit trail + +`app/fingerprint.py` records, per upload: + +- **Client IP** — from `X-Forwarded-For` / `X-Real-IP` when `TRUST_FORWARDED_FOR` + is set (the real client IP is preserved through HAProxy's PROXY protocol), + otherwise the socket peer. +- **User agent** — raw, plus a parsed `browser` / `os` / `device` breakdown for + human-readable review. +- **Accept-Language**. +- **Fingerprint hash** — a SHA-256 over either the client-supplied browser + fingerprint (canvas / WebGL / screen / timezone signals, richer) or, for + JS-less clients, a header/network-derived basis so they are still grouped. +- **Raw fingerprint bundle** (`fingerprint_data`) for later inspection. + +> Fingerprinting here is a **deterrent and an audit aid, not a security +> boundary.** It can be spoofed; it exists to make casual abuse traceable and +> rate-limitable, not to authenticate anyone. + +## 4. Data handling + +- **Filename privacy.** The original filename never appears in a URL or an + on-disk path. Blobs are stored under `{DATA_DIR}/blobs/`; the real name + lives only in the database and is restored in the download's + `Content-Disposition`. +- **Opaque links.** Share URLs contain only a random UUID token; they are + unguessable and reveal nothing about the file. +- **Integrity.** Each blob's SHA-256 is computed on upload and stored. +- **Deletion.** Deleting a file soft-deletes the row and removes the blob from + disk; expired/revoked links stop serving immediately. +- **Secrets.** `SECRET_KEY`, `DB_PASSWORD`, the OIDC client secret, and SMTP + credentials live only in the host's `.env` (gitignored) — never in the repo. + +## 5. Transport & network + +- **HTTPS everywhere.** TLS is terminated by the shared Caddy front (Let's + Encrypt); the smoke test asserts a valid certificate after each deploy. +- **Database isolation.** PostgreSQL is on an internal Docker network with no + host port published. +- **Canonical host.** The session cookie and OIDC redirect URIs are bound to + `BASE_URL`; other hostnames redirect the authenticated flow there, so a cookie + can't be set on an unexpected origin. + +## 6. Threat model (summary) + +| Threat | Mitigation | +|---|---| +| Anonymous form used to host abusive material | Size cap, rate limit, short auto-expiry, IP + fingerprint audit trail. | +| Link guessing / enumeration | UUID tokens; no filename or sequential ID in URLs. | +| Unauthorized workspace access | OIDC + group binding at the IdP, re-checked in-app. | +| Public share page abused as a spam relay | Server-side email is members-only; anonymous uses `mailto:`. | +| Oversized-upload resource exhaustion | Streaming write with an early abort + partial-file cleanup. | +| Session forgery | Signed session cookie (`SECRET_KEY`); `Secure` + `SameSite=Lax`. | +| Spoofed client IP | Real IP preserved via PROXY protocol; `X-Forwarded-For` trusted only behind the front. | + +## 7. Operational guidance + +- Set a strong, unique `SECRET_KEY` in production; rotating it invalidates all + sessions. +- Keep the `groups` scope mapping configured so the in-app group check is + authoritative rather than relying on the fallback. +- Review the `upload_events` table periodically for anomalous IPs/fingerprints. +- Tune `ANON_*` limits to the host's tolerance; they are all environment-driven. From 2c58e4dafd9aadf39f0d9c9043da3921bed69d4b Mon Sep 17 00:00:00 2001 From: Don Beckham Date: Tue, 23 Jun 2026 02:31:11 -0500 Subject: [PATCH 2/2] Add build report under docs/reports A project build report (scope, time, cost, and a delivery comparison), rendered to PDF and kept under docs/reports/ for reference. --- docs/reports/Beckham-Share-Build-Report.pdf | Bin 0 -> 223740 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/reports/Beckham-Share-Build-Report.pdf diff --git a/docs/reports/Beckham-Share-Build-Report.pdf b/docs/reports/Beckham-Share-Build-Report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..dbf41d7951489455a33b705322cdf20cb0a28119 GIT binary patch literal 223740 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 S0e8wj7Ti2~^w}?c?&iPu|5Wq< literal 0 HcmV?d00001