πŸ’»Demo using UI

Step by Step

Demo Video

Step By Step

1. Import-Time Configuration

When importing a policy (via file or message), users can enable tamper-resistance by selecting a dedicated β€œTrack policy changes” checkbox during the import process.

Once enabled:

  • The system captures and stores the original state of the policy

  • All future modifications can be compared against this original baseline

triangle-exclamation

2. Data Model Enhancements

When tamper-resistance is enabled, the following additional fields are stored in the database to preserve the original policy state:

  • originalChanged – Indicates whether the policy has diverged from its original state

  • originalHash – Cryptographic hash of the original policy

  • originalZipId – Reference to the stored original policy file

  • originalMessageId – Reference to the original message (for message-based imports)

File-Based Import Behavior

  • The original policy file is securely stored in the database

  • A unique file ID is assigned and linked to the policy

  • This file acts as the immutable baseline for all future comparisons

3. UI Enhancements

3.1 Policies Grid – Modified Column

A new β€œModified” column is added to the Policies grid to surface tamper status at a glance.

Possible States

  • Compare – The policy has been modified and can be compared with the original version

  • No Changes – The policy matches its original imported state

  • Status Unavailable – Original state is not available (e.g., tracking was not enabled)

3.2 Compare Action

  • Clicking Compare opens a detailed diff view

  • Users can visually inspect differences between:

    • Original imported policy

    • Current policy state

This helps users quickly understand what changed and where.

4. Indexer

The functionality for displaying policy origin, and relationships between original and derived policies has also been implemented in the Indexer.

In the policy description, new states related to this functionality are available: the Original tab is visible, the Derivations tab is visible, or no additional tab is displayed

When the Origin tab is displayed, it means that information about the parent policy is available, allowing the user to check for any differences from the parent policy

The comparison functionality remains consistent with the Guardian one, providing multiple comparison options, while the UI design has been updated

Once a policy has been used to create other policies, the Derivations tab is displayed

The Derivations tab contains a table with all derivations of the current policy

Demo Video

Youtubearrow-up-right

Last updated