SkillLane is designed with local-first, privacy-respecting security principles.
All data is stored locally on your machine:
~/.skilllane/
├── config.json # Your configuration
├── registry.json # Installed skills index
├── skills/ # Skill files
└── runs/ # Run history
- No telemetry
- No external network calls by default
- No data sent to third parties
- You control your data
The validator scans all skill files for known secret patterns:
| Pattern | Example | Detection |
|---|---|---|
| AWS Access Key | AKIA1234567890ABCDEF |
Regex: AKIA[0-9A-Z]{16} |
| AWS Secret Key | aws_secret_access_key=... |
Regex: aws[_\-]?secret... |
| Private Key | -----BEGIN RSA PRIVATE KEY----- |
Regex: -----BEGIN...PRIVATE KEY----- |
| API Key | api_key=abc123... |
Regex: api[_\-]?key... |
| Password | password=secretpass |
Regex: password... |
| Bearer Token | bearer eyJhbG... |
Regex: bearer... |
| GitHub Token | ghp_abc123... |
Regex: gh[ps]_... |
| Slack Token | xoxb-12345-abcde |
Regex: xox[bpsar]-... |
If a secret is detected:
- The validation fails with a score penalty of -15 per secret
- The error message identifies the file and secret type
- The skill cannot be installed until the secret is removed
When running the API server, you can enable authentication:
SKILLLANE_REQUIRE_AUTH=true \
SKILLLANE_API_AUTH_TOKEN=my-secret-token \
skilllane serveWrite operations require a Bearer token when auth is enabled:
Authorization: Bearer my-secret-token
Read-only operations remain public:
GET /healthGET /v1/skilllane/skillsGET /v1/skilllane/skills/:nameGET /v1/skilllane/registryGET /v1/skilllane/registry/statsGET /v1/skilllane/doctor
Individual skill files are limited to 1MB. Files exceeding this limit generate a warning during validation. This prevents accidental inclusion of large binary data.
When installing from a git URL, SkillLane:
- Clones with
--depth 1(shallow clone only) - Clones to a temporary directory
- Validates the content before copying
- Cleans up the temporary directory
No git history is retained in the installed skill.
- Never commit secrets to skills. Use the validator to catch them.
- Enable auth for production API servers. Set
SKILLLANE_REQUIRE_AUTH=true. - Review skills before installing. Read
SKILL.mdandtools.jsonto understand what a skill does. - Use
--strictvalidation in CI. Catch issues before publishing. - Keep
~/.skilllane/private. It may contain your installed skills and run history.