> 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/.spec_system/archive/sessions/phase18-session11-validation-documentation-and-handoff/security-compliance.md).

# Security And Compliance Report

**Session ID**: `phase18-session11-validation-documentation-and-handoff` **Phase**: 18 - Quest Board Suggestion Parity **Status**: PASS **Last Updated**: 2026-06-10 11:56

***

## Scope

This session validates and documents a local-first Quest Board runtime. It does not add hosted identity, hosted storage, analytics capture, entitlement gates, remote executors, public replay hosting, production-hosted validation, or full trusted unified erasure.

***

## Data Surface Inventory

| Surface                         | Data Classes                                                                                                           | Storage                                                            | Transfer Boundary                                                                                                                           | Current Status                                  |
| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
| `suggestions.json`              | Relative file paths, code-derived titles/messages/prompts, IDs, timestamps, dismissed IDs, summary counts, scan status | Local file under `FACTIONOS_HOME` or `~/.factionos`                | Local process only; persistence alone does not transfer to providers, analytics, hosted storage, Worker federation, or entitlement services | Documented and focused persistence tests passed |
| Idle suggestion context         | Completed mission labels, compact recent activity, safe relative modified-file hints                                   | Runtime memory, then schema-valid suggestion item if stored        | Provider transfer requires both `ANTHROPIC_API_KEY` and `FACTIONOS_ALLOW_LLM_PROVIDER_TRANSFER=true`; otherwise deterministic fallback      | Focused lifecycle tests passed                  |
| Session summary context         | Completed session labels and safe relative file hints                                                                  | Runtime memory, then schema-valid summary/follow-up item if stored | Same two-level provider opt-in; fallback when disabled/unavailable                                                                          | Focused summary/noise tests passed              |
| Codebase scans                  | Approved local roots, relative paths, bounded scanner metadata, compact failures                                       | Runtime memory and manager-owned issues/status                     | Local-only scanners; no provider transfer for raw scan payloads                                                                             | Focused scanner/orchestration tests passed      |
| On-demand analysis/project scan | Safe relative code-file selection and sanitized workspace summaries                                                    | Runtime memory and manager-owned analysis/project scan results     | Two-level provider opt-in with deterministic local fallback                                                                                 | Focused analysis/project tests passed           |
| Web Quest Board actions         | Safe IDs, action intent labels, compact feedback states                                                                | Browser Zustand state and local server requests                    | Local server only; no hosted analytics or executor dispatch in this phase                                                                   | Focused web action tests passed                 |

***

## Security Controls

| Control                     | Expected Behavior                                                                                                                                   | Evidence Status                                                                                     |
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| Input validation            | Route bodies and IDs are schema/type checked before manager mutation.                                                                               | PASS - route and protocol tests cover validation and compact errors.                                |
| Duplicate action prevention | Accept, dismiss, issue-dismiss, and scan/analysis/project triggers reject or guard concurrent duplicate operations.                                 | PASS - focused server and web tests cover conflicts, pending guards, and duplicate triggers.        |
| Approved scan roots         | Scan roots must be approved, non-root, non-symlink, and privacy bounded.                                                                            | PASS - scanner, route, and web scan tests cover approved-root and safe-path behavior.               |
| Error boundaries            | External responses use compact labels and do not expose stack traces, secrets, raw prompts, file contents, command output, or broad absolute paths. | PASS - focused tests and docs use summarized evidence only.                                         |
| Provider opt-in             | External LLM transfer requires credentials and explicit provider-transfer opt-in.                                                                   | PASS - provider-disabled fallback paths passed for idle, summary, analysis, and project scan flows. |
| Local-only persistence      | `suggestions.json` is local file state and is not sent to hosted services by persistence.                                                           | PASS - privacy docs and persistence evidence recorded this boundary.                                |
| Manual deletion             | Operators can delete `suggestions.json` from the configured state directory while the server is stopped.                                            | PASS - documented in privacy/security docs and handoff notes.                                       |
| Trusted erasure no-claim    | Full trusted unified erasure remains unavailable/no-claim for `suggestions.json` and runtime memory surfaces.                                       | PASS - docs explicitly preserve the no-claim boundary.                                              |

***

## No-Claim Boundaries

* No hosted identity or hosted storage claim.
* No analytics, suggestion telemetry, or entitlement gate claim.
* No public replay hosting or Worker federation claim for Quest Board payloads.
* No real executor, Docker, remote terminal, file operation, or task queue claim.
* No codebase-issue accept-as-quest claim.
* No full trusted unified erasure claim for `suggestions.json`, runtime scan memory, or LLM runtime memory.

***

## Evidence Rules

Safe evidence may include command names, exit statuses, route names, event names, HTTP status codes, compact error labels, and counts.

Do not record raw prompts, transcripts, file contents, command bodies, terminal output, provider payloads, secrets, tokens, authorization headers, env values, raw `suggestions.json` content, broad absolute paths, or raw persisted suggestion payloads.

***

## Final Assessment

Validation passed. No hardcoded secret, raw local payload, hosted-service claim, executor claim, entitlement claim, telemetry claim, or trusted unified erasure claim was introduced.


---

# 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/.spec_system/archive/sessions/phase18-session11-validation-documentation-and-handoff/security-compliance.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.
