githubEdit

Demo using UI

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.

Last updated

Was this helpful?