Project Compass AI Governance Policy
This policy describes how Compass governs its own use of artificial intelligence, including the Claude powered "Explain This Finding" feature, in alignment with the NIST AI Risk Management Framework and the OWASP Top 10 for LLM Applications (2025).
The "Explain This Finding" button appears alongside flagged NIST AI RMF controls on the dashboard. When selected, Compass sends a small, structured piece of information to the Anthropic API, using Claude Haiku, and receives a concise, plain language explanation of the gap along with three recommended remediation steps. This feature currently operates only in local environments and will not be available in the standard Vercel deployment unless the appropriate environment variable has been configured.
Process flow: The browser (dashboard.html) submits a request to the proxy API (POST /api/explain, handled by serve.mjs), which calls the Anthropic API (claude-haiku-4-5) and returns the explanation for display on the page.
(serve.mjs)
The proxy server, serve.mjs, functions as a gatekeeper. The browser never has direct access to the API key, and the proxy determines exactly which fields are permitted to be transmitted. No session data, log content, organization name, or user identity leaves the local server at any point.
| Data Field | Sent to Claude? | Classification | Notes |
|---|---|---|---|
control_id (e.g. GV.PO-1) |
✓ YES | Public standard | A NIST control identifier, not specific to any organization |
control_name (e.g. "AI Risk Policy") |
✓ YES | Public standard | A descriptive label drawn from the public NIST framework |
status (Gap / Partial / Met) |
✓ YES | Non-identifying | A structural category value, not tied to any organization |
finding_text |
✓ YES | Non-identifying | A fixed sentence such as "Control X, Name, is unmet," with no organization name, log content, or user data |
| Organization name | ✗ NO | Sensitive, personal | Remains within the browser session only |
| Log file contents | ✗ NO | Sensitive, operational | Never leaves the browser; all processing occurs on the user's device |
| User name or email | ✗ NO | Sensitive, personal | Remains within the login session and is never included in any request to the API |
| AI tool inventory | ✗ NO | Sensitive, operational | Remains within the session and is never included in any server call |
| NIST gap scores or counts | ✗ NO | Sensitive, operational | Calculated within the browser and never transmitted |
Compass applies the same standard to its own AI feature that it applies when evaluating a client's AI tools. The following outlines how each relevant control applies to the "Explain This Finding" feature.
| OWASP ID | Risk | Control Applied | Status |
|---|---|---|---|
| LLM01:2025 | Prompt Injection | There is no free text field through which a user can reach the model. All content sent to Claude is drawn from a fixed set of approved fields, constructed server side rather than entered by a user, leaving no opportunity to introduce unauthorized instructions. | Addressed |
| LLM02:2025 | Sensitive Information Disclosure | As shown in the data classification table above, no personal information, organization name, log content, or inventory data is transmitted. This restriction is enforced at the server level rather than the browser level. | Addressed |
| LLM03:2025 | Supply Chain Risk | Anthropic is a named, contracted vendor. The specific model version, claude-haiku-4-5-20251001, is fixed within the code rather than permitted to update automatically. Vendor risk is reviewed quarterly. |
Addressed |
| LLM04:2025 | Data and Model Poisoning | Compass does not fine tune Claude or provide feedback that could influence future versions of the model. The integration performs read only inference. | Not applicable |
| LLM05:2025 | Improper Output Handling | All output returned by Claude is safely escaped prior to being displayed, preventing execution as code. The only formatting permitted is bold text, converted from simple markdown. | Addressed |
| LLM06:2025 | Excessive Agency | Claude has no access to tools, memory, or the ability to take action within this integration. It returns text only, and its output never triggers an automated action. | Addressed |
| LLM07:2025 | System Prompt Leakage | The instructions provided to Claude contain no secrets, credentials, or confidential business logic. Their disclosure would not create a security risk. | Addressed |
| LLM08:2025 | Vector and Embedding Weaknesses | This feature does not employ a vector database, retrieval pipeline, or embeddings of any kind. | Not applicable |
| LLM09:2025 | Misinformation | Every explanation carries a label identifying it as AI generated and advising verification against official NIST documentation. The feature is described as advisory throughout, and never presented as authoritative. | Residual risk remains |
| LLM10:2025 | Unbounded Consumption | Each response is limited to 400 tokens. The API key is never exposed to the browser, preventing direct or repeated calls to Anthropic from outside the server. | Addressed |
.env file excluded from version control, and as an environment variable within Vercel in production. It is never committed to source control.
Compass employs artificial intelligence to support human judgment, not to replace it. The "Explain This Finding" feature is intended to help compliance professionals understand a NIST AI RMF control gap more efficiently. It does not serve as a substitute for qualified professional review, legal counsel, or official NIST documentation.
The scope of this AI feature is deliberately limited: a single function, advisory output only, no automated decision-making, and no transmission of sensitive data. This reflects the same standard of responsible AI use that Compass asks its users to apply to their own tools.
Users who observe an explanation that appears inaccurate, unexpected, or unhelpful are encouraged to report it to the Compass team. This feedback is used to refine the instructions provided to Claude or, where appropriate, to disable the feature.
This policy is reviewed on a quarterly basis. Any change affecting the data transmitted, the model in use, or the vendor relationship will be reviewed prior to deployment.