Skip to content

docs(app-store): hardening + signed catalogue; whole-site sitemap#23

Merged
TeoSlayer merged 1 commit into
mainfrom
docs/app-store-hardening-and-sitemap
Jun 15, 2026
Merged

docs(app-store): hardening + signed catalogue; whole-site sitemap#23
TeoSlayer merged 1 commit into
mainfrom
docs/app-store-hardening-and-sitemap

Conversation

@TeoSlayer

Copy link
Copy Markdown
Contributor

Summary

Documents the app-store hardening + signed-catalogue work in the docs, and
replaces the hand-maintained sitemap with a complete, self-maintaining one.

Docs: /docs/app-store

New Security model & hardening section covering:

  • Signed catalogue — detached ed25519 signature verified fail-closed
    before any entry is trusted; build-time key rotation.
  • Broker authorization — the exposes gate (an app's only callable
    surface) and cross-app ipc.call grants.
  • Supervisor hardening — launch-time TOCTOU re-verification (symlink +
    sha256), capped exponential backoff, crash-loop suspension,
    RLIMIT_AS/RLIMIT_NOFILE, and multi-generation audit-log rotation.
  • Extension hooks — per-app dispatch rate limiting + a dynamic
    registration cap.

Also documents pilotctl appstore sign-catalogue in the publishing flow
and updates the integrity model to three layers (catalogue sig → tarball
sha → binary sha).

Sitemap: whole-site coverage

Rewrote sitemap.xml.ts from a hand-maintained list (which missed
/app-store and every dynamic /for/setups/* page) to a filesystem glob
over src/pages/**. It now covers the whole site automatically as pages
are added, while excluding error pages, dynamic templates, and the
non-canonical /plain text mirror; it expands the dynamic setups slugs and
preserves per-post blog lastmod.

Testing

  • npm run build — 299 pages built, sitemap endpoint renders.
  • Generated dist/sitemap.xml: 207 URLs, well-formed XML, now includes
    /app-store, all 32 docs, 56 /for/setups/*; /plain/* and /404,
    /500 correctly excluded.

…temap

- docs/app-store: add a Security model & hardening section covering the
  signed catalogue (fail-closed verification + rotation), broker
  authorization (exposes + ipc.call grants), supervisor hardening
  (TOCTOU re-verify, exponential backoff, RLIMIT_AS/NOFILE, audit log
  rotation), and bounded extension hooks; document sign-catalogue in the
  publishing flow and the three integrity layers.
- sitemap: rewrite as a filesystem-glob over all pages so the whole site
  is covered automatically (was a hand-maintained list missing /app-store
  and the dynamic /for/setups/* pages). Excludes error pages, dynamic
  templates, and the /plain text mirror; expands setups slugs; keeps blog
  lastmod. 207 URLs, verified via astro build.
@github-actions

Copy link
Copy Markdown

🚀 Preview deployed to Cloudflare Pages

  • Commit deploy URL: https://fc9d2f2d.pilotprotocol.pages.dev
  • Branch alias: https://docs/app-store-hardening-and-sitemap.pilotprotocol.pages.dev (may take ~30s to propagate)
  • Commit: 1b419881cd1db47ace63d822aac6a041f8f02fd7

@TeoSlayer TeoSlayer merged commit 02e014b into main Jun 15, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants