Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 0
Security
Leonard Ramminger edited this page Aug 22, 2026
·
2 revisions
Security model for Tempify.
Tempify runs Lua supplied by the template author in hooks. Users must trust templates - similar to curl | bash or Makefile targets.
| Rule | Detail |
|---|---|
| Write access | Only within the build root |
| Read access | Build root + template files |
| Path traversal | ../ and absolute paths outside → abort |
| Timeout | Configurable (--hook-timeout-ms, default from config) |
| Disable | --no-hooks / --accept-hooks no |
E2E tests: tests/security/e2e/TempifyHookSandboxE2ETests.cpp
--accept-hooks ask(default with TTY): explicit consent- Trust store:
$XDG_DATA_HOME/tempify/trust/hooks.json tempify infoshows hook presence before render
- Questions with
sensitive = true- masked input - Lockfile redacts sensitive values in logs/output (E2E tested)
- Namespace and path validation in questions (
validatecallbacks) tempify validate/lintrecommended before execution
- Prebyte pinned via CMake
- Releases published via GitHub Actions
- ReqPack catalogs: only add trusted repository URLs
Report vulnerabilities via GitHub Security Advisories or private contact paths in the repository.
Tempify · Repository · Issues · Releases
Documentation lives in this wiki. For a build quickstart, see the README in the repository.
Prebyte (template engine) is a separate project bundled by Tempify.
- CLI Reference
- Questions & Answers
- Configuration
- Render Options
- Hooks (Users)
- Reapply & Diff
- Shared Template Store
- Prebyte Passthrough
- Shell Completion