= Security Policy
:toc:

== Supported Versions

[cols="1,1"]
|===
| Version | Supported

| 2.x
| ✓

| 1.x
| ✗
|===

== Reporting a Vulnerability

If you discover a security vulnerability in STATE, please report it responsibly.

=== How to Report

. *Do NOT* open a public issue for security vulnerabilities
. Email: security@example.com (replace with actual contact)
. Or use GitLab's confidential issue feature if available

=== What to Include

* Description of the vulnerability
* Steps to reproduce
* Potential impact assessment
* Any suggested fixes (optional)

=== Response Timeline

* *Acknowledgment*: Within 48 hours
* *Initial Assessment*: Within 7 days
* *Resolution Target*: Within 30 days for critical issues

=== Scope

This security policy covers:

* The STATE Guile Scheme library (`lib/`)
* STATE.scm template files
* Example configurations

=== Out of Scope

* User-generated STATE.scm files
* Third-party minikanren implementations
* Issues in Guile Scheme itself

== Security Considerations

=== STATE.scm Files

STATE.scm files may contain:

* Personal information (name, roles)
* Project names and descriptions
* File paths from your system

*Recommendations:*

* Do not commit STATE.scm files with sensitive data to public repositories
* Review files before sharing
* Use `.gitignore` to exclude personal state files

=== Code Execution

STATE.scm files are Scheme code and will be evaluated when loaded.

*Mitigations:*

* Only load STATE.scm files from trusted sources
* Review files before loading in Guile REPL
* The library modules do not execute arbitrary code from state files

== Security Design Principles

. *Minimal Dependencies*: Core functionality has no external dependencies
. *No Network Access*: STATE does not make network requests
. *No File System Writes*: Library only reads state, never writes automatically
. *Sandboxed Evaluation*: State data is treated as data, not executable code
