Download the PHP package netresearch/nr-vault without Composer
On this page you can find all versions of the php package netresearch/nr-vault. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download netresearch/nr-vault
More information about netresearch/nr-vault
Files in netresearch/nr-vault
Package nr-vault
Short Description Secure secrets management for TYPO3 with envelope encryption, access control, and audit logging
License GPL-2.0-or-later
Homepage https://github.com/netresearch/t3x-nr-vault
Informations about the package nr-vault
nr-vault: Secure Secrets Management for TYPO3
Enterprise-grade secret management without enterprise-grade complexity.
The Problem
Your TYPO3 site integrates with Stripe, SendGrid, Google Maps, and a dozen other services. Where are those API keys right now?
Probably in plain text in LocalConfiguration.php, unencrypted in a database field, or hardcoded somewhere accessible to every backend user.
If your database leaks, your secrets leak. If you need to rotate a compromised key, you're editing config files and redeploying.
How Secrets Are Typically Stored
| Method | Security | Operational Reality |
|---|---|---|
| External Services (HashiCorp Vault, AWS SM) | ⭐⭐⭐⭐⭐ | Infrastructure cost, network access, auth to service |
| Environment Variables | ⭐⭐⭐ | Deployment/host access required, restart to change, no rotation UI, no audit trail |
| Files outside webroot | ⭐⭐⭐ | Deployment/host access required, hard to rotate, no management interface |
| nr-vault (encrypted DB) | ⭐⭐⭐⭐ | Runtime manageable via TYPO3 backend, rotate anytime, full audit trail |
| Plain text in config/DB | ⭐ | ❌ No protection |
Why nr-vault?
All "more secure" methods require either external infrastructure, deployment pipelines, or server access. And they all lack a management UI and audit trail.
| Challenge | Env Vars / Files | nr-vault |
|---|---|---|
| Rotate a compromised API key | Call DevOps, redeploy, restart | Click in backend, done |
| See who accessed a secret | Check deploy logs (if any) | Full audit log with timestamps |
| Emergency credential revocation | Wait for deployment pipeline | Immediate via backend module |
| Non-technical editor updates SMTP password | Create support ticket | Self-service in backend |
| Compliance audit: prove access history | Manually correlate logs | Export tamper-evident audit trail |
Solution
nr-vault provides:
- Envelope encryption with AES-256-GCM via libsodium
- Master key management (file, environment variable, or derived)
- Per-secret access control via backend user groups with context scoping
- Audit logging of all secret access with tamper-evident hash chain
- Usage analytics dashboard that surfaces stale, expired, never-rotated, and unused secrets (redaction candidates), counting automated vs. manual reads separately
- Key rotation support for both secrets and master key
- TCA integration via custom
vaultSecretfield type - Vault HTTP Client - make authenticated API calls without exposing secrets
- CLI commands for DevOps automation
- Pluggable adapter architecture (external vault adapters planned for future releases)
Architecture
Encryption Model
Uses envelope encryption (same pattern as AWS KMS, Google Cloud KMS):
Benefits:
- Master key rotation only requires re-encrypting DEKs (fast)
- Each secret has unique encryption
- Compromise of one secret doesn't expose others
Quick Start
Store and Retrieve Secrets
Vault HTTP Client
Make authenticated API calls without exposing secrets to your code:
Secret placement options: Bearer, BasicAuth, Header, QueryParam, BodyField, ApiKey, OAuth2.
TCA Integration
CLI Commands
All 12 vault:* commands (full options and examples in
Documentation/Developer/Commands.rst):
Requirements
- TYPO3: v13.4 LTS / v14.3 LTS+
- PHP: ^8.2
- Extensions:
ext-sodium(bundled with PHP) - CPU: AES-NI support recommended (XChaCha20-Poly1305 fallback available)
Documentation
Full documentation is available in the Documentation/ folder and can be rendered with the TYPO3 documentation tools.
Render locally
Planning documents
Internal development documents are available in docs/:
- Architecture - System architecture overview
- API Reference - Service API documentation
- Database Schema - Database structure
- Security Considerations - Security design decisions
- Use Cases - Supported use cases
Feature Comparison
| Feature | nr-vault | Drupal Key | Laravel Secrets | Symfony Secrets |
|---|---|---|---|---|
| Envelope encryption | Yes | No | No | No |
| Per-secret DEKs | Yes | No | No | No |
| External vault support | Planned | Pluggable | Limited | HashiCorp |
| Access control | BE groups + context | By key | N/A | N/A |
| Audit logging | Full + hash chain | Limited | None | None |
| TCA/Form integration | Native | Form API | N/A | N/A |
| Key rotation CLI | Yes | Manual | Yes | Yes |
| HTTP client | Yes | No | No | No |
| OAuth auto-refresh | Yes | No | No | No |
Roadmap
- Phase 1-5: Core functionality (current focus)
- Phase 6: External adapters (HashiCorp, AWS, Azure) + Optional Rust FFI for zero-PHP-exposure
- Phase 7: Service Registry - abstract away both credentials AND endpoints
Installation
Or in DDEV:
License
GPL-2.0-or-later
[n] Developed by Netresearch DTT GmbH - Enterprise TYPO3 Solutions
All versions of nr-vault with dependencies
ext-sodium Version *
ext-json Version *
typo3/cms-core Version ^13.4 || ^14.3
typo3/cms-backend Version ^13.4 || ^14.3
typo3/cms-install Version ^13.4 || ^14.3
psr/http-client Version ^1.0
psr/http-factory Version ^1.0