tractatus/SECURITY.md
TheFlow a4db3e62ec
Some checks are pending
CI / Run Tests (push) Waiting to run
CI / Lint Code (push) Waiting to run
CI / CSP Compliance Check (push) Waiting to run
chore(vendor-policy): sweep project-self GitHub URLs to Codeberg (partial)
Addresses the documentation-layer gap after Phase A/B moved the git REMOTE from
GitHub to Codeberg but left ~100 project-self GitHub URLs embedded in markdown,
HTML, JS, and Python files. The remote-layer migration was generalised as
"GitHub is gone from the codebase" without verifying the content layer.

22 files swept in this commit. 27 additional files hold pre-existing inst_016/017/018
or inst_084 debt that would transfer on touch (hook whole-file scan). Those
await a companion hygiene-first commit before their GitHub->Codeberg flip
can land cleanly.

Sweep scope this commit:
  - README.md, SECURITY.md
  - 3 For-Claude-Web bundle files (GitHub URLs noted as "separate concern" in
    today's earlier licence-swap commits)
  - docs/markdown/deployment-guide.md
  - docs/AUTOMATED_SYNC_SETUP, PLURALISM_CHECKLIST, github/AGENT_LIGHTNING_README
  - docs/business-intelligence/governance-bi-tools
  - docs/outreach/EXECUTIVE-BRIEF-BI-GOVERNANCE (+ v2)
  - docs/research/ARCHITECTURAL-SAFEGUARDS-*
  - email-templates/README.md, base-template.html
  - 3 scripts/seed-*-blog-post.js (blog-seeding scripts)
  - scripts/upload-document.js
  - SESSION_HANDOFF_2025-10-23_FRAMEWORK_ANALYSIS.md
  - SECURITY_INCIDENT_POST_MORTEM_2025-10-21.md

Pattern swaps (longest-first):
  github.com/AgenticGovernance/tractatus-framework/issues -> codeberg.org/mysovereignty/tractatus-framework/issues
  github.com/AgenticGovernance/tractatus-framework/discussions -> .../issues (Codeberg has no discussions feature)
  github.com/AgenticGovernance/tractatus-framework.git -> codeberg.org/mysovereignty/tractatus-framework.git
  github.com/AgenticGovernance/tractatus-framework -> codeberg.org/mysovereignty/tractatus-framework
  git@github.com:AgenticGovernance/... -> git@codeberg.org:mysovereignty/...
  github.com/AgenticGovernance/tractatus (old org/repo path) -> codeberg.org/mysovereignty/tractatus-framework
  AgenticGovernance/tractatus-framework (bare) -> mysovereignty/tractatus-framework

Hook validator update (scripts/hook-validators/validate-credentials.js):
  PROTECTED_VALUES.github_org:  'AgenticGovernance'  -> 'mysovereignty'
  PROTECTED_VALUES.license:     'Apache License 2.0' -> EUPL-1.2 long form
  URL detection regex:          /github\.com\/.../   -> /codeberg\.org\/.../
  Placeholder checks + error messages updated to reflect Codeberg as
  authoritative post-migration host. Key names (e.g. `github_org`) retained
  for backward compatibility with validate-file-edit.js.

Held back from this commit (27 files total, documented reasons):

  11 historical session handoffs / closedown docs / incident reports
    (2025-10 through 2026-02) — modifying them rewrites the record to contain
    URLs that did not exist at the time of writing, AND ownership of their
    pre-existing inst_084 exposures transfers on touch.

  8 live-content docs with pre-existing inst_084 debt (port/API-endpoint/
    file-path exposures): docs/markdown/case-studies.md, technical-architecture,
    introduction-to-the-tractatus-framework, implementation-guide-v1.1,
    docs/plans/integrated-implementation-roadmap-2025, docs/governance/*,
    docs/ANTHROPIC_*, docs/GOVERNANCE_SERVICE_*, docs/RESEARCH_DOCUMENTATION_*,
    deployment-quickstart/*.

  8 live-content docs with pre-existing inst_016/017/018 debt:
    CHANGELOG.md, CONTRIBUTING.md, docs/LAUNCH_ANNOUNCEMENT, LAUNCH_CHECKLIST,
    PHASE_4_REPOSITORY_ANALYSIS, PHASE_6_SUMMARY, docs/plans/research-enhancement-
    roadmap-2025, docs/case-studies/pre-publication-audit-oct-2025.

  Also NOT in this commit (separate concerns):
  - scripts/add-inst-084-github-url-protection.js (detection-rule logic needs
    framework-level decision on post-migration semantics).
  - .claude/* (framework state).
  - docs/PRODUCTION_DOCUMENTS_EXPORT.json (DB dump).
  - package-lock.json (npm sponsor URLs, third-party).
  - .git/config embedded credentials (requires out-of-band rotation on both
    remote hosts + auth-strategy decision; user-action task).

Context: today's EUPL-1.2 sweep closed the licence-text-content layer
(5c386d0d / 6d49bfbf / ab0a6af4 / 4c1a26e8). This commit starts closing the
matching vendor-URL-content layer. Next: hygiene-first pass on the 16
live-content docs held back, then a second URL-flip pass on them.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 10:53:13 +12:00

176 lines
5.9 KiB
Markdown

# Security Policy
## Reporting Security Vulnerabilities
The Tractatus Framework takes security seriously. We appreciate your efforts to responsibly disclose your findings.
### Where to Report
**Please DO NOT report security vulnerabilities through public GitHub issues.**
Instead, please report security vulnerabilities by emailing:
**security@agenticgovernance.digital**
### What to Include
To help us better understand and resolve the issue, please include as much of the following information as possible:
- **Type of vulnerability** (e.g., SQL injection, cross-site scripting, authentication bypass)
- **Full paths of affected source files**
- **Location of the affected code** (tag/branch/commit or direct URL)
- **Step-by-step instructions to reproduce the issue**
- **Proof-of-concept or exploit code** (if applicable)
- **Impact of the vulnerability** (what an attacker could achieve)
- **Suggested mitigation** (if you have one)
### What to Expect
When you report a vulnerability, you can expect:
1. **Acknowledgment**: We will acknowledge receipt of your report within **48 hours**
2. **Assessment**: We will assess the vulnerability and determine its severity
3. **Updates**: We will keep you informed of our progress
4. **Resolution**: We will work to release a fix as quickly as possible
5. **Credit**: With your permission, we will credit you in the security advisory
### Disclosure Policy
- We request that you give us a reasonable amount of time to address the vulnerability before public disclosure
- We will keep you informed of our remediation timeline
- Once a fix is released, we will publish a security advisory crediting you (unless you prefer to remain anonymous)
### Supported Versions
We currently support the following versions with security updates:
| Version | Supported |
| ------- | ------------------ |
| 3.5.x | ✅ Yes |
| < 3.5 | Not supported |
Only the latest minor version receives security updates. We strongly recommend keeping your installation up to date.
## Security Best Practices for Implementers
If you're implementing the Tractatus Framework in your own project, we recommend:
### 1. Environment Security
- **Never commit `.env` files** to version control
- **Rotate secrets regularly** (JWT secrets, API keys, database credentials)
- **Use strong passwords** for MongoDB and admin accounts
- **Enable MongoDB authentication** in production
- **Use TLS/SSL** for all connections in production
### 2. Network Security
- **Use firewalls** to restrict access to MongoDB and application ports
- **Enable rate limiting** (already configured in the framework)
- **Use reverse proxy** (nginx/Apache) with HTTPS
- **Configure CORS** appropriately for your use case
- **Monitor failed authentication attempts**
### 3. Deployment Security
- **Run as non-root user** (framework defaults to this)
- **Use Docker secrets** for sensitive configuration
- **Keep dependencies updated** (`npm audit` regularly)
- **Enable security headers** (already configured)
- **Disable debug logs** in production
### 4. Database Security
- **Create read-only database users** for reporting
- **Enable MongoDB access control**
- **Backup encryption keys** securely
- **Regular security audits** of database access logs
- **Implement data retention policies**
### 5. API Security
- **Validate all input** (framework provides validation middleware)
- **Sanitize error responses** (already configured)
- **Use authentication** for all admin endpoints
- **Implement request signing** for critical operations
- **Monitor for unusual API patterns**
## Known Security Considerations
### MongoDB Connection
The framework uses MongoDB for persistence. Ensure your MongoDB instance:
- Has authentication enabled
- Is not exposed to the public internet
- Uses encrypted connections (TLS)
- Has appropriate network firewall rules
- Is regularly backed up
### Rate Limiting
The framework includes rate limiting middleware configured for:
- **Public endpoints**: 100 requests per 15 minutes per IP
- **Adjustable limits**: See `src/config/app.config.js`
Adjust these limits based on your expected traffic and security requirements.
### Session Management
The framework uses MongoDB to store session state. Ensure:
- Sessions have appropriate timeouts
- Session data is regularly cleaned up
- Sensitive data is not stored in sessions
### Input Validation
All API endpoints include input validation middleware. However:
- Additional validation may be needed for your specific use case
- Always validate data at multiple layers
- Never trust client-side validation alone
## Security Updates
We will publish security advisories for any vulnerabilities discovered in the framework:
- **GitHub Security Advisories**: https://codeberg.org/mysovereignty/tractatus-framework/security/advisories
- **Mailing List**: Subscribe at https://agenticgovernance.digital for security notifications
## Compliance
The Tractatus Framework is designed with security best practices in mind:
- **OWASP Top 10**: Protections against common vulnerabilities
- **Input Validation**: All endpoints validate input
- **Output Encoding**: Responses are sanitized
- **Security Headers**: Helmet middleware with custom CSP
- **Error Handling**: No stack traces in production
## Security Audit History
| Date | Type | Findings | Status |
|------------|----------------|----------|----------|
| 2025-10-21 | Internal Review| 0 Critical| Resolved |
We welcome third-party security audits. Please contact us if you're interested in conducting an audit.
## Contact
For security-related questions or concerns:
- **Email**: security@agenticgovernance.digital
- **Documentation**: https://agenticgovernance.digital
- **GitHub Issues**: For non-security bugs only
## Acknowledgments
We would like to thank the following individuals for responsibly disclosing security vulnerabilities:
*(None reported yet - this is the initial release)*
---
**Thank you for helping keep Tractatus Framework and our community safe!**