Premium

Immutable audit history

Capture immutable workflow audit snapshots with linked SHA-256 hashes. Each entry records the actor, action, sequence, event/mutation identifiers, and the preceding hash so a supplied history can be checked for integrity.

Loading interactive demo…

What you configure

getAuditHistory
Read the workflow's immutable audit snapshot.
verifyAuditHistory
Verify ordering and hash consistency in the supplied history.
persistAudit
Append entries to a customer-controlled durable ledger when required.

Essential integration

This assumes the shared Quick start already provides premiumLicense and, for UI views, premiumCalendarOptions. Only the feature-specific setup is shown.

Feature-specific TypeScript
import { EnterpriseCalendarWorkflow } from '@wts-calendar/core/enterprise-workflow';

const workflow = new EnterpriseCalendarWorkflow({
  license: premiumLicense,
  actor: { id: 'editor-1', roles: ['editor'] },
  online: false,
  autoFlush: false,
  events: [
    {
      id: 'release',
      title: 'Release window',
      start: '2026-09-07T09:00:00Z',
      end: '2026-09-07T10:00:00Z',
    },
  ],
  defaultPermission: 'deny',
  permissionPolicies: [
    {
      id: 'editor-update',
      effect: 'allow',
      actions: ['update', 'flush'],
      roles: ['editor'],
    },
  ],
});

await workflow.submit({
  type: 'update',
  eventId: 'release',
  changes: { title: 'Reviewed release' },
});
workflow.setOnline(true);
await workflow.flush();
export const history = workflow.getAuditHistory();
export const intact = await workflow.verifyAuditHistory(history);
console.log(intact, history);

Behavior and lifecycle

  • Audit appends are serialized and entries include both their own hash and the previous hash.
  • Verification can detect reordered, removed, or modified entries in the supplied chain.

Limits and responsibilities

  • Hash chaining does not make browser memory durable and cannot protect a history if an attacker can replace the whole chain.
  • This feature alone is not a compliance certification or a tamper-proof storage service.
Premium

Enable this capability

Optional module
@wts-calendar/core/enterprise-workflow
Local capability ID
enterprise-workflow · enabled by package-wide Premium

Use the request form to describe your project and deployment origins. Pricing and terms are confirmed privately. A WTS license is separate from provider credentials; do not send passwords or production access tokens.

The live example uses a browser-visible deployment key restricted to this package and approved origins. It does not collect license keys or visitor credentials.

Request Premium pricing

Share the details we need to respond to your request.

Optional for this inquiry, but required before deployment. Add one origin per line without a page path. Registered HTTP localhost origins are allowed for development.

Don’t include license keys, passwords, or confidential information.