Skip to content

Commit f3c62d6

Browse files
authored
Refresh README docs and Codex workflows (#370)
1 parent 9f2abb4 commit f3c62d6

34 files changed

Lines changed: 513 additions & 123 deletions

AGENTS.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@
2626
- Preserve the current deployment model: main `/v1` behind the reviewed localhost/LAN/WireGuard/firewall boundary, private `/admin` behind its own private listener, and only read-only incident viewer paths behind HTTPS/reverse proxy when exposed.
2727
- Separate bind addresses are a deployment boundary, not a complete security model.
2828
- Treat Codex prompts as scoped change requests, not open-ended permission to expand the project.
29+
- Treat the website repository as the project-level source of truth for public
30+
governance posture, political alignment, public-good framing, public voice,
31+
README baseline style, and source-of-truth mapping. Server docs should link
32+
to those website source documents instead of re-declaring project-wide
33+
posture differently.
2934
- Do not implement newly discovered future work during an unrelated task; document it as an issue/backlog item instead.
3035
- For larger changes, start from a clean working tree or an explicit checkpoint commit.
3136
- Backlog scanning should create draft Markdown files first, not GitHub issues directly.
@@ -38,7 +43,12 @@
3843
- This repository is the Go server backend component only.
3944
- Current organisation: `open-proofline`.
4045
- Current server repository: `open-proofline/server`.
41-
- Planned future companion repositories: `open-proofline/web-client`, `open-proofline/ios-client`, `open-proofline/android-client`, and `open-proofline/protocol`.
46+
- Current companion repositories include `open-proofline/website` and
47+
`open-proofline/web-client`.
48+
- Planned future companion repositories include `open-proofline/ios-client`,
49+
`open-proofline/android-client`, and `open-proofline/protocol`.
50+
- Project-wide public governance posture and reusable README baseline guidance
51+
live in `open-proofline/website`.
4252
- The Go module path is `github.com/open-proofline/server` at the repository root, release binaries use `proofline-server-*` names, and the published GHCR image is `ghcr.io/open-proofline/server`.
4353
- Current runtime protocol and default data-layout identifiers use Proofline names. Historical reports and archived prompts may still mention earlier `safety-recorder` identifiers.
4454
- SQLite metadata by default.
@@ -91,6 +101,9 @@ Before accepting Codex changes, check:
91101
- wrapped-key ciphertext, private deployment details, stored paths, object keys, and user safety data are not logged
92102
- ZIP downloads use safe headers and controlled paths
93103
- documentation still matches `README.md`
104+
- public-facing docs still link to the website governance/README-baseline
105+
source documents when making project-wide public posture or public voice
106+
claims
94107
- future web, iOS, Android, or protocol work was not accidentally added to this server repository
95108
- key custody/decryption changes are explicit and security-reviewed
96109
- no public-production readiness is implied unless deployment hardening has actually been implemented

README.md

Lines changed: 238 additions & 54 deletions
Large diffs are not rendered by default.

SECURITY.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Security Policy
22

3-
Proofline is a private encrypted incident-capture backend. It is not production-ready public infrastructure. The main `/v1` API uses local account sessions, optional browser cookie sessions for future web-client calls, email challenge, TOTP, disabled-by-default WebAuthn/FIDO2 second-factor setup for new account gating, private-admin assisted second-factor reset for lost-factor recovery, and app-level route-class rate limits. Broad public `/v1` exposure still needs route-by-route deployment review, TLS, edge abuse controls, browser credential review, logging review, proxy hardening, and operational testing. Private-admin `/admin/api/...` JSON routes and the private `/admin` web surface require admin authentication, completed admin second-factor setup, active-factor session verification when email challenge, TOTP, or WebAuthn is active, and must stay behind localhost, WireGuard, a firewall, or an equivalent private boundary. The private admin web display and validation boundary is documented in [docs/private-admin-web-scope.md](docs/private-admin-web-scope.md).
3+
Proofline is a private encrypted incident-capture backend. It is not production-ready public infrastructure. The main `/v1` API uses local account sessions, optional browser cookie sessions for future production web-client calls, email challenge, TOTP, disabled-by-default WebAuthn/FIDO2 second-factor setup for new account gating, private-admin assisted second-factor reset for lost-factor recovery, and app-level route-class rate limits. Broad public `/v1` exposure still needs route-by-route deployment review, TLS, edge abuse controls, browser credential review, logging review, proxy hardening, and operational testing. Private-admin `/admin/api/...` JSON routes and the private `/admin` web surface require admin authentication, completed admin second-factor setup, active-factor session verification when email challenge, TOTP, or WebAuthn is active, and must stay behind localhost, WireGuard, a firewall, or an equivalent private boundary. The private admin web display and validation boundary is documented in [docs/private-admin-web-scope.md](docs/private-admin-web-scope.md).
44

55
The current implementation supports generic incident capture, optional
66
incident-mode metadata fields, and token-scoped read-only incident review.
@@ -75,7 +75,7 @@ Reports are in scope when they affect the current backend, documentation, or dep
7575

7676
The following are generally out of scope unless they demonstrate a concrete vulnerability in this repository:
7777

78-
- missing features already documented as absent, such as public account workflows, OAuth, JWT, SMS, push notifications, trusted-contact accounts, Android/iOS clients, a web client, mode-driven escalation behavior, or a public admin dashboard
78+
- missing features already documented as absent, such as public account workflows, OAuth, JWT, SMS, push notifications, trusted-contact accounts, Android/iOS clients, web-client implementation in this server repository, mode-driven escalation behavior, or a public admin dashboard
7979
- lack of production hardening already documented as a known limitation, without a new exploit path
8080
- reports requiring unreviewed broad public exposure of main `/v1` route groups contrary to documented deployment guidance
8181
- denial-of-service reports based only on unrealistic local access or unbounded physical access

codex/README.md

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,23 @@
11
# Codex Prompts
22

3-
This directory records the Codex prompt workflow used for AI-assisted development.
3+
This directory records the Codex prompt workflow used for AI-assisted
4+
development in `open-proofline/server`.
45

56
Codex output is treated as maintainer-reviewed work, not as endorsement, audit, certification, security review, or maintenance by OpenAI.
67

8+
The server repository owns server behavior, API, deployment, security, and
9+
release workflow facts. The website repository owns project-wide public
10+
governance posture, political alignment, public-good framing, public voice,
11+
reusable README baseline guidance, and source-of-truth mapping:
12+
13+
- [`open-proofline/website/docs/governance-and-political-alignment.md`](https://github.com/open-proofline/website/blob/main/docs/governance-and-political-alignment.md)
14+
- [`open-proofline/website/docs/repository-readme-baseline.md`](https://github.com/open-proofline/website/blob/main/docs/repository-readme-baseline.md)
15+
16+
Reusable server prompts that touch README structure, public-facing wording,
17+
project-wide governance, public-good framing, or source-of-truth mapping should
18+
inspect those website documents and link to them instead of re-declaring the
19+
project posture inside server docs.
20+
721
## Directory Structure
822

923
Keep the Codex workflow in this structure:
@@ -122,13 +136,18 @@ For any `v1 preview`, `v1.0.0`, or real-user evidence-upload readiness claim,
122136
run [docs/v1-preview-readiness-checklist.md](../docs/v1-preview-readiness-checklist.md)
123137
as part of the release workflow before using preview-ready language.
124138

125-
## Current project constraints
139+
## Current Project Constraints
126140

127141
Treat `README.md`, `AGENTS.md`, `SECURITY.md`, and the `docs/` directory as the current source of truth. For v1 preview terminology, repository roles, and current-versus-future product direction, read `docs/v1-preview-direction.md` before turning prototype gaps into backlog or implementation assumptions.
128142
For v1 preview release claims, also read
129143
`docs/v1-preview-readiness-checklist.md` and preserve its hard-blocker,
130144
non-goal, optional hosted-service, and issue-hygiene boundaries.
131145

146+
For public governance posture, political alignment, public-good framing,
147+
public voice, README baseline style, and source-of-truth mapping, read the two
148+
website source documents above. Keep server-specific facts in this repository;
149+
link project-wide posture to the website source of truth.
150+
132151
Product documentation now uses the name Proofline. The repository URL is `open-proofline/server`, the root Go module path is `github.com/open-proofline/server`, release binaries use `proofline-server-*` names, and the published GHCR image is `ghcr.io/open-proofline/server`. Current runtime protocol and default data-layout identifiers use Proofline names. Historical reports and archived prompts may still mention earlier `safety-recorder` identifiers.
133152

134153
Core constraints:
@@ -166,6 +185,7 @@ When project scope, architecture, security posture, or workflow changes, update
166185

167186
| Project change | Prompt/doc action |
168187
|---|---|
188+
| README baseline, public voice, governance posture, public-good framing, or source-of-truth mapping changes | Read the website governance and README baseline docs, update `README.md`, `AGENTS.md`, `docs/`, `codex/README.md`, and reusable prompts only where they consume that project-wide source of truth. |
169189
| Product rename or repository/artifact namespace migration | Update `README.md`, `AGENTS.md`, `SECURITY.md`, relevant `docs/`, `codex/README.md`, and reusable prompts that mention product or artifact names. Keep docs-only renames separate from repository/module/Docker/GHCR migrations. |
170190
| First-class incident modes, capture profiles, escalation policies, sharing state, safety checks, interaction records, or evidence notes | Update `docs/incident-modes.md`, `README.md`, API docs, security/threat docs, client prototype docs, and relevant review prompts. |
171191
| New API routes or listener exposure | Review `AGENTS.md`, `docs/api.md`, security/threat docs, and relevant review prompts. |

codex/prompts/00-project-context-check.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ Before making changes, read current source-of-truth files as relevant:
2020
- `docs/README.md`
2121
- `docs/v1-preview-direction.md`
2222
- `docs/key-custody.md`, if present
23+
- `open-proofline/website/docs/governance-and-political-alignment.md`, when
24+
public governance posture, political alignment, or public-good framing is in
25+
scope
26+
- `open-proofline/website/docs/repository-readme-baseline.md`, when README
27+
structure, public voice, or source-of-truth mapping is in scope
2328
- relevant files in `docs/`
2429
- relevant source files
2530
- relevant tests

codex/prompts/05-codex-change-control.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ Before making changes, read current source-of-truth files as relevant:
2020
- `SECURITY.md`
2121
- `docs/README.md`
2222
- `docs/v1-preview-direction.md`
23+
- `open-proofline/website/docs/governance-and-political-alignment.md`, when
24+
public governance posture, political alignment, or public-good framing is in
25+
scope
26+
- `open-proofline/website/docs/repository-readme-baseline.md`, when README
27+
structure, public voice, or source-of-truth mapping is in scope
2328
- relevant files in `docs/`
2429
- relevant source files
2530
- relevant tests

codex/prompts/15-codex-structure-and-naming-maintenance.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ Read:
3232
- all files under `codex/`
3333
- `docs/codex-change-control.md`, if present
3434
- `docs/development.md`, if relevant
35+
- `open-proofline/website/docs/governance-and-political-alignment.md`, if
36+
prompt workflow wording touches public governance or public-good framing
37+
- `open-proofline/website/docs/repository-readme-baseline.md`, if prompt
38+
workflow wording touches README structure, public voice, or source-of-truth
39+
mapping
3540

3641
## Standard directory structure
3742

@@ -130,6 +135,9 @@ Check for:
130135
- historical prompts missing date prefixes
131136
- spaces, uppercase words, or inconsistent filenames
132137
- prompt files that reference stale project state
138+
- prompt files that miss the website source documents when their workflow
139+
covers README structure, public voice, governance posture, or source-of-truth
140+
mapping
133141
- prompt files that contradict `AGENTS.md`
134142
- prompt files that still say server-side key storage/decryption is permanently impossible
135143
- prompt files that do not distinguish current implementation from future key custody design

codex/prompts/40-documentation-update.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ Before making changes, read current source-of-truth files as relevant:
1515
- `SECURITY.md`
1616
- `docs/README.md`
1717
- `docs/v1-preview-direction.md`
18+
- `open-proofline/website/docs/governance-and-political-alignment.md`, when
19+
public governance posture, political alignment, or public-good framing is in
20+
scope
21+
- `open-proofline/website/docs/repository-readme-baseline.md`, when README
22+
structure, public voice, or source-of-truth mapping is in scope
1823
- relevant files in `docs/`
1924
- relevant source files
2025
- relevant tests
@@ -94,6 +99,8 @@ Update only relevant files:
9499
- Codex change-control workflow
95100
- AI-assisted development disclosure
96101
- next steps / roadmap
102+
- links to website source documents for project-wide governance, public voice,
103+
and reusable README baseline claims
97104

98105
## Constraints
99106

@@ -102,6 +109,8 @@ Update only relevant files:
102109
- Do not claim the iOS client exists.
103110
- Do not claim production-readiness.
104111
- Do not describe future key custody/decryption as implemented unless it is implemented.
112+
- Do not duplicate project-wide governance or public-voice posture in server
113+
docs when a link to the website source of truth is clearer.
105114
- Keep wording clear and concise.
106115

107116
## Validation

codex/prompts/45-documentation-and-prompt-review.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ Start with current source-of-truth files:
2424
- `docs/README.md`
2525
- `docs/v1-preview-direction.md`
2626
- `docs/v1-preview-readiness-checklist.md`
27+
- `open-proofline/website/docs/governance-and-political-alignment.md`
28+
- `open-proofline/website/docs/repository-readme-baseline.md`
2729
- every current source-of-truth file under `docs/`
2830
- `codex/README.md`
2931
- every reusable prompt under `codex/prompts/`, including this prompt
@@ -51,6 +53,8 @@ Review:
5153
- all reusable Codex prompt files
5254
- all public-facing project claims
5355
- source-of-truth alignment
56+
- website governance, public-good framing, public voice, README baseline, and
57+
source-of-truth mapping alignment
5458
- technical accuracy
5559
- linguistic coherence
5660
- readability and approachability
@@ -77,13 +81,18 @@ Preserve these server-specific boundaries:
7781
media exports.
7882
- Do not imply the backend is production-ready public emergency
7983
infrastructure.
84+
- Link project-wide governance posture and README baseline guidance to
85+
`open-proofline/website` instead of rewriting that posture differently in
86+
server docs.
8087

8188
## Review Checks
8289

8390
Check source-of-truth consistency:
8491

8592
- Do docs agree with current `README.md`, `AGENTS.md`, `SECURITY.md`, and
8693
`docs/`?
94+
- Do README, docs, and prompts point to the website governance and README
95+
baseline docs where project-wide public posture or public voice is in scope?
8796
- Do Codex prompts agree with current repo rules?
8897
- Are public claims supported by implementation or source docs?
8998

@@ -121,6 +130,9 @@ Check readability and approachability:
121130
- Are public-facing docs understandable without internal context?
122131
- Are technical docs precise without being needlessly dense?
123132
- Is wording direct, humane, and clear?
133+
- Does public-facing wording follow the current Proofline voice: serious
134+
public-interest infrastructure, clear and humane, with dry humour only where
135+
it clarifies values and never inside safety/security/key-custody claims?
124136
- Are acronyms and project-specific terms explained where needed?
125137
- Are there sections that sound like internal notes, legal fog, or startup
126138
hype?

codex/prompts/70-work-on-github-issue.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,11 @@ Then read:
8686
- `CHANGELOG.md`
8787
- `SECURITY.md`
8888
- `docs/v1-preview-direction.md`
89+
- `open-proofline/website/docs/governance-and-political-alignment.md`, when
90+
public governance posture, political alignment, or public-good framing is in
91+
scope
92+
- `open-proofline/website/docs/repository-readme-baseline.md`, when README
93+
structure, public voice, or source-of-truth mapping is in scope
8994
- relevant files in `docs/`
9095
- relevant source files
9196
- relevant tests

0 commit comments

Comments
 (0)