Workflow Verification

Don’t trust the configuration. Run the process.

A verification is a short chain of steps (reads, writes, or a cloud browser) that walks a real process against your live systems. Each step must observe what it expects, and cleanup always runs.

Workflow Verification · Runs

A Workday hire can reach their apps on day one

EnvironmentNew hire · Managed Mac · Office network through Zscaler

Final state0:41Daily · 06:00 UTC1 step writes

Workday + Okta + browser

3 steps + cleanup

WORKDAY_ISU · OKTA_API_TOKEN

Create a test hire in Workday

Step 1 · Code · Writes

Observed hired · starts todayMet · 5s

Wait for Okta to provision the account

Step 2 · Code · Read-only

Observed ACTIVE · 4 apps assignedMet · 11s

Sign in and open Google Workspace, Slack, and Jira

Step 3 · Cloud browser · Read-only

Observed 3 of 3 apps loadedMet · 12s

Rescind the test hire and remove the account

Cleanup · always runs

Observed rescinded · account deletedMet · 6s
Passedjust now

Steps met

3/3

Cleanup

Done

Duration

0:41

History

Passednow
Passed1d ago0:39
Passed2d ago0:42
Failed3d ago0:40

Step 3: Jira returned 403

Every app loaded as the new hire. Onboarding works from Workday to day one, and the test hire is gone.

Prove onboarding works, from Workday to day one

Step 3 expected

3 of 3 apps

loaded as the new hire

Cleanup always runs

How it works

From a sentence to a scheduled proof.
In five steps.

  1. 1

    Describe

    Name the process that must keep working, or pick a suggestion for a system you've connected. AI drafts the steps, what each must observe, and the cleanup.

  2. 2

    Credentials & environments

    Choose vault credentials by name, then the environments to run in: hosted and matched to your enterprise, or a runner inside your network.

  3. 3

    Preview & edit

    Walk the whole chain before anything runs. Steps are read-only by default, and any step that writes is marked.

  4. 4

    Run

    Each step must observe what it expects before the next one starts. Cleanup always runs, pass or fail.

  5. 5

    Schedule

    Run daily, hourly, or on demand. Every run keeps what each step observed and how long it took.

Three ways to verify

Check it. Sweep it. Trace it.
Pick the shape of the question.

Check

Does this one thing work right now? Steps act and observe, and the run passes, fails, or says it could not verify. Use it when you can cause the behaviour on demand.

Sweep

Across all these targets, where does it hold? A probe runs against every discovered target and returns a row each: affected, clear, or not observed.

Trace

Did this process run correctly, every time it ran? Events it left behind are matched to the expected steps, with a verdict for every instance. Use it for backups, leavers, renewals: things that happen on their own.

Traces

Prove it from what it left behind.
Every run, not just the last one.

Some processes can't be triggered on demand and play out over hours or days, across several systems. A Trace reads the events they emit, ties each one to an instance, and judges every instance against the steps, order, deadlines, and conditions it should have met.

Workflow Verification · Trace

Nightly Backup Copied to Azure

Key: backup run ID · expected nightly 02:00

backup.triggered
→export.completed
→transfer.completed
→checksum_verified
→retention.applied
size within ±20% of last · done by 04:00

Completed

24

last 30 nights

Need attention

3

deviated, late, missed

Not observed

1

never counted as passing

Match rate

92%

41 events uncorrelated

InstanceStateCause

Tonight · 02:00

In flightTransfer started 6 min ago, within deadline

Sun 4 Oct

DeviatedAt export.completed: 0 B vs 4.2 GB last run

Sat 3 Oct

Latechecksum_verified missing 2h past deadline

Fri 2 Oct

MissedScheduled 02:00, backup.triggered never arrived

Thu 1 Oct

Not observedJob log connector down 01:10 to 07:20

Wed 30 Sep

CompletedAll 5 steps in order, 4.1 GB, 38 min
Every run judged against the model

Sun 4 Oct · export

Job reported success

0 bytes written

Decided by the model

Order, deadlines, and conditions decide the state. Classifications label messy events, they never decide the verdict.

Missed runs show up

Schedules, parent events, and inventories say an instance should exist, so a run that never started is not invisible.

Gaps are never green

When telemetry is missing or events can't be correlated, the instance is Not observed, with the match rate shown.

Every state names a cause

Deviated, late, failed, or missed always comes with the step and the rule that caused it.

Trace instances

One instance, every step.
Across every system it touched.

Open any instance to see its events against the model. Stable IDs are mapped between systems, probes read the live state instead of trusting the log, and the step that broke is highlighted.

Trace · Leaver access removal · Instance

W-20431 · Same-day leaver

Late at sessions.revoked
TimeStepSourceObserved
09:02workday.termination_recordedWorkdayExpected start · worker W-20431
09:04okta.user_deactivatedOktaMapped W-20431 → 00u8f2
09:05app_assignments.removedOkta14 of 14 apps
09:06okta.account_inactiveProbeOktaLive read of the account
nonesessions.revokedOktaDeadline 10:04 passed, 3 sessions still active
09:20devices.flagged_for_returnJamfMacBook Pro C02X…

Deactivated, but still signed in

Okta shows the account inactive, yet sessions were never revoked. If the step arrives, the instance becomes Completed (late) with the delay recorded.

Events from three systems, one instance

sessions.revoked

Required within 1h

3 sessions active

Environments

Run it where your people run it.
Not from a clean browser in someone else's cloud.

A sign-in test only means something under the conditions your people sign in with. Configure each environment a verification runs in to match your enterprise, then run the same steps in all of them.

Workflow Verification

Okta App Login Verification

Run in all 4
StepsEnvironments4CredentialsRunsSchedule

Office · Managed Mac

NYC office network through Zscaler

Hosted · matched

Remote · Managed Windows

Home internet through Zscaler Private Access

Hosted · matched

Contractor · Unmanaged laptop

Public internet, no agents

Hosted · matched

London office

Your network, your devices

Your network
+ Add environment

Office · Managed Mac

Edited 2 days ago by j.rivera

Hosted · matched
Identity

Test user · Sales Representative

sales.test@acme.com, in the Sales and US Staff groups

Device

macOS 15 · managed

Enrolled in Jamf, FileVault on, CrowdStrike running

Network

Corporate egress through Zscaler

TLS inspection with your root certificate, office DNS

Location

New York, US

Office IP range 203.0.113.0/24

Browser

Chrome 129

Corporate extensions and managed browser policy

Runs on

A hosted environment configured to match this one. Switch to a runner inside your network at any time.

Run it where your people run it

4

environments, one verification, the same steps in each

Hosted, or inside your network
  • Identity, device, network, location, and browser, configured per environment
  • Hosted environments configured to match yours, or a runner inside your network
  • As many environments per verification as you need
  • Every run records which environment it ran in and where it ran
  • Traffic takes your real path: proxy, TLS inspection, mail gateway, device posture
  • Test identities and devices are yours, referenced by name like any credential

Across environments

Same verification. Every environment.
Differences side by side.

When one environment disagrees with the rest, it stands out immediately, and the run keeps the evidence from each one.

Workflow Verification · Latest run

Okta App Login Verification

3 passed1 failed
EnvironmentRan onExpectedObservedResult

Office · Managed Mac

Hosted · matchedSigns in, no MFA promptSigned in, no promptPassed

Remote · Managed Windows

Hosted · matchedMFA prompt, then accessMFA prompt, then accessPassed

Contractor · Unmanaged laptop

Hosted · matchedBlocked by device ruleSigned inFailed

London office

Your networkSigns in, no MFA promptSigned in, no promptPassed

Only the unmanaged laptop disagrees

The Okta device rule for this app changed 2 days ago. Every other environment behaves as expected, so the fix is scoped to one rule.

Same steps, every environment

Contractor · Unmanaged laptop

Expected blocked by device rule

Signed in

Library

A library of proofs.
Each with its last result.

Every verification shows the systems it touches, whether it writes, how often it runs, and what happened last time.

Workflow Verification

Verifications

All 6Scheduled 6Failed 1
VerificationSystemsStepsEffectRunsLast result

A new hire can sign in and reach their apps

Okta · browser3 + cleanupWritesDailyPassed

A user can reset their password

Okta · email4 + cleanupWritesDailyPassed

Nightly backup restores to a clean instance

AWS RDS5 + cleanupWritesWeeklyFailed

Checkout API responds within its latency budget

Cloud Run3Read-onlyHourlyPassed

DNS changes reach every zone

Cloudflare2Read-onlyDailyCould not verify

A leaver's sessions are revoked

Okta · Google3 + cleanupWritesDailyPassed

The failed restore took 4h 20m, over its 4-hour window. The fix is already in Remediation.

Start from suggestions for what you connect

Suggestions · Okta

10 ideas

ready to build from the systems you connected

Safety

Safe to run against production.
Because it has to be.

Read-only by default

New steps read. Anything more needs to be declared, and nothing runs until you press Run.

Writes are marked

Any step that changes something is flagged on the step and on the verification before it can run.

Cleanup always runs

Test users, records, and sessions are removed at the end, even when a step fails.

Credentials by name

Verifications reference vault credentials by name. Values never appear in the definition.

Examples

Processes teams prove.
Every day, not once a year.

A Workday hire can reach every app on day one
A user can reset their password
A nightly backup restores to a clean instance
A service responds within its latency budget
A leaver's sessions are revoked
Mail sends and arrives through your mail gateway
Every renewed certificate is actually served by its endpoint
Scheduled clusters scale back down after the workload
Patching reaches every device, offline ones counted as missed

Prove the process works.
Before someone finds out it doesn't.

Start with the process your helpdesk hears about most. Panaptico drafts the steps; you review them and press Run.