| title | AI Documentation Security | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| lead | Security and transparency for AI-ready documentation | ||||||||||
| description | Learn about the security measures and compilation process for Chainguard's AI documentation bundles | ||||||||||
| type | article | ||||||||||
| date | 2025-07-30 10:00:00 +0000 | ||||||||||
| lastmod | 2025-07-30 10:00:00 +0000 | ||||||||||
| draft | false | ||||||||||
| images | |||||||||||
| weight | 60 | ||||||||||
| seo |
|
||||||||||
| menu |
|
Chainguard's AI documentation bundles are compiled with multiple security measures to ensure developers can trust the content they're using with AI coding assistants. This page details our security practices and compilation process.
Every compilation runs through multiple security checks:
- Secret Detection: We scan for API keys, tokens, and other sensitive data
- Pattern Matching: Common secret patterns are automatically redacted
- File Size Limits: Individual files limited to 10MB, total bundle to 50MB
- Extension Filtering: Only
.md,.html, and.jsonfiles are processed
All documentation bundles are signed using Sigstore/Cosign:
- Keyless Signing: Using OIDC identity verification
- Transparency Log: All signatures recorded in Rekor
- Certificate Chain: Full certificate provided for verification
- Multiple Signatures: Both individual files and bundles are signed
We ensure content hasn't been tampered with:
- SHA-256 Checksums: For all files in the bundle
- Signed Checksums: The checksum file itself is signed
- Build Provenance: GitHub Actions workflow attestations
- Container Signing: Images signed by immutable digest with Cosign
Documentation is compiled from these official repositories:
- chainguard-dev/edu: Main documentation site
- chainguard-dev/courses: Learning materials
- chainguard-images/images-private: Image documentation
- GitHub Actions: Secure, ephemeral build environment
- Resource Limits: CPU and memory constraints enforced
- Restricted Egress: Network access limited to required endpoints via StepSecurity Harden Runner
- Minimal Permissions: Only required repository access
During compilation, we automatically remove:
- Environment variables and secrets
- Internal URLs and endpoints
- Base64 encoded data blocks
- Private key materials
- Authentication tokens
Example patterns we redact:
api_key=...password=...-----BEGIN PRIVATE KEY------ GitHub tokens (
ghp_,ghs_)
Verify the container image signature before pulling documentation:
cosign verify ghcr.io/chainguard-dev/ai-docs:latest \
--certificate-identity-regexp ".*github.com/chainguard-dev/edu.*" \
--certificate-oidc-issuer https://token.actions.githubusercontent.com- Scheduled Builds: Weekly on Sundays at 2 AM UTC
- On-Demand: Triggered by documentation changes or cross-repo updates via
repository_dispatch - Container Distribution: Updated container pushed to GHCR on each build
If you discover a security issue:
- Do NOT open a public issue
- Email security@chainguard.dev
- Include:
- Description of the issue
- Steps to reproduce
- Potential impact
This indicates our security scanner detected potentially sensitive information and removed it to protect our systems and users.
Yes! The compilation scripts are open source:
git clone https://github.com/chainguard-dev/edu
cd edu
python3 scripts/compile_docs.pyBuild logs are public on GitHub Actions:
- Ensure you have the latest version of cosign
- Check your internet connection (for transparency log verification)
- Try downloading the files again
- Report persistent issues to support@chainguard.dev