Open source attachment protection & concurrent-edit prevention for Confluence Cloud. Seal files, detect violations, auto-revert changes.
Confluence has no native file-locking mechanism. Any user with edit access can upload a new version of any attachment at any time — leading to concurrent edit conflicts, accidental overwrites, and no accountability. SentinelVault solves this by adding a platform-enforced seal (lock) layer on top of Confluence attachments.
Platform-enforced locks on individual attachments. Only the seal holder can modify the file. Seals track ownership, expiry, version, and download state.
Real-time monitoring of attachment edits, deletions, and page content tampering. Violations are automatically reverted within seconds.
Beyond protection, SentinelVault provides full attachment management — upload, label, delete, restore — and multi-channel notifications that keep everyone informed about file status changes.
After your Confluence site administrator installs SentinelVault, you can start using it immediately.
Navigate to any Confluence page with attachments. Open the page editor and insert the Sentinel Vault macro from the macro browser (under the Admin category). Publish the page.
The inline panel shows all attachments and their seal status. Click Seal next to any attachment you want to protect before editing.
Edit the file with confidence — no one else can overwrite it while your seal is active. When done, click Unseal to release the lock. Watchers are notified.
The primary interface for SentinelVault. A macro block embedded directly in your Confluence page, showing every attachment with its current seal status.

Click the expand arrow on any attachment to reveal additional details:

A full-screen modal for comprehensive attachment management. Open it by clicking Manage Attachments in the page banner or from within the inline panel.

Toggle visible columns. Sort by name, status, time remaining, or date. Preferences persist across sessions.
Load more attachments for pages with many files. Show or hide the inline panel macro directly from the overlay.
Seal, unseal, upload, label, watch, delete, restore, and purge — all available from one interface.
A seal is a platform-enforced lock on a specific attachment. When sealed, a record stores the operator, timestamp, expiry, version, and download link. If anyone attempts to modify a sealed attachment, SentinelVault intervenes automatically.
If someone uploads a new version of a sealed attachment, the previous version is automatically downloaded and re-uploaded, restoring the original file.
If someone moves a sealed attachment to the trash, it is automatically restored. Permanent deletions trigger cleanup and owner notification.
If a sealed embed is removed from the page body, it is surgically re-inserted at its original position without reverting other page changes.
When you need to edit a file that's currently sealed by someone else, click Watch. Sentinel Vault posts a Confluence comment that @mentions you the moment the seal is released — whether manually, by expiry, or by steward override. Confluence emails you according to your personal notification preferences.
Full attachment lifecycle management. Each capability is controlled by a separate administrator toggle.
| Action | What It Does | Admin Setting |
|---|---|---|
| Upload | Drag and drop or click to upload new attachments (up to 4 MB per file) | Always available |
| Labels | Add and remove labels on any attachment for organization and filtering | Always available |
| Delete | Remove unsealed attachments from the page (moves to Confluence trash). Sealed attachments cannot be deleted. | Allow Attachment Removal |
| Restore | Recover trashed attachments that still have seal data in SentinelVault | Allow Attachment Restore |
| Purge | Clean up leftover seal records for attachments that have been permanently deleted from Confluence | Allow Seal Cleanup |
The inline panel macro can be customized per instance via the macro settings icon.
| Setting | Options | Default |
|---|---|---|
| Column Visibility | Toggle: name, status, seal owner, labels, comment, actions, file size, file type, expiry | All visible |
| Items Per Page | 5, 10, 15, or 25 | 15 |
| Cards Per Row | 1, 2, or 3 | 2 |
| Show Upload Zone | On / Off | On |
Four independent notification channels, each configurable in the Steward Console.
| Channel | Description | Visibility |
|---|---|---|
| Toast Messages | In-app popup notifications for immediate feedback on seal/unseal actions | Current user session |
| Page Banners | Persistent ribbon alerts at the top of the affected Confluence page | All page visitors |
| Native Notifications | Confluence footer comments that @mention the relevant user (seal owner, editor, watcher, or steward) for every lifecycle event. Confluence's own notification engine then emails the mentioned user, governed by their personal notification preferences. | All page viewers |
| Watch Notifications | Release notification posted on the page when a sealed attachment is released, mentioning the watcher | Watchers only |
Accessible via Confluence Administration → Apps → Sentinel Vault Admin. Only site administrators can access this panel.

| Setting | Description | Default |
|---|---|---|
| Default Seal Duration | How long attachments stay sealed (hours, minimum 1). Individual spaces can override this. | 24 hours |
| Allow Steward Force-Unseal | Allow stewards to unseal attachments sealed by other users | Off |
| Enable Seal Expiry Notifications | When on, users get expiry notifications and seals are released automatically. When off, seals persist past expiry with periodic reminders. | On |
| Allow Attachment Removal | Users can delete unsealed attachments from the panel (moves to trash) | Off |
| Allow Attachment Restore | Users and stewards can restore trashed attachments with seal data | Off |
| Allow Seal Cleanup | Users and stewards can purge leftover seal entries for deleted attachments | Off |
| Protect Sealed Attachments in Page Body | Automatically undo page edits that remove sealed media embeds | On |
| Auto-Insert Macro on Seal | Automatically insert the Sentinel Vault panel when an attachment is sealed | Off |
| Replace Attachments Macro | When inserting the panel, replace the built-in Confluence Attachments macro (only visible when auto-insert is on) | Off |
| Reminder Frequency | How often to send periodic reminder emails, in days (only visible when expiry notifications are off) | 7 days |
| Setting | Description | Default |
|---|---|---|
| Pop-up Notifications | In-app toast popups for seal/unseal actions and violations | On |
| Page Status Banners | Persistent banner at the top of pages with sealed attachments | On |
| Native Notifications | Master toggle for Confluence comments with @mentions on seal events (must be on for sub-options to work) | On |
| Seal Confirmation Notifications | Comment posted to the page after sealing, mentioning the seal owner (nested under Native Notifications) | On |
| Seal Expiry Reminder Notifications | Comment posted when a seal has expired, mentioning the seal owner (nested under Native Notifications) | On |
| Recurring Reminder Notifications | Banner-only reminders when expiry notifications are off — no comments posted, to avoid cluttering pages | On |
Space-level administration via Space Settings → Apps → Sentinel Vault.

| Role | Who | Capabilities |
|---|---|---|
| Operator | Any Confluence user with page edit access | Seal/unseal their own attachments, view seal status, watch others' seals, upload, label, request steward access |
| Realm Steward | Space administrators & delegated users | All operator capabilities + force-unseal, access control, realm policy, seal audit, approve/deny access requests |
| Guild Member | Members of designated Confluence groups | Same as Realm Steward — all guild members automatically receive steward privileges in the configured space |
| Site Administrator | Confluence site/org admins | Full access: global settings via Steward Console, steward capabilities in all spaces |
Steward status is determined by any of: Confluence space ADMINISTER permission, membership in a configured guild, explicit steward delegation, or site/org admin status. Regular users can request steward access — denied users may re-request after 48 hours.
Every seal has a duration, after which it is eligible for automatic release. The effective duration is resolved in order:
When expiry notifications are enabled (default), the hourly Expiry Sweep automatically releases expired seals and sends notification emails. When disabled, expired seals persist (showing “Overdue”) and the system sends periodic reminder emails.
| Constraint | Limit | Notes |
|---|---|---|
| Upload file size | 4 MB | Per file, via the inline panel or overlay upload zone |
| Forge function timeout | 25 seconds | Realm scan consumer has extended 900-second timeout for large space audits |
| Seal duration | Configurable | Minimum 1 hour. Set via Steward Console or Realm Console. |
| Content protection retries | 3 attempts | Exponential backoff for version conflicts during page restoration |
| Steward re-request cooldown | 48 hours | After a denied steward access request |
| Task | Frequency | Purpose |
|---|---|---|
| Expiry Sweep | Hourly | Releases expired seals, sends halfway reminder emails at 50% duration, sends expiry notification emails |
| Seal Index Cron | Hourly | Rebuilds performance indexes for realm seal lookups, using timestamp optimization to skip unnecessary scans |
| Recurring Nudge | Daily | Sends periodic reminder emails about sealed attachments (only when expiry notifications are disabled) |
| Realm Scan Consumer | On demand | Background queue processor for space-level seal auditing, triggered by stewards from the Realm Console |
| Attachment Trigger | Real-time | Detects and responds to attachment updated, trashed, and deleted events |
| Page Content Trigger | Real-time | Detects removal of sealed media embeds from page content and surgically re-inserts them |
SentinelVault is actively developed. Here's what's on the roadmap:
Allow one or multiple users to edit a sealed attachment without granting full steward permissions. Collaborative editing with controlled access — the seal owner approves who can edit.
Go beyond attachments. Lock specific sections of a Confluence page to prevent unauthorized edits to critical content areas — headings, tables, decision logs — while leaving the rest of the page editable.
Add rules and validations to Confluence pages that are enforced on create and edit. Ensure content meets standards — required fields, formatting rules, approval gates — before publishing.
AI-powered content validation using your own API keys (BYOK). Validate page content against custom rules, style guides, tone requirements, and compliance standards automatically.
Yes. Each attachment has its own independent seal. Multiple users can hold seals on different attachments on the same page simultaneously.
If expiry notifications are enabled (default), the seal will automatically expire after the configured duration. You'll receive a reminder email at the halfway mark. If expiry notifications are disabled, the seal persists and you'll receive periodic reminders.
Yes. Sealing prevents modification (uploading a new version), not viewing. All users with page access can still download and view sealed attachments.
If content protection is enabled (default), SentinelVault detects the removal and surgically re-inserts the sealed embed at its original position. Your other page changes are preserved — only the sealed media is restored.
Click Watch on any sealed attachment. Sentinel Vault posts a Confluence comment that @mentions you the moment the seal is released, and Confluence emails you according to your personal notification preferences.
When a lifecycle event happens — your seal expires, someone tries to edit a sealed file, a steward releases your seal — Sentinel Vault posts a Confluence comment on the relevant page that @mentions you. Confluence's built-in notification system then emails you according to your personal notification settings, exactly the way mention emails work for any other Confluence comment. You stay in control of what reaches your inbox.
Guilds are Confluence groups assigned as steward teams in a space's Access Control settings. All members of a guild automatically have steward privileges in that space, without needing individual delegation.
Open the Realm Console from space settings. In the My Sealed Files tab, click "Request Steward Access." A steward will review your request. If denied, you can re-request after 48 hours.
These actions are disabled by default. A site administrator must enable them individually in the Steward Console General tab.
No. All seal records and configuration are stored in Forge KVS, which is hosted within the Atlassian Cloud platform. Sentinel Vault makes zero external network calls — every notification is delivered through native Confluence APIs.
Free on the Atlassian Marketplace. Install it in seconds and start protecting your Confluence attachments. The complete source code is also available on GitHub for transparency and community contribution.