TTL and expiry
Every vault has a time-to-live (TTL). When the TTL elapses, the vault transitions toexpired and all its contents — documents, files, and events — are deleted permanently.
Default TTL by plan
TTL starts counting from when the vault is created, not when it is sealed.
Expiry warning webhook
Prudra fires avault.expiring webhook 1 hour before expiry:
Extend TTL without persisting
Push the expiry forward usingextendVaultTtl(). This does not consume persisted vault quota:
- SDK
- cURL
extendVaultTtl() sets an absolute TTL from the current time — it doesn’t add to the remaining TTL.
Persist to survive past TTL
To keep a vault permanently (until manually deleted), usepersist() instead of extendVaultTtl():
What happens on expiry
When a vault expires:- All documents are deleted from the database
- All files are deleted from GCS (CDN URLs become invalid)
- All vault events are purged
- The vault ID returns 404 on any subsequent request
- A
vault.expiredwebhook fires
Error handling
Related
- Persist a vault — prevent expiry permanently
- Vault quota — active and persisted vault counts
- Webhooks event reference —
vault.expiringandvault.expired

