Threat Model Versioning & Restoring
Threat models change as systems evolve. Devici automatically stores historical versions of every threat model, allowing you to review past states and restore earlier versions when needed.
Versioning helps teams track design evolution, understand how risk changes over time, and recover safely from mistakes.
Use this guide when managing long-lived threat models or collaborating across design changes.
How threat model versioning works
Devici automatically saves historical versions of a threat model as changes are made.
Each version captures the full state of the model at that point in time, including:
- Elements and data flows
- Trust boundaries
- Attributes and mitigating attributes
- Generated threats
- Mitigation status
The current version represents the latest state of the threat model. All previous versions remain available as historical versions.
Tip
Versioning is especially valuable during early design, when models change frequently.
Viewing historical versions
Historical versions can be accessed from the Threat Model information drawer.
When you select a historical version:
- The model opens in read-only mode
- No changes can be made until the version is restored
- You can review structure, threats, and mitigations as they existed at that time
This allows you to safely inspect earlier decisions without affecting the current model.
Restoring a historical version
To edit a historical version, it must first be restored.
What happens when a version is restored
When you restore a historical version:
- The selected version becomes the new current version
- The previously current version is moved to the historical list
- No data is deleted from any version
- All versions remain accessible
Versions are always listed with the current version first, followed by historical versions in descending date order.
Warning
Restoring a version replaces the current model state. Ensure the team understands the change before restoring.
Collaboration and version restores
When multiple users are collaborating on a threat model, restoring a version affects collaborators differently depending on their activity.
Active collaborators
If other users are actively working on the model at the time a version is restored:
- They receive a notification that their version is outdated
- They can choose to:
- Switch immediately to the new current version, or
- Continue working temporarily in the outdated version
If they continue working in the outdated version:
- They have a limited time window to make changes
- Any changes they make are saved as a new historical version
Inactive collaborators
For collaborators who are not actively editing the model:
- The next time they open the threat model, they will see the new current version
This approach minimizes disruption while preserving all work.
When to restore a version
Restoring a previous version can be useful when:
- A design change needs to be reverted
- An experimental update produced unintended results
- You want to re-evaluate a prior approach
- A mistake was made during editing
Tip
Use version restoration as a recovery tool, not as a substitute for deliberate modeling decisions.
Best practices for versioning
To use versioning effectively:
- Restore versions intentionally and communicate changes
- Use the Threat Model Health Score to assess readiness before and after restores
- Treat restored versions as a new iteration, not a rollback of responsibility
- Re-r