> For the complete documentation index, see [llms.txt](https://faction-os.gitbook.io/faction-os-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://faction-os.gitbook.io/faction-os-docs/public-website/docs/archive-docs_public-website/routes-and-information-architecture.md).

# Routes And Information Architecture

The public website route contract is owned by `src/data/site.ts`. Navigation is derived from that contract in `src/data/navigation.ts`.

## Route Summary

The launch build contains 31 routes:

* 22 fixed routes.
* 5 blog article routes.
* 4 news article routes.

The built-site checker validates the route set after each build.

## Fixed Routes

| Route                          | Page file                                     | Purpose                                                                       | Primary data source                       |
| ------------------------------ | --------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------- |
| `/`                            | `src/pages/index.astro`                       | Homepage and first product signal.                                            | `src/data/homepage.ts`                    |
| `/product`                     | `src/pages/product.astro`                     | Product surface map.                                                          | `src/data/product.ts`                     |
| `/features`                    | `src/pages/features.astro`                    | Feature inventory.                                                            | `src/data/features.ts`                    |
| `/how-it-works`                | `src/pages/how-it-works.astro`                | Hook-to-cockpit technical flow.                                               | `src/data/features.ts`                    |
| `/use-cases`                   | `src/pages/use-cases/index.astro`             | Role routing hub.                                                             | `src/data/use-cases.ts`                   |
| `/use-cases/engineering-teams` | `src/pages/use-cases/engineering-teams.astro` | Engineering team use case.                                                    | `src/data/use-cases.ts`                   |
| `/use-cases/ai-platform-teams` | `src/pages/use-cases/ai-platform-teams.astro` | AI platform team use case.                                                    | `src/data/use-cases.ts`                   |
| `/use-cases/founders`          | `src/pages/use-cases/founders.astro`          | Founder use case.                                                             | `src/data/use-cases.ts`                   |
| `/use-cases/power-users`       | `src/pages/use-cases/power-users.astro`       | Power user use case.                                                          | `src/data/use-cases.ts`                   |
| `/security`                    | `src/pages/security.astro`                    | Local-first security and privacy posture.                                     | `src/data/security.ts`                    |
| `/blog`                        | `src/pages/blog/index.astro`                  | Blog collection index.                                                        | `src/content/blog/`, `src/lib/content.ts` |
| `/news`                        | `src/pages/news/index.astro`                  | News/changelog collection index.                                              | `src/content/news/`, `src/lib/content.ts` |
| `/investors`                   | `src/pages/investors.astro`                   | Investor context without private metrics.                                     | `src/data/company.ts`                     |
| `/about`                       | `src/pages/about.astro`                       | Mission, principles, audience fit.                                            | `src/data/company.ts`                     |
| `/contact`                     | `src/pages/contact.astro`                     | Static mailto contact routing.                                                | `src/data/company.ts`, `src/data/site.ts` |
| `/press`                       | `src/pages/press.astro`                       | Boilerplate and media preview policy.                                         | `src/data/company.ts`, `src/lib/media.ts` |
| `/roadmap`                     | `src/pages/roadmap.astro`                     | Theme-based roadmap without delivery promises.                                | `src/data/roadmap.ts`                     |
| `/faq`                         | `src/pages/faq.astro`                         | Product, setup, privacy, demo/docs, integration, team, hosted-option answers. | `src/data/faq.ts`                         |
| `/legal`                       | `src/pages/legal/index.astro`                 | Pre-review policy index.                                                      | Page-local content                        |
| `/legal/privacy`               | `src/pages/legal/privacy.astro`               | Pre-review privacy placeholder.                                               | Page-local content                        |
| `/legal/terms`                 | `src/pages/legal/terms.astro`                 | Pre-review terms placeholder.                                                 | Page-local content                        |
| `/legal/acceptable-use`        | `src/pages/legal/acceptable-use.astro`        | Pre-review acceptable-use placeholder.                                        | Page-local content                        |

## Blog Routes

Blog article routes are generated from `src/content/blog/`.

| Route                                   | Source                                                |
| --------------------------------------- | ----------------------------------------------------- |
| `/blog/introducing-factionos`           | `src/content/blog/introducing-factionos.md`           |
| `/blog/local-first-agent-observability` | `src/content/blog/local-first-agent-observability.md` |
| `/blog/why-agent-work-needs-a-cockpit`  | `src/content/blog/why-agent-work-needs-a-cockpit.md`  |
| `/blog/hook-events-to-cockpit`          | `src/content/blog/hook-events-to-cockpit.md`          |
| `/blog/battlefield-cockpit-design`      | `src/content/blog/battlefield-cockpit-design.md`      |

## News Routes

News article routes are generated from `src/content/news/`.

| Route                                 | Source                                              |
| ------------------------------------- | --------------------------------------------------- |
| `/news/initial-public-website`        | `src/content/news/initial-public-website.md`        |
| `/news/public-demo-available`         | `src/content/news/public-demo-available.md`         |
| `/news/factionos-public-site-expands` | `src/content/news/factionos-public-site-expands.md` |
| `/news/website-publishing-polish`     | `src/content/news/website-publishing-polish.md`     |

## Utility Output Routes

The build also emits supporting static files:

| Output               | Purpose                                                |
| -------------------- | ------------------------------------------------------ |
| `/rss.xml`           | Combined blog/news RSS feed, newest first, draft-safe. |
| `/sitemap-index.xml` | Sitemap index from Astro sitemap integration.          |
| `/robots.txt`        | Crawl policy and production sitemap pointer.           |
| `/site.webmanifest`  | Browser manifest.                                      |
| `/favicon.svg`       | Browser favicon.                                       |

## Header Navigation

Primary header links:

* Product
* Use Cases
* Features
* How It Works
* Security
* Blog
* News

Primary external actions:

* Open Demo: `https://demo.faction-os.com/`
* Read Docs: `https://faction-os.gitbook.io/faction-os-docs`

## Footer Navigation

Footer groups are defined in `src/data/site.ts` and rendered from `src/data/navigation.ts`.

| Group     | Links                                      |
| --------- | ------------------------------------------ |
| Product   | Product, Features, How It Works, Use Cases |
| Resources | Blog, News, Open Demo, Read Docs           |
| Company   | Investors, About, Contact, Press           |
| Trust     | Security, Roadmap, FAQ                     |
| Legal     | Legal Hub, Privacy, Terms, Acceptable Use  |

## Contact Routing

Contact is mailto-only in the first release.

| Intent           | Mailbox                    |
| ---------------- | -------------------------- |
| Product and demo | `hello@faction-os.com`     |
| Security         | `security@faction-os.com`  |
| Press            | `press@faction-os.com`     |
| Investors        | `investors@faction-os.com` |
| Partnerships     | `partners@faction-os.com`  |

There is no hosted form, CRM embed, analytics event, or browser storage path attached to contact actions.

## Legal Route Status

Legal routes are pre-review:

* `/legal`
* `/legal/privacy`
* `/legal/terms`
* `/legal/acceptable-use`

They must keep visible pre-review markers until owner/legal approval is recorded. Do not remove markers as part of routine copy polish.

## Route Change Procedure

When adding, renaming, or deleting a route:

1. Update `src/data/site.ts`.
2. Update any relevant `src/data/*.ts` page data.
3. Update page files under `src/pages/`.
4. Update navigation groups in `src/data/site.ts` if navigation changes.
5. Update `../../scripts/check-public-website-links.mjs`.
6. Update this document.
7. Rebuild and run:

```bash
npm --workspace @factionos/public-website run typecheck
npm --workspace @factionos/public-website run build
npm --workspace @factionos/public-website run check:links
```

## Approved External Origins

The current checker allowlist accepts:

* `https://demo.faction-os.com`
* `https://faction-os.gitbook.io`
* `mailto:` links for `faction-os.com` mailboxes

Adding another external origin is a product/security decision. Document why the origin is approved, then update route data and checker logic together.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://faction-os.gitbook.io/faction-os-docs/public-website/docs/archive-docs_public-website/routes-and-information-architecture.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
