SignalBridge
SignalBridge / Evidence viewer

Security decisions.
Evidence you can trace.

SignalBridge connects application access to security investigations. Explore real tool runs, compare source events with alerts, and inspect the evidence behind a finding.

Aman Agarwal · Recorded runs in an isolated lab

Native tool runs · October 3 to October 5

Real tools, real failures, recorded results.

8 passed · 1 partial

Each run used a real tool in an isolated lab. Figures are read from the run's receipt and checked when this page is built.

Latest recorded application proof · October 2

Permission removed. Private access observed. One investigation.

Follow the genuine reference-app run: 23 processed events, a detected document-access defect and verified restoration controls. The later Wazuh collection failure is retained alongside it.

Follow the access evidence →
Application metadata → delivery ledger → Wazuh → reviewed receipt No production telemetry or live service connection
September integration runs

Inspect the tools. Follow the records.

Recorded lab execution

These are retained outputs from real tools. Expand records and receipts to inspect what ran, what arrived, and what failed.

Choose a system to inspect
Wazuh 4.14.8 / September replay of a lab ledger

Delivery and alert results.

A committed SignalBridge ledger was replayed through a real isolated Wazuh manager. Input IDs and payloads were reconciled against its archive and custom alerts.

  1. 01 Application lab Scoped operation and outcome metadata
  2. 02 SignalBridge ledger Committed, retryable file handoff
  3. 03 Wazuh manager JSON decoding, archive and custom rules
  4. 04 Receipt import Reconciled counts and analyst visibility
1 Observed boundary signal Rule 100201
2 Synthetic boundary signal Rule 100202
8 Denied request Rule 100203
20 Record not visible Rule 100204

Why did these records alert?

The same outcome can mean different things depending on its source. Compare six actual records with the rule conditions that apply to them. The explanation was checked against all 64 recorded results.

Observed boundary signal · rule 100201, level 12

Allowed read with a lab-observed boundary-change reason. Verify the permission context.

migration_lab · private_record.read · allowed · policy_regression

The parent rule and every displayed child condition match. The recorded Wazuh rule and level agree with these predicates.

Parent gate followed by the matching child rule, when present
Field Recorded value Required pattern Match
export_version 1 ^1$ Yes
app bettail ^(bettail|netted)$ Yes
environment lab ^(lab|test)$ Yes
source migration_lab ^(migration_lab|synthetic_demo)$ Yes
event_id 9f1f1ea2-2780-4d22-af7c-9875bce0d102 ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ Yes
occurred_at 2026-09-24T02:05:58.150000+00:00 ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9:.+-]{8,25}(Z)?$ Yes
operation private_record.read ^(private_record\.read|membership\.change|session\.verify)$ Yes
outcome allowed ^(allowed|denied|not_visible|error)$ Yes
reason policy_regression ^(member|owner|membership_required|membership_removed|resource_unavailable|session_invalid|mfa_required|dependency_unavailable|policy_regression)$ Yes
source migration_lab ^migration_lab$ Yes
operation private_record.read ^private_record\.read$ Yes
outcome allowed ^allowed$ Yes
reason policy_regression ^(membership_removed|policy_regression)$ Yes
Jump to record 9f1f1ea2 and expand its input/result
Synthetic comparison · rule 100202, level 5

Allowed read from a declared synthetic scenario. A detector exercise, not a breach.

synthetic_demo · private_record.read · allowed · membership_removed

The parent rule and every displayed child condition match. The recorded Wazuh rule and level agree with these predicates.

Parent gate followed by the matching child rule, when present
Field Recorded value Required pattern Match
export_version 1 ^1$ Yes
app bettail ^(bettail|netted)$ Yes
environment lab ^(lab|test)$ Yes
source synthetic_demo ^(migration_lab|synthetic_demo)$ Yes
event_id be113c63-0a02-4308-986a-dcde4030ff4c ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ Yes
occurred_at 2026-09-24T05:14:57.315000+00:00 ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9:.+-]{8,25}(Z)?$ Yes
operation private_record.read ^(private_record\.read|membership\.change|session\.verify)$ Yes
outcome allowed ^(allowed|denied|not_visible|error)$ Yes
reason membership_removed ^(member|owner|membership_required|membership_removed|resource_unavailable|session_invalid|mfa_required|dependency_unavailable|policy_regression)$ Yes
source synthetic_demo ^synthetic_demo$ Yes
operation private_record.read ^private_record\.read$ Yes
outcome allowed ^allowed$ Yes
reason membership_removed ^(membership_removed|policy_regression)$ Yes
Jump to record be113c63 and expand its input/result
Denied request · rule 100203, level 3

The request was denied. This may show a working permission boundary.

synthetic_demo · private_record.read · denied · membership_required

The parent rule and every displayed child condition match. The recorded Wazuh rule and level agree with these predicates.

Parent gate followed by the matching child rule, when present
Field Recorded value Required pattern Match
export_version 1 ^1$ Yes
app bettail ^(bettail|netted)$ Yes
environment lab ^(lab|test)$ Yes
source synthetic_demo ^(migration_lab|synthetic_demo)$ Yes
event_id 1c92ffff-b00d-4fdf-ac49-c621f1a7752f ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ Yes
occurred_at 2026-09-24T02:10:19.763000+00:00 ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9:.+-]{8,25}(Z)?$ Yes
operation private_record.read ^(private_record\.read|membership\.change|session\.verify)$ Yes
outcome denied ^(allowed|denied|not_visible|error)$ Yes
reason membership_required ^(member|owner|membership_required|membership_removed|resource_unavailable|session_invalid|mfa_required|dependency_unavailable|policy_regression)$ Yes
operation private_record.read ^private_record\.read$ Yes
outcome denied ^denied$ Yes
Jump to record 1c92ffff and expand its input/result
Hidden record · rule 100204, level 3

The record was not visible. Absence alone does not establish an authorization denial.

migration_lab · private_record.read · not_visible · resource_unavailable

The parent rule and every displayed child condition match. The recorded Wazuh rule and level agree with these predicates.

Parent gate followed by the matching child rule, when present
Field Recorded value Required pattern Match
export_version 1 ^1$ Yes
app bettail ^(bettail|netted)$ Yes
environment lab ^(lab|test)$ Yes
source migration_lab ^(migration_lab|synthetic_demo)$ Yes
event_id 0a0037f7-cd5c-475b-b2eb-f2b629c08c15 ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ Yes
occurred_at 2026-09-24T02:05:58.145000+00:00 ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9:.+-]{8,25}(Z)?$ Yes
operation private_record.read ^(private_record\.read|membership\.change|session\.verify)$ Yes
outcome not_visible ^(allowed|denied|not_visible|error)$ Yes
reason resource_unavailable ^(member|owner|membership_required|membership_removed|resource_unavailable|session_invalid|mfa_required|dependency_unavailable|policy_regression)$ Yes
operation private_record.read ^private_record\.read$ Yes
outcome not_visible ^not_visible$ Yes
Jump to record 0a0037f7 and expand its input/result
Unclassified source · no custom alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

legacy_unclassified · private_record.read · not_visible · resource_unavailable

The parent gate rejects these fields: source. Child rules are not eligible. Unknown classification is not a benign result.

Parent gate followed by the matching child rule, when present
Field Recorded value Required pattern Match
export_version 1 ^1$ Yes
app bettail ^(bettail|netted)$ Yes
environment lab ^(lab|test)$ Yes
source legacy_unclassified ^(migration_lab|synthetic_demo)$ No
event_id 0007dd48-5c1f-4292-bd17-aac0471da23d ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ Yes
occurred_at 2026-09-24T01:42:45.280000+00:00 ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9:.+-]{8,25}(Z)?$ Yes
operation private_record.read ^(private_record\.read|membership\.change|session\.verify)$ Yes
outcome not_visible ^(allowed|denied|not_visible|error)$ Yes
reason resource_unavailable ^(member|owner|membership_required|membership_removed|resource_unavailable|session_invalid|mfa_required|dependency_unavailable|policy_regression)$ Yes
Jump to record 0007dd48 and expand its input/result
Known source, no custom alert · no custom alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

synthetic_demo · private_record.read · allowed · member

The record passes the parent gate, but no custom child rule matches its operation, outcome and reason. No alert is not a safety verdict.

Parent gate followed by the matching child rule, when present
Field Recorded value Required pattern Match
export_version 1 ^1$ Yes
app bettail ^(bettail|netted)$ Yes
environment lab ^(lab|test)$ Yes
source synthetic_demo ^(migration_lab|synthetic_demo)$ Yes
event_id 14a7af01-3efb-44e9-ae91-99247f01ef41 ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ Yes
occurred_at 2026-09-24T02:10:19.763000+00:00 ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9:.+-]{8,25}(Z)?$ Yes
operation private_record.read ^(private_record\.read|membership\.change|session\.verify)$ Yes
outcome allowed ^(allowed|denied|not_visible|error)$ Yes
reason member ^(member|owner|membership_required|membership_removed|resource_unavailable|session_invalid|mfa_required|dependency_unavailable|policy_regression)$ Yes
Jump to record 14a7af01 and expand its input/result
How the explanation is bound to the executed rules

Explanation of the reviewed historical predicates, not a new Wazuh execution. The current XML matches the executed snapshot after newline normalization.

Inspect the rule XML · SHA-256 9d31bff5f315b92108c8e6e1b56880e5511d30055d56496a33dfc1f3217f241b

Pattern comparisons explain source-reported metadata. They do not independently prove the request was unauthorized or reproduce every Wazuh engine behavior.

Inspect all 64 delivered records. Open a row to compare the exported metadata with Wazuh's recorded result. The same record ID connects both sides.

Sources: 14 observed SQL-lab records · 24 synthetic fixtures · 26 earlier records with unknown classification. No identities or private record contents are shown.

9f1f1ea2 Observed boundary signalmigration_lab · allowed 100201

SignalBridge input

Event ID
9f1f1ea2-2780-4d22-af7c-9875bce0d102
Occurred · UTC
2026-09-24T02:05:58.150000+00:00
Operation
private_record.read
Outcome / reason
allowed / policy_regression
Source
migration_lab

Wazuh observation

Archived · exact record reconciled

Rule 100201 · level 12

Allowed read with a lab-observed boundary-change reason. Verify the permission context.

Historical data from the completed replay, not a request to the running tool.

be113c63 Synthetic boundary signalsynthetic_demo · allowed 100202

SignalBridge input

Event ID
be113c63-0a02-4308-986a-dcde4030ff4c
Occurred · UTC
2026-09-24T05:14:57.315000+00:00
Operation
private_record.read
Outcome / reason
allowed / membership_removed
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

Rule 100202 · level 5

Allowed read from a declared synthetic scenario. A detector exercise, not a breach.

Historical data from the completed replay, not a request to the running tool.

e9ec6fca Synthetic boundary signalsynthetic_demo · allowed 100202

SignalBridge input

Event ID
e9ec6fca-405e-442e-9ca7-20dc72a26675
Occurred · UTC
2026-09-24T02:10:19.763000+00:00
Operation
private_record.read
Outcome / reason
allowed / membership_removed
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

Rule 100202 · level 5

Allowed read from a declared synthetic scenario. A detector exercise, not a breach.

Historical data from the completed replay, not a request to the running tool.

1c92ffff Denied requestsynthetic_demo · denied 100203

SignalBridge input

Event ID
1c92ffff-b00d-4fdf-ac49-c621f1a7752f
Occurred · UTC
2026-09-24T02:10:19.763000+00:00
Operation
private_record.read
Outcome / reason
denied / membership_required
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

Rule 100203 · level 3

The request was denied. This may show a working permission boundary.

Historical data from the completed replay, not a request to the running tool.

5682a54d Denied requestmigration_lab · denied 100203

SignalBridge input

Event ID
5682a54d-4c0f-4c42-9716-154878e1a23e
Occurred · UTC
2026-09-24T02:05:58.142000+00:00
Operation
private_record.read
Outcome / reason
denied / membership_required
Source
migration_lab

Wazuh observation

Archived · exact record reconciled

Rule 100203 · level 3

The request was denied. This may show a working permission boundary.

Historical data from the completed replay, not a request to the running tool.

5bf24e40 Denied requestsynthetic_demo · denied 100203

SignalBridge input

Event ID
5bf24e40-0e64-4510-bb99-bac32e280b6c
Occurred · UTC
2026-09-24T02:10:19.763000+00:00
Operation
private_record.read
Outcome / reason
denied / membership_required
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

Rule 100203 · level 3

The request was denied. This may show a working permission boundary.

Historical data from the completed replay, not a request to the running tool.

6d2238b3 Denied requestsynthetic_demo · denied 100203

SignalBridge input

Event ID
6d2238b3-f468-4b90-939f-9b4d4e8fa2b5
Occurred · UTC
2026-09-24T05:14:57.315000+00:00
Operation
private_record.read
Outcome / reason
denied / membership_required
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

Rule 100203 · level 3

The request was denied. This may show a working permission boundary.

Historical data from the completed replay, not a request to the running tool.

8c1b3d1e Denied requestsynthetic_demo · denied 100203

SignalBridge input

Event ID
8c1b3d1e-c1a8-41c3-80f6-58d8e53e5498
Occurred · UTC
2026-09-24T05:14:57.315000+00:00
Operation
private_record.read
Outcome / reason
denied / membership_required
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

Rule 100203 · level 3

The request was denied. This may show a working permission boundary.

Historical data from the completed replay, not a request to the running tool.

a7cbe333 Denied requestsynthetic_demo · denied 100203

SignalBridge input

Event ID
a7cbe333-c7ed-4681-89c9-1d95ee62517b
Occurred · UTC
2026-09-24T05:14:57.315000+00:00
Operation
private_record.read
Outcome / reason
denied / membership_required
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

Rule 100203 · level 3

The request was denied. This may show a working permission boundary.

Historical data from the completed replay, not a request to the running tool.

bc831255 Denied requestmigration_lab · denied 100203

SignalBridge input

Event ID
bc831255-279c-4ed8-b1b7-81302827e118
Occurred · UTC
2026-09-24T02:05:58.160000+00:00
Operation
private_record.read
Outcome / reason
denied / membership_required
Source
migration_lab

Wazuh observation

Archived · exact record reconciled

Rule 100203 · level 3

The request was denied. This may show a working permission boundary.

Historical data from the completed replay, not a request to the running tool.

d3c3ba3c Denied requestsynthetic_demo · denied 100203

SignalBridge input

Event ID
d3c3ba3c-bbf6-457a-919c-dab7b66e1f41
Occurred · UTC
2026-09-24T02:10:19.763000+00:00
Operation
private_record.read
Outcome / reason
denied / membership_required
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

Rule 100203 · level 3

The request was denied. This may show a working permission boundary.

Historical data from the completed replay, not a request to the running tool.

0a0037f7 Record not visiblemigration_lab · not_visible 100204

SignalBridge input

Event ID
0a0037f7-cd5c-475b-b2eb-f2b629c08c15
Occurred · UTC
2026-09-24T02:05:58.145000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
migration_lab

Wazuh observation

Archived · exact record reconciled

Rule 100204 · level 3

The record was not visible. Absence alone does not establish an authorization denial.

Historical data from the completed replay, not a request to the running tool.

0d8975a0 Record not visiblesynthetic_demo · not_visible 100204

SignalBridge input

Event ID
0d8975a0-2978-42dc-811e-6c4708318c93
Occurred · UTC
2026-09-24T05:14:57.315000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

Rule 100204 · level 3

The record was not visible. Absence alone does not establish an authorization denial.

Historical data from the completed replay, not a request to the running tool.

10147ef0 Record not visiblesynthetic_demo · not_visible 100204

SignalBridge input

Event ID
10147ef0-b895-4e35-a338-199f23f55a0a
Occurred · UTC
2026-09-24T02:10:19.763000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

Rule 100204 · level 3

The record was not visible. Absence alone does not establish an authorization denial.

Historical data from the completed replay, not a request to the running tool.

2a356653 Record not visiblesynthetic_demo · not_visible 100204

SignalBridge input

Event ID
2a356653-bc58-416a-a7c0-e566b3f45fde
Occurred · UTC
2026-09-24T05:14:57.315000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

Rule 100204 · level 3

The record was not visible. Absence alone does not establish an authorization denial.

Historical data from the completed replay, not a request to the running tool.

2f714712 Record not visiblesynthetic_demo · not_visible 100204

SignalBridge input

Event ID
2f714712-4850-4a3b-a809-364f99777804
Occurred · UTC
2026-09-24T05:14:57.315000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

Rule 100204 · level 3

The record was not visible. Absence alone does not establish an authorization denial.

Historical data from the completed replay, not a request to the running tool.

2f7ae5d6 Record not visiblesynthetic_demo · not_visible 100204

SignalBridge input

Event ID
2f7ae5d6-f0d9-4208-a548-195cc391c496
Occurred · UTC
2026-09-24T05:14:57.315000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

Rule 100204 · level 3

The record was not visible. Absence alone does not establish an authorization denial.

Historical data from the completed replay, not a request to the running tool.

3d3a26fa Record not visiblemigration_lab · not_visible 100204

SignalBridge input

Event ID
3d3a26fa-3175-446e-8003-9c506a167a2b
Occurred · UTC
2026-09-24T02:05:58.144000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
migration_lab

Wazuh observation

Archived · exact record reconciled

Rule 100204 · level 3

The record was not visible. Absence alone does not establish an authorization denial.

Historical data from the completed replay, not a request to the running tool.

407fe5ed Record not visiblemigration_lab · not_visible 100204

SignalBridge input

Event ID
407fe5ed-1497-406d-b1a1-158f8ed50222
Occurred · UTC
2026-09-24T02:05:58.157000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
migration_lab

Wazuh observation

Archived · exact record reconciled

Rule 100204 · level 3

The record was not visible. Absence alone does not establish an authorization denial.

Historical data from the completed replay, not a request to the running tool.

41e870d3 Record not visiblesynthetic_demo · not_visible 100204

SignalBridge input

Event ID
41e870d3-b3b3-41d8-86cb-525f6226f7eb
Occurred · UTC
2026-09-24T05:14:57.315000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

Rule 100204 · level 3

The record was not visible. Absence alone does not establish an authorization denial.

Historical data from the completed replay, not a request to the running tool.

49a5b15e Record not visiblesynthetic_demo · not_visible 100204

SignalBridge input

Event ID
49a5b15e-9ad3-4036-84c7-98036a3dbc6b
Occurred · UTC
2026-09-24T02:10:19.763000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

Rule 100204 · level 3

The record was not visible. Absence alone does not establish an authorization denial.

Historical data from the completed replay, not a request to the running tool.

4aa3ccc2 Record not visiblesynthetic_demo · not_visible 100204

SignalBridge input

Event ID
4aa3ccc2-70ba-4cdc-8d48-2afe10e55906
Occurred · UTC
2026-09-24T02:10:19.763000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

Rule 100204 · level 3

The record was not visible. Absence alone does not establish an authorization denial.

Historical data from the completed replay, not a request to the running tool.

5176d4ee Record not visiblesynthetic_demo · not_visible 100204

SignalBridge input

Event ID
5176d4ee-8575-44b6-8d05-0a551d5290eb
Occurred · UTC
2026-09-24T05:14:57.315000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

Rule 100204 · level 3

The record was not visible. Absence alone does not establish an authorization denial.

Historical data from the completed replay, not a request to the running tool.

53d9bef4 Record not visiblemigration_lab · not_visible 100204

SignalBridge input

Event ID
53d9bef4-9cd4-4942-a00e-d2c5c18d1374
Occurred · UTC
2026-09-24T02:05:58.099000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
migration_lab

Wazuh observation

Archived · exact record reconciled

Rule 100204 · level 3

The record was not visible. Absence alone does not establish an authorization denial.

Historical data from the completed replay, not a request to the running tool.

732652ff Record not visiblesynthetic_demo · not_visible 100204

SignalBridge input

Event ID
732652ff-e625-40ff-9e98-d57ac3385308
Occurred · UTC
2026-09-24T02:10:19.763000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

Rule 100204 · level 3

The record was not visible. Absence alone does not establish an authorization denial.

Historical data from the completed replay, not a request to the running tool.

7ad01e84 Record not visiblesynthetic_demo · not_visible 100204

SignalBridge input

Event ID
7ad01e84-68ab-4bcf-9293-77022f815a0a
Occurred · UTC
2026-09-24T02:10:19.763000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

Rule 100204 · level 3

The record was not visible. Absence alone does not establish an authorization denial.

Historical data from the completed replay, not a request to the running tool.

8769669b Record not visiblemigration_lab · not_visible 100204

SignalBridge input

Event ID
8769669b-e312-4b65-a4cf-2d7a7e9d3917
Occurred · UTC
2026-09-24T02:05:58.147000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
migration_lab

Wazuh observation

Archived · exact record reconciled

Rule 100204 · level 3

The record was not visible. Absence alone does not establish an authorization denial.

Historical data from the completed replay, not a request to the running tool.

b6b8d23d Record not visiblesynthetic_demo · not_visible 100204

SignalBridge input

Event ID
b6b8d23d-ba83-4272-bdf9-801a70f72806
Occurred · UTC
2026-09-24T02:10:19.763000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

Rule 100204 · level 3

The record was not visible. Absence alone does not establish an authorization denial.

Historical data from the completed replay, not a request to the running tool.

d5e027d2 Record not visiblesynthetic_demo · not_visible 100204

SignalBridge input

Event ID
d5e027d2-0e9d-481c-8b00-022c7aa1441d
Occurred · UTC
2026-09-24T02:10:19.763000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

Rule 100204 · level 3

The record was not visible. Absence alone does not establish an authorization denial.

Historical data from the completed replay, not a request to the running tool.

da635a75 Record not visiblesynthetic_demo · not_visible 100204

SignalBridge input

Event ID
da635a75-046a-4b34-858e-4b02a13a29eb
Occurred · UTC
2026-09-24T05:14:57.315000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

Rule 100204 · level 3

The record was not visible. Absence alone does not establish an authorization denial.

Historical data from the completed replay, not a request to the running tool.

efb73408 Record not visiblemigration_lab · not_visible 100204

SignalBridge input

Event ID
efb73408-e131-46e4-93a9-d5f28c06a933
Occurred · UTC
2026-09-24T02:05:58.156000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
migration_lab

Wazuh observation

Archived · exact record reconciled

Rule 100204 · level 3

The record was not visible. Absence alone does not establish an authorization denial.

Historical data from the completed replay, not a request to the running tool.

0007dd48 Archived without custom alertlegacy_unclassified · not_visible No custom alert

SignalBridge input

Event ID
0007dd48-5c1f-4292-bd17-aac0471da23d
Occurred · UTC
2026-09-24T01:42:45.280000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

083599dd Archived without custom alertlegacy_unclassified · not_visible No custom alert

SignalBridge input

Event ID
083599dd-5718-409c-ae05-c85c5d82e6b8
Occurred · UTC
2026-09-24T02:01:23.768000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

09e156b9 Archived without custom alertlegacy_unclassified · not_visible No custom alert

SignalBridge input

Event ID
09e156b9-b1d6-49da-b207-43e5709e79b5
Occurred · UTC
2026-09-24T02:01:23.768000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

14a7af01 Archived without custom alertsynthetic_demo · allowed No custom alert

SignalBridge input

Event ID
14a7af01-3efb-44e9-ae91-99247f01ef41
Occurred · UTC
2026-09-24T02:10:19.763000+00:00
Operation
private_record.read
Outcome / reason
allowed / member
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

181ba3e8 Archived without custom alertlegacy_unclassified · denied No custom alert

SignalBridge input

Event ID
181ba3e8-6203-4391-9897-9ac4f2b4c5ef
Occurred · UTC
2026-09-24T02:01:23.768000+00:00
Operation
private_record.read
Outcome / reason
denied / membership_required
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

1842110a Archived without custom alertlegacy_unclassified · not_visible No custom alert

SignalBridge input

Event ID
1842110a-ab02-4a6f-8dc7-6f2c15897b17
Occurred · UTC
2026-09-24T02:01:23.768000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

19e54285 Archived without custom alertlegacy_unclassified · not_visible No custom alert

SignalBridge input

Event ID
19e54285-90ab-447f-a699-3e6613b2cbc0
Occurred · UTC
2026-09-24T01:42:45.282000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

1cf3355e Archived without custom alertlegacy_unclassified · allowed No custom alert

SignalBridge input

Event ID
1cf3355e-31db-4688-869f-2b73290a6093
Occurred · UTC
2026-09-24T01:42:45.296000+00:00
Operation
private_record.read
Outcome / reason
allowed / owner
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

221cbec0 Archived without custom alertlegacy_unclassified · denied No custom alert

SignalBridge input

Event ID
221cbec0-1b8b-4725-9610-8137b10a90fa
Occurred · UTC
2026-09-24T02:01:23.768000+00:00
Operation
private_record.read
Outcome / reason
denied / membership_required
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

3c2a5e5a Archived without custom alertlegacy_unclassified · denied No custom alert

SignalBridge input

Event ID
3c2a5e5a-b0fa-4bce-a338-bd8fcdb31b57
Occurred · UTC
2026-09-24T02:01:23.768000+00:00
Operation
private_record.read
Outcome / reason
denied / membership_required
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

466ee734 Archived without custom alertlegacy_unclassified · allowed No custom alert

SignalBridge input

Event ID
466ee734-fd65-4863-a186-b1c0bc5a6645
Occurred · UTC
2026-09-24T01:42:45.289000+00:00
Operation
private_record.read
Outcome / reason
allowed / owner
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

5aa7a4fd Archived without custom alertsynthetic_demo · allowed No custom alert

SignalBridge input

Event ID
5aa7a4fd-e113-44c6-ace1-3ddb1d4d5dce
Occurred · UTC
2026-09-24T05:14:57.315000+00:00
Operation
private_record.read
Outcome / reason
allowed / member
Source
synthetic_demo

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

64dac00e Archived without custom alertlegacy_unclassified · not_visible No custom alert

SignalBridge input

Event ID
64dac00e-552f-4b15-ae15-f6f336df47a9
Occurred · UTC
2026-09-24T01:42:45.292000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

6950c558 Archived without custom alertlegacy_unclassified · allowed No custom alert

SignalBridge input

Event ID
6950c558-19cf-45c3-9d95-c1d0c1c3552e
Occurred · UTC
2026-09-24T01:42:45.237000+00:00
Operation
private_record.read
Outcome / reason
allowed / owner
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

6b3a48f9 Archived without custom alertlegacy_unclassified · allowed No custom alert

SignalBridge input

Event ID
6b3a48f9-e323-4a9f-a70d-e78aef467210
Occurred · UTC
2026-09-24T02:01:23.768000+00:00
Operation
private_record.read
Outcome / reason
allowed / membership_removed
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

6e4948cd Archived without custom alertlegacy_unclassified · not_visible No custom alert

SignalBridge input

Event ID
6e4948cd-a7d4-41e1-b6e5-3fac134cd859
Occurred · UTC
2026-09-24T02:01:23.768000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

6fc57b92 Archived without custom alertlegacy_unclassified · not_visible No custom alert

SignalBridge input

Event ID
6fc57b92-8c3f-4a37-9e6a-60ac93a97aff
Occurred · UTC
2026-09-24T01:42:45.238000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

70d41830 Archived without custom alertmigration_lab · allowed No custom alert

SignalBridge input

Event ID
70d41830-086e-4c0e-b841-2e3f10dce81b
Occurred · UTC
2026-09-24T02:05:58.161000+00:00
Operation
private_record.read
Outcome / reason
allowed / member
Source
migration_lab

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

7101a38c Archived without custom alertlegacy_unclassified · not_visible No custom alert

SignalBridge input

Event ID
7101a38c-0a37-4007-9a1c-5dc5011d0308
Occurred · UTC
2026-09-24T01:42:45.283000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

85c5650d Archived without custom alertlegacy_unclassified · allowed No custom alert

SignalBridge input

Event ID
85c5650d-469d-413f-85b1-722b482e3e0e
Occurred · UTC
2026-09-24T01:42:45.276000+00:00
Operation
private_record.read
Outcome / reason
allowed / owner
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

92bfd6c7 Archived without custom alertlegacy_unclassified · not_visible No custom alert

SignalBridge input

Event ID
92bfd6c7-573c-40b8-af52-7810c2022324
Occurred · UTC
2026-09-24T02:01:23.768000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

972b42bf Archived without custom alertlegacy_unclassified · not_visible No custom alert

SignalBridge input

Event ID
972b42bf-8776-4972-80fe-df9f6653e8a0
Occurred · UTC
2026-09-24T02:01:23.768000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

980ca376 Archived without custom alertmigration_lab · allowed No custom alert

SignalBridge input

Event ID
980ca376-59e5-43f3-9e55-0563474f0685
Occurred · UTC
2026-09-24T02:05:58.097000+00:00
Operation
private_record.read
Outcome / reason
allowed / member
Source
migration_lab

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

a08797ec Archived without custom alertlegacy_unclassified · denied No custom alert

SignalBridge input

Event ID
a08797ec-978c-4e75-9f38-edbe22d8aee0
Occurred · UTC
2026-09-24T01:42:45.279000+00:00
Operation
private_record.read
Outcome / reason
denied / membership_required
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

a2d78da3 Archived without custom alertmigration_lab · allowed No custom alert

SignalBridge input

Event ID
a2d78da3-7b7a-4a52-b4a8-21f722528111
Occurred · UTC
2026-09-24T02:05:58.149000+00:00
Operation
private_record.read
Outcome / reason
allowed / member
Source
migration_lab

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

a6151d91 Archived without custom alertlegacy_unclassified · allowed No custom alert

SignalBridge input

Event ID
a6151d91-fbdc-474f-b67e-0cee3a6b066e
Occurred · UTC
2026-09-24T01:42:45.285000+00:00
Operation
private_record.read
Outcome / reason
allowed / policy_regression
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

b35a765b Archived without custom alertlegacy_unclassified · allowed No custom alert

SignalBridge input

Event ID
b35a765b-1283-4230-9338-c5812afdac1e
Occurred · UTC
2026-09-24T01:42:45.285000+00:00
Operation
private_record.read
Outcome / reason
allowed / owner
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

ba37a9fb Archived without custom alertlegacy_unclassified · denied No custom alert

SignalBridge input

Event ID
ba37a9fb-0122-4b64-960b-9cbbe895ea74
Occurred · UTC
2026-09-24T01:42:45.294000+00:00
Operation
private_record.read
Outcome / reason
denied / membership_required
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

ca963698 Archived without custom alertmigration_lab · allowed No custom alert

SignalBridge input

Event ID
ca963698-8261-4c0b-9a6c-ccf13d970207
Occurred · UTC
2026-09-24T02:05:58.139000+00:00
Operation
private_record.read
Outcome / reason
allowed / member
Source
migration_lab

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

d8817646 Archived without custom alertlegacy_unclassified · allowed No custom alert

SignalBridge input

Event ID
d8817646-7265-496b-b476-e89ff5c06485
Occurred · UTC
2026-09-24T02:01:23.768000+00:00
Operation
private_record.read
Outcome / reason
allowed / member
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

db58fa8f Archived without custom alertlegacy_unclassified · not_visible No custom alert

SignalBridge input

Event ID
db58fa8f-229e-485b-8877-4bc03682da6a
Occurred · UTC
2026-09-24T01:42:45.291000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

df67ef80 Archived without custom alertlegacy_unclassified · not_visible No custom alert

SignalBridge input

Event ID
df67ef80-d9e1-47e6-9110-8a2df06f7304
Occurred · UTC
2026-09-24T02:01:23.768000+00:00
Operation
private_record.read
Outcome / reason
not_visible / resource_unavailable
Source
legacy_unclassified

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

f447bdc7 Archived without custom alertmigration_lab · allowed No custom alert

SignalBridge input

Event ID
f447bdc7-d379-41a2-85d9-c00bdcca98b0
Occurred · UTC
2026-09-24T02:05:58.154000+00:00
Operation
private_record.read
Outcome / reason
allowed / member
Source
migration_lab

Wazuh observation

Archived · exact record reconciled

No custom rule alert

Wazuh received this record without one of the custom rule alerts. This is not a benign verdict.

Historical data from the completed replay, not a request to the running tool.

Inspect the run identity, isolation and source receipts
Run ID
9432c474-f48e-4b70-87a8-9fd7d33bf51c
Finished · UTC
2026-09-25T05:51:08.743050+00:00
Input SHA-256
3c9f218f013fcc7a0f4fefafacef71e0160fd532c02ce54246cf408f12e3dd86
Execution bounds
No network or published ports · 1 CPU · 1.5 GiB RAM · read-only input snapshot · stopped after execution

This proves one bounded replay. It does not establish continuous monitoring, production coverage, cross-run exactly-once delivery or an independently audited platform.

ZAP 2.17.0 / Fixed synthetic web target

Failed scan and retry.

The isolated target was deliberately stopped for the first run. A separate retry then used three fixed GET requests. SignalBridge preserved both execution outcomes.

01 / Target unavailable

Failed. Coverage incomplete.

0 requests accepted

ZAP exited with code 1. No successful report was accepted. The failure exercise was verified; the scan did not pass.

Duration
16.403 seconds
Coverage
incomplete
Cleanup
Scanner and target stopped after testing
Inspect the exact run

3ea4b0c1-680a-4fbd-8ac2-0cd65bc04a2b

Finished 2026-09-25T08:33:28.036409+00:00

Imported receipt SHA-256

3c9fc6087e55e553a259f46f078f1a2e3a29a508d056dde81b4b246d213ac7d2

02 / Separate retry

Completed. Passive checks only.

3 requests accepted

5 normalized findings. The missing-header rule matched 2 intended paths and did not match the clean control path.

Duration
20.619 seconds
Coverage
fixed-fixture-only
Cleanup
Scanner and target stopped after testing
Inspect the exact run

9136c7c9-3515-4797-8518-24f80d0ce148

Finished 2026-09-25T08:34:00.820748+00:00

Imported receipt SHA-256

01a15d61755a9d710e8f0b4f27092e011f805a41525023cc3ac2faa68bf7ff38

2 receipts · 2 audit entries · no duplicates on repeat import

The importer checks execution provenance and records the outcome without silently upgrading coverage or declaring remediation.

Real ZAP execution against a disposable fixture. Passive checks only; no crawler, authenticated app scan, production assessment or general scanner-accuracy claim.

SignalBridge / Implementation

How the integration works.

The project includes source-aware ingestion, recoverable delivery, verified receipt import and an analyst console. Each layer has a different responsibility.

Inspect a failure condition, the control built for it, and the adverse test. These are offline regressions in the core suite; native tool executions have their separate receipts.

Interrupted delivery

Failure conditionA write stops after only part of an event batch reaches the file.

Implemented controlVerify the retained prefix and append only the missing suffix; acknowledge only after the write is flushed.

Inspect the adverse test and implementation

Seed a half-written batch, retry twice, and verify one exact complete copy plus an unchanged second retry.

Implementation · line 241
_append

Regression test · line 261
test_partial_write_recovers_exactly_once

Local file recovery; this does not prove Wazuh receipt or exactly-once delivery across replay runs.

Lost acknowledgement

Failure conditionFile bytes are complete, but the database still says the batch is pending.

Implemented controlRecognize the exact existing bytes, flush them again and advance the database checkpoint without appending a duplicate.

Inspect the adverse test and implementation

Place the complete batch before its checkpoint and verify the retry performs a flush without changing file bytes.

Implementation · line 270
publish

Regression test · line 276
test_full_file_before_database_commit_recovers_without_reappend

An injected acknowledgement gap, not a physical power-loss or PostgreSQL crash experiment.

Damaged evidence

Failure conditionAn imported receipt is changed to claim extra records, a different application or a continuous connection.

Implemented controlRevalidate the latest receipt before presentation and show that it needs review instead of retaining a verified state.

Inspect the adverse test and implementation

Alter receipt fields, including with a recalculated digest, and require the console to suppress its verified result.

Implementation · line 22
backfill_card

Regression test · line 394
test_damaged_latest_receipt_never_falls_back_to_green

Consistency checking under a trusted local administrator; hashes are not independent attestation.

Failed scan presented as clean

Failure conditionA target outage is relabelled as a successful scan or given successful finding counts.

Implemented controlRequire the outage mode to remain failed with incomplete coverage and reject contradictory reports.

Inspect the adverse test and implementation

Change failure status, finding counts or scanner exit code separately; each contradictory bundle must be rejected.

Implementation · line 41
validate_result

Regression test · line 182
test_failed_scan_cannot_claim_pass_counts_or_successful_report

Offline validation tests supplement the separate historical ZAP outage and retry shown above.

What this says about the work

Approach: integrate real tools, protect the host and sibling applications, keep an audit trail, and show failures alongside passes.

What you can inspect: implementation, tests, source-linked receipts, safe lab constraints and the decisions behind the boundaries.

Shuffle is deferred and has no verified workflow. Wazuh/ZAP results are historical pilots. No overall Cortex XSIAM, Wiz or Splunk parity is claimed.

Separate execution / Genuine local application checks

Access checks after membership removal.

A member could read a private state and image. The lab removed their membership, reused the same session, checked access again, then restored membership and retested. The owner served as a positive control while the former member was blocked.

16 route assertions 4 setup checks 3 restoration checks
  1. Before removal

    The member can retrieve the known state and image.

    • Member · state · HTTP 200 allowed · assertion
    • Member · image · HTTP 200 allowed · assertion
  2. Remove membership

    An owner removes membership; the existing session is retained.

    • Membership change membership_removed · setup
  3. Check the same session

    Authentication still succeeds. Identity alone does not grant permission.

    • Retained session · HTTP 200 same_session_authenticated · assertion
  4. Recheck access and owner control

    The former member's state request is denied. The image is not visible; the owner can still retrieve both.

    • Former member · state · HTTP 403 denied · assertion
    • Former member · image · HTTP 404 not_visible · assertion
    • Owner control · state · HTTP 200 allowed · assertion
    • Owner control · image · HTTP 200 allowed · assertion
  5. Restore membership

    The lab restores membership before its final positive checks.

    • Membership recovery membership_restored · restoration
  6. Verify restored access

    The member sees the state and the same known image again.

    • Restored member · state · HTTP 200 allowed · restoration
    • Restored member · image · HTTP 200 allowed · restoration

What this establishes: the tested state route denied the former member despite valid authentication, while owner access and restored-member access worked. The image returned 404 for the former member and the known content for the owner and restored member; interpret those controls together.

Historical local checks of /api/state and /api/chat-image on a copied development app with synthetic identities. Separate from the Wazuh ledger replay; these are not the same events. A 404 alone does not prove authorization denial.

Inspect the exact checks and source identity
Historical run
ba5bf541-0dcc-4559-835f-6c918eb15ac0
Finished · UTC
2026-09-24T18:34:01.932112+00:00
Copied app revision
286c2d7461917eb1177122b67be270f963af1232 · modified copied snapshot
Copied snapshot digest
1b53511c58642fec4d1d4351e66689662f99bc6986e5067f5f08c0990b603ad0
Migration content
d101c7136840ae5e0fcfcad534b9b4d882ad7db651577a6193e89da0ffebfedd
Receipt SHA-256
84d9e151cd93d3039c2a1b14c57b6c983df11b9fc2ca7976272fc44419d9df7e

Open the complete authorization receipt · includes 23 route checks and separate service checks.

Selected recorded check Stage Result
member_next_exact_state_visible assertion passed
member_next_exact_image_visible assertion passed
route_member_removed setup passed
removed_member_same_session_still_auth_valid assertion passed
removed_member_same_cookie_next_state_denied assertion passed
removed_member_same_cookie_next_image_hidden assertion passed
owner_next_state_survives_removal assertion passed
owner_next_image_survives_removal assertion passed
route_membership_restored restoration passed
restored_member_next_state_visible restoration passed
restored_member_next_image_visible restoration passed
Software and detection verification

Test and detection results.

These checks support the implementation behind the integrations. Inspect their execution scope and source version, including the detection capabilities that remain unmet.

Executed checks, with a defined scope

This single-file demo makes no service connections, reads no application database and contains no live customer records. Source content matched the core receipt when this page was generated. The links at the end open optional files from the repository.

Offline verification
2059 Executed Python and Node tests · zero failures or skips
Verification groups
9 / 9 Tests, framework checks, migrations, lint, formatting and publication scan
Declared detection scenarios
15 / 15 Current recorded source · synthetic in-process scenarios
Predeclared challenge matrix

Challenge results, including misses.

partial

All existing rule checks passed, but three broader capability probes did not alert. That distinction matters: correct implementation is not complete threat coverage. This challenge was written by the builder with knowledge of the rules.

16 / 16 RULE CONTRACT CHECKS MET
0 / 3 DESIRED CAPABILITY PROBES ALERTED

These are separate denominators. An unmet capability remains visible even when every existing rule behaves as specified. Event metadata alone cannot prove unauthorized access or coordinated intent.

Explore all 19 challenges, unmet needs and evidence
Challenge and purpose Expectation Observed Outcome
C01 · Exactly five minutes
Rule contract · The 300-second boundary is inclusive.
R1; 1 case(s) R1; 1 case(s)
3 accepted · 0 duplicates · 3 processed
Met
C02 · One second outside
Rule contract · Three resources span 301 seconds: no R1 window contains all three.
No alert; 0 case(s) No alert; 0 case(s)
3 accepted · 0 duplicates · 3 processed
Met
C03 · Mixed failure outcomes
Rule contract · Denied and not-visible reads both contribute to R1.
R1; 1 case(s) R1; 1 case(s)
3 accepted · 0 duplicates · 3 processed
Met
C04 · Simultaneous observations
Rule contract · Three distinct resources at one timestamp still qualify.
R1; 1 case(s) R1; 1 case(s)
3 accepted · 0 duplicates · 3 processed
Met
C05 · Repeated delivery below threshold
Rule contract · Replaying two event identities cannot create a third resource.
No alert; 0 case(s) No alert; 0 case(s)
2 accepted · 2 duplicates · 2 processed
Met
C06 · Two actor boundary
Rule contract · Two reads by one actor and one by another do not meet R1.
No alert; 0 case(s) No alert; 0 case(s)
3 accepted · 0 duplicates · 3 processed
Met
C07 · Episode changes
Rule contract · Changing an episode does not reset the live actor window.
R1; 1 case(s) R1; 1 case(s)
3 accepted · 0 duplicates · 3 processed
Met
C08 · Managed-device context
Rule contract · Advisory replay suppression must not suppress the live baseline.
R1; 1 case(s) R1; 1 case(s)
3 accepted · 0 duplicates · 3 processed
Met
C09 · Revoked read denied
Rule contract · A single denied read after removal is not allowed access (R2).
No alert; 0 case(s) No alert; 0 case(s)
1 accepted · 0 duplicates · 1 processed
Met
C10 · Policy regression allowed
Rule contract · An allowed read tagged policy_regression produces R2.
R2; 1 case(s) R2; 1 case(s)
1 accepted · 0 duplicates · 1 processed
Met
C11 · Revoked read service error
Rule contract · An error is not evidence of allowed access and must not produce R2.
No alert; 0 case(s) No alert; 0 case(s)
1 accepted · 0 duplicates · 1 processed
Met
C12 · Late middle event
Rule contract · After two events are processed, a late arrival fills the qualifying window.
R1; 1 case(s) R1; 1 case(s)
3 accepted · 0 duplicates · 3 processed
Met
C13 · R2 replay after processing
Rule contract · An acknowledged duplicate cannot produce a second investigation.
R2; 1 case(s) R2; 1 case(s)
1 accepted · 1 duplicates · 1 processed
Met
C14 · Sustained activity across buckets
Rule contract · Qualifying endpoints in two UTC buckets intentionally form two cases.
R1; 2 case(s) R1; 2 case(s)
4 accepted · 0 duplicates · 4 processed
Met
C15 · Allowed read is not a failure
Rule contract · Two failures and a legitimate allowed read do not meet R1.
No alert; 0 case(s) No alert; 0 case(s)
3 accepted · 0 duplicates · 3 processed
Met
C16 · Distinct R2 events
Rule contract · Two distinct allowed-after-removal observations each retain a case.
R2; 2 case(s) R2; 2 case(s)
2 accepted · 0 duplicates · 2 processed
Met
P01 · Slow enumeration
Capability probe · Desired coverage: three resources over six minutes. The existing five-minute window may miss this pattern.
Desired: at least one alert No alert; 0 case(s)
3 accepted · 0 duplicates · 3 processed
Unmet
P02 · Distributed probing
Capability probe · Desired coverage: one read by each of three actors. The existing per-actor rule may miss coordinated activity.
Desired: at least one alert No alert; 0 case(s)
3 accepted · 0 duplicates · 3 processed
Unmet
P03 · Missing revocation context
Capability probe · Desired coverage: a membership-change observation followed by an allowed read labeled member. Current metadata lacks an authoritative affected-member relationship; this tests the need for richer source context, not proof of unauthorized access.
Desired: at least one alert No alert; 0 case(s)
2 accepted · 0 duplicates · 2 processed
Unmet
Execution
2026-10-05T17:30:16.004585+00:00 → 2026-10-05T17:30:16.424502+00:00
Run ID
8b86fb3dec004b42a35d650257aaea24
Source content
74f652fd84c22a6cc29fd22b7bc37ff2791901ea3529152e3845dce6e3988f35 · 690 files · matched at generation
Predeclared catalog
6709461d435e6dad7f89cf9e447f3629423caf9728e11118858ddcdae0cf8345
Public receipt
20261005-challenge-8b86fb3dec004b42a35d650257aaea24.json
Receipt SHA-256
ace8a0ca3915aad934335c1b56f39d7bee616cf8ff1b30e816e46edf80107eb9
  • Predeclared builder-authored cases; authors knew the rules. Not an independent blind holdout.
  • Rule-contract checks and desired capability probes have separate denominators.
  • A completed execution can contain contract failures and unsupported capabilities.
  • Synthetic source labels are fixture metadata; no real access or attacker activity was observed.
  • Membership changes lack an authoritative affected-member relationship in this event contract.
  • In-process SQLite with accidental network/process guards; not production capacity or an OS sandbox.
Inspect the executed checks and source identity

Core verification

Passed · source matched at generation

9 fixed offline check groups cover the workbench implementation. Node suites test courier and HTTP-harness behavior using mocks; their counts do not represent requests to real Supabase services.

Executed check Result Tests Seconds
django-tests Passed 1997 95.313
django-check Passed — 1.392
migration-drift Passed — 1.419
ruff-check Passed — 0.042
ruff-format Passed — 0.041
publication-scan Passed — 17.29
node-courier-tests Passed 22 0.253
node-http-harness-mock-tests Passed 17 0.125
node-bettail-route-mock-tests Passed 23 0.136
Inspect core provenance and coverage limits
Execution started
2026-10-05T17:28:04.562929+00:00
Execution finished
2026-10-05T17:30:02.792896+00:00
Run ID
20261005T172804562269Z-73bbd2b8
Git revision
e404062a53fb04a0010ed49029c2d21998277c00 · working tree had changes
Source content
74f652fd84c22a6cc29fd22b7bc37ff2791901ea3529152e3845dce6e3988f35 · 690 files
Public receipt
20261005T172804562269Z-73bbd2b8.json
Receipt SHA-256
af918701901708e1f38002c2396609436d4045f88d2f7098aeb15f0b0d1ffb04
  • Builder-operated local core verification; not an independent audit.
  • Node courier, HTTP-harness and BetTail route suites use mocks; they do not contact real services.
  • No real Supabase auth, source-app HTTP/storage, PostgreSQL concurrency or container tests.
  • No dependency advisory lookup, remote CI, deployment or production validation.
  • Hashes identify content; a filesystem administrator can replace logs and receipts.
  • Documentation and generated evidence are excluded from the source digest.
Explore the detection gap, correction and regression results

Fixing a missed scenario

Builder-authored synthetic lab

The original simulation exposed a time-window boundary gap. Compare recorded outcomes on the same declared scenarios, and inspect the individual results below.

Historical baseline

A boundary case was missed.

4 / 5 EXPECTED ALERT SCENARIOS DETECTED
1 MISSED

2026-09-24T04:40:07.878200+00:00 · Historical source content; retained unchanged.

Current recorded implementation

Rechecked against the same 15 scenarios.

5 / 5 EXPECTED ALERT SCENARIOS DETECTED
0 MISSED

2026-10-05T17:30:10.126627+00:00 · Source matched at page generation.

The comparison uses five expected-alert and ten expected-no-alert scenarios. These development cases are not an independent holdout or a measurement of production detection accuracy. A code change and its retest are separate recorded executions.

Current simulation · 15 / 15 scenarios met

passed

Executed 2026-10-05T17:30:06.420945+00:00 → 2026-10-05T17:30:10.126627+00:00 · disposable in-memory SQLite · Django in-process test client

True positive False negative False positive True negative Accepted / processed
5 0 0 10 600 / 600

Single-process SQLite harness timing includes test-client overhead; not network or production capacity. The bounded benign load generated 0 alerts. Timings are retained in metrics.json; they are not a capacity promise.

Expand all scenarios and execution identity
Scenario Expected rule Observed rule Coverage
authorized_read None None Met
distinct_private_failures R1 R1 Met
same_resource_retries None None Met
below_threshold None None Met
bucket_boundary_gap R1 R1 Met
revoked_read_allowed R2 R2 Met
controlled_policy_fault R2 R2 Met
successful_membership_change None None Met
session_errors_not_private_reads None None Met
dependency_errors None None Met
mixed_sources None None Met
cross_application None None Met
mixed_environments None None Met
out_of_order R1 R1 Met
duplicate_delivery None None Met
Run ID
e69afefc6019460cbbbac918f04f637d
Git revision
e404062a53fb04a0010ed49029c2d21998277c00 · working tree had changes
Source content
74f652fd84c22a6cc29fd22b7bc37ff2791901ea3529152e3845dce6e3988f35 · 690 files
Public receipt
20261005-simulation-e69afefc6019460cbbbac918f04f637d.json
Receipt SHA-256
5724ccf83f6c21b3d02bd60111aadd4c4f5fd06677e444f766930fb1651321de
Recorded result hash
084157f3a123e80e8d26d0e6531931e7be9157e62e122d2953c07c8c1b975026 · private original bytes not reread by this page builder

Not tested in this simulation:

  • Endpoint or cloud inventory
  • Live adversary exploitation
  • Production traffic
  • Multi-node availability
  • PostgreSQL concurrency or crash durability
  • Network HTTP latency
  • Competitor products
  • Independent blind holdout
  • Automated external response

Historical baseline · 14 / 15 scenarios met

partial

Executed 2026-09-24T04:40:05.353490+00:00 → 2026-09-24T04:40:07.878200+00:00 · disposable in-memory SQLite · Django in-process test client

True positive False negative False positive True negative Accepted / processed
4 1 0 10 600 / 600

Single-process SQLite harness timing includes test-client overhead; not network or production capacity. The bounded benign load generated 0 alerts. Timings are retained in metrics.json; they are not a capacity promise.

Expand all scenarios and execution identity
Scenario Expected rule Observed rule Coverage
authorized_read None None Met
distinct_private_failures R1 R1 Met
same_resource_retries None None Met
below_threshold None None Met
bucket_boundary_gap R1 None Missed
revoked_read_allowed R2 R2 Met
controlled_policy_fault R2 R2 Met
successful_membership_change None None Met
session_errors_not_private_reads None None Met
dependency_errors None None Met
mixed_sources None None Met
cross_application None None Met
mixed_environments None None Met
out_of_order R1 R1 Met
duplicate_delivery None None Met
Run ID
a69f778bb91d433691bc1c1e70b5f260
Git revision
a6398ec42994e26deabe646d980c86c29f326a9c · working tree had changes
Source content
adae7bc5ca52c84f87da77ef04a4fc9faef9a4671675bfa0d054a3af624158fd · 126 files
Public receipt
20260924-offline-simulation.json
Receipt SHA-256
fd42303052d1b63b6866f5f69ce1a39390b37df838cfe3cb9ce0f11019c1e7d6
Recorded result hash
5ee88efc509d50f5e393cbc3e0b0b7680f99bdb9689f3e33c0e0b27cf14ea673 · private original bytes not reread by this page builder

Not tested in this simulation:

  • Endpoint or cloud inventory
  • Live adversary exploitation
  • Production traffic
  • Multi-node availability
  • PostgreSQL concurrency or crash durability
  • Network HTTP latency
  • Competitor products
  • Independent blind holdout
  • Automated external response
Technical work represented

What was built.

Python and Django authorization, signed ingestion, durable queue processing, scope-aware detections, scanner-report normalization, provenance-aware review and adverse testing.

Separate receipts record genuine local Supabase Auth/REST/Storage checks, two copied BetTail application routes, and bounded synthetic Wazuh and ZAP pilots. Those executions are separate from the offline counts above. They do not establish continuous monitoring, complete application coverage or production readiness.

Interpretation

What these results show.

  • Self-run evidence, not an outside audit or an enterprise benchmark.
  • Core verification and synthetic simulation are different executions with separate dates.
  • The current source is compared with the core and current simulation receipts at generation only.
  • Public receipts are reviewed summaries, not signatures or independently attested executions.
  • Receipt bytes are hashed here; original private logs, raw results and provenance are not reread.
  • A matching source digest does not verify runtime configuration, dependencies or deployment.
  • No runtime AI, live attacker exercise, production capacity or competitor superiority is measured.