Skip to main content

Audit event reference

Every change ExecBound makes inside a workspace appends one event to that workspace's audit chain, in the same transaction as the change, so a change whose event cannot be appended does not happen. Some refusals of an authenticated principal's request, or of a scheduled job's reconciliation, are recorded too, on a best-effort basis, as execution.rejected; that kind's row below says which, and no other refusal appends one. This page names every kind of event the chain can carry, when each is written and which fields its payload holds. A test holds it to the code: a kind written by a module or known to replay and missing here fails the build, as does a kind listed here that nothing knows, and so does a payload field a writer names that its row leaves out, or a field a row names that no writer of its kind is seen to write, apart from a reviewed few the test lists because they reach the payload through a helper it cannot read.

Reading an event​

Each event is one row of audit_events, and the replay export and the security event export carry exactly these fields:

FieldWhat it is
tenant_idThe workspace the event belongs to. Each workspace has one chain.
sequenceThe event's position in that chain, from 1 with no gaps.
event_idThe event's own identifier.
actor_idThe principal that acted (see below).
kindOne of the kinds on this page.
occurred_atThe database's clock when the event was appended, in UTC.
payloadA JSON object, at most 16 KiB, whose fields depend on the kind.
previous_hashThe event_hash of the event before it, or 64 zeros for the first.
event_hashSHA-256 of the canonical JSON of the event's envelope, which links the chain.

The actor is the principal on whose authority the change was made: an agent for its own requests, a person for what they do in the console, the administrator an owner command names with --actor, and the workspace's scheduler principal (kind SYSTEM) for what a scheduled job does. A person who signs in to several workspaces is a different principal in each. Many kinds also carry actor_credential_id, the credential that acted: a console session's, an API key's, or a personal access token's own, so a token's actions map to the token that took them. An owner command acting without a credential adds nothing.

Withheld values. An identity provider's subject and a directory's issuer are never refused for looking like a secret, because the provider has already vouched for them. Where one does look like a secret, the payload carries the literal WITHHELD in that field and the value's unkeyed SHA-256 beside it under subject_digest or issuer_digest. Tell a withheld value by the digest field, not by the literal, which a plain value may spell. Other text that people, agents and platforms write is screened before it reaches the chain, and refused where it is written if it is shaped like a password, key or token; the threat model lists what those screens do not reach.

Payloads only grow. A field is added to a kind as the product grows, which changes the bytes of events appended afterwards and of none already in the chain. New kinds are added too. A consumer should tolerate a field or a kind it does not know.

What replay reads. Five kinds carry decisions replay reconstructs: execution.evaluated, execution.transition, approval.transition, tenant.stop_activated and tenant.stop_released. Every other kind on this page is informational to replay: it explains a later fact and decides nothing a replay recomputes. A kind replay does not know makes a workspace's export UNSUPPORTED, because the chain is append-only, so a new kind is registered with replay in the same change that first appends one.

Where you see them. execbound audit-export writes a workspace's chain for replay, and execbound export-events posts it to a security event destination in sequence order (operations). Both read the chain and never write it. The application's own JSON logs are a separate, closed catalogue of operational events and carry none of these payloads.

The hosted service appends a few kinds of its own for its plan and signup lifecycle; they are documented with the hosted service.

Requests and executions​

KindWritten whenPayload
execution.evaluatedPolicy evaluated an agent's request at admission, or again when a person reviewed it. The payload is the decision capture replay reconstructs the decision from: the frozen request, the identity and bundle it was decided under and the evaluation itself. mode is present only for an observed decision. The actor is the agent at admission and the reviewer at review.version, stage, execution_id, operation_id, canonical_target_id, semantic_time, usage_time, finished_time, identity, frozen, bundle_id, decision, approval, reviewer, human_decision, mode
execution.transitionAn execution moved from one state to another: admitted, denied, held for approval, reserved, committed to dispatch, settled, or corrected by an administrator. from_state is null for the first transition. request_ref is the request's human reference when it has one, external_case appears on the first transition when the request named a case, and the transition adds its own detail, such as a reason or a settlement's evidence and tier.execution_id, from_state, to_state, intent_hash, plan_hash, operation_id, replay, request_ref, external_case, reason
execution.rejectedA request from an authenticated principal, or a scheduled job's reconciliation, was refused. An operation records its own refusal: an admission, an outcome report, a reconciliation, an approval decision, an emergency stop's activation or release, or a change of enforcement mode or of the approval deadline. A surface records refusals of its own as surface: the agent HTTP, MCP and Arcade surfaces record most refusals of a request made to them, such as one that does not parse or one made with a credential that is not an agent's, and the console and the human pages record refusals such as a failed CSRF check, an invalid continuation, or a personal access token asking for a route it may not use or a change it may not make. operation names what was refused and reason is the refusal code (error and refusal codes). route and method appear when the refusal knows them. The record is best effort: when it cannot be appended, the request is refused all the same and no event is written. Many other refusals append nothing, among them the console's role and body checks made before an operation runs (a person whose role does not allow the change, a body that does not validate), a rate limit's refusal, a refusal by the Arcade tool map, and any refusal of a caller that never authenticated, which is not attributable.operation, reason, actor_credential_id, route, method
execution.dispatch_attemptThe gateway took an execution's one send attempt to its provider. A lost reply never grants another. The actor is the agent that requested it.execution_id, plan_hash, operation_id, precondition_class
execution.reconciliation_requestedAn administrator or the recovery run asked the provider what became of an operation whose outcome is uncertain.execution_id, operation_id, plan_hash, reason, cancel_if_missing
execution.cancellation_requestedDuring a reconciliation that asked for it (cancel_if_missing), the provider had no record of the operation, so ExecBound asked it to cancel rather than run it later.execution_id, operation_id, plan_hash, reason
execution.checkpoint_grantedAdmission issued, or issued again, a grant for an operation an external executor performs: the deadlines to act and to report, and the precondition class.execution_id, operation_id, plan_hash, precondition_class, act_expires_at, report_expires_at, regranted
execution.outcome_reportedAn external executor's report was accepted, at the tier its evidence supports. The settlement it leads to is the execution.transition beside it. reported_at is the executor's own clock, and null when the report carries evidence.execution_id, operation_id, plan_hash, outcome, reason, tier, reported_at
execution.claim_releasedThe recovery run released the target claim an asserted settlement still held once its act window closed. The execution stays settled at the tier and impact it had.execution_id, operation_id, plan_hash, settlement_tier, reason
execution.control_point_contradictionAn Arcade control point reported on a call ExecBound denied, or one whose own inputs describe a different request from the one the decision froze. This is evidence of a misconfiguration or a bypass, not proof of one. The platform's own toolkit, tool_name and tool_version are kept, or tool_identity is WITHHELD in their place when they look like a credential; the execution's identifiers appear when the call was matched to one.contradiction, tool_identity, toolkit, tool_name, tool_version, execution_id, operation_id, plan_hash

Approvals​

KindWritten whenPayload
approval.transitionAn approval was approved, denied, expired, invalidated, or consumed by the execution it authorized. binding records the decisions it stands on, and comment is present only when a reviewer left one.execution_id, approval_id, from_state, to_state, plan_hash, binding, replay, comment
approval.decision_recordedA reviewer approved, but the approval needs more approvers than have approved so far, so it keeps waiting. The approval's own state changes in approval.transition.execution_id, approval_id, plan_hash, binding, replay, comment
approval_scope.assignedAn administrator made a person an approver for one action on one canonical target, or reactivated that assignment.approver_id, canonical_target_id, action, actor_credential_id
approval_scope.revokedAn administrator removed that assignment. Pending decisions under it then fail their scope check.approver_id, canonical_target_id, action, actor_credential_id
approval_rule.changedAn administrator saved or disabled an approval rule, which routes requests to a reviewer group by space, action and target.rule_id, change, reason
tenant.approval_deadline_changedAn administrator changed how long a new approval may wait, or turned the deadline off. Approvals already pending keep the expiry they were created with.previous, seconds, reason, principal_id, credential_id, actor_credential_id, replay

Emergency stop and enforcement mode​

KindWritten whenPayload
tenant.stop_activatedAn administrator activated the emergency stop: new admissions, approval decisions and dispatch attempts halt. dispatch_committed counts what was already committed to dispatch.stop_id, reason, principal_id, credential_id, actor_credential_id, replay, dispatch_committed
tenant.stop_releasedAn administrator released it. Nothing it halted is retried or resumed automatically.stop_id, reason, principal_id, credential_id, actor_credential_id, replay
tenant.mode_changedAn administrator switched the workspace between enforcing and observing.previous, mode, reason, principal_id, credential_id, actor_credential_id, replay

Policy​

Replay reads the five policy.bundle_* kinds to check that each one's content_hash is the hash of the bundle the export carries under its bundle_id; a mismatch refuses the export. They decide nothing beyond that. Replay compares no hash for policy.ruleset_compiled or policy.rules_changed and decides nothing from them: it reads a bundle's content from the export's own bundles, never from their payloads.

KindWritten whenPayload
policy.bundle_createdA policy bundle was written as a draft.bundle_id, content_hash, actor_credential_id
policy.ruleset_compiledA draft was compiled from a ruleset; written beside its policy.bundle_created.bundle_id, content_hash, rules, budgets, actor_credential_id
policy.rules_changedA person edited a draft's rules, which writes a successor draft. supersedes names the draft it replaced; the two drafts' own lifecycle events stand beside it.bundle_id, supersedes, content_hash, rules, budgets, actor_credential_id
policy.bundle_validatedA draft passed validation against the catalog and its mappings.bundle_id, content_hash, actor_credential_id
policy.bundle_activatedA space selected a validated bundle, so it decides that space's requests.bundle_id, content_hash, space_id, actor_credential_id, and reason when one was given (every console activation, and bundle-activate --reason)
policy.bundle_deselectedA space stopped selecting a bundle that no other space still selects.bundle_id, content_hash, space_id, actor_credential_id
policy.bundle_retiredA bundle was retired and can no longer be selected.bundle_id, content_hash, space_id, actor_credential_id

Agents, credentials and keys​

KindWritten whenPayload
principal.createdA principal was created: an agent, a person, or the workspace's scheduler principal (kind SYSTEM) just before the first event it acts in.principal_id, kind, actor_credential_id
principal.labelledA principal was given a display name, when it was added in the console, named later, or invited with person-invite.principal_id, label, actor_credential_id
principal.deactivatedA person switched a principal off. Its credentials and sessions are revoked in the same transaction, each with its own event.principal_id, reason, credentials_revoked, sessions_revoked, actor_credential_id
principal.reactivatedA person switched it back on.principal_id, actor_credential_id
agent.boundA discovered agent was bound to the principal that governs it.binding_id, agent_id, principal_id, actor_credential_id
agent.unboundThat binding was withdrawn.binding_id, agent_id, principal_id, reason, actor_credential_id
credential.issuedAn API key or another credential was issued to a principal. Its secret is never in the chain. With Rotate, replaces names the live key of the same agent the new key replaces; an issue without it writes no such key.credential_id, principal_id, kind, expires_at, replaces, actor_credential_id
credential.revokedA credential was revoked: by an administrator, because its principal was switched off or promoted, because a set-password code was redeemed, or because the directory account behind it was refused, unlinked or disabled. reason says which, and is absent for a plain revocation.credential_id, principal_id, reason, actor_credential_id
credential.deletedA revoked or expired API key was taken out of every list. Its issue and revocation stay in the chain.credential_id, actor_credential_id
personal_token.issuedAn administrator minted a personal access token for themselves.token_id, credential_id, name, expires_at, actor_credential_id
personal_token.revokedA personal access token was revoked.token_id, actor_credential_id
personal_token.deletedA revoked or expired personal access token was deleted from the list.token_id, actor_credential_id
group.createdA principal group, which limit rules and signal sources can name, was created.group_id, name
group.assignedAn agent was added to a group.group_id, principal_id
group.revokedAn agent was removed from a group.group_id, principal_id
executor_key.registeredAn external executor's public key was registered.key_id, algorithm
executor_key.rotatedA new key replaced the previous one in one step.key_id, previous_key_id, algorithm
executor_key.revokedA key was retired. Grants issued while it was current still verify.key_id
executor_key.compromisedA key was cut off as compromised: it attests nothing, whenever the grant was issued.key_id

Connector accounts, targets and context​

KindWritten whenPayload
account.createdA connector account was created for a provider.account_id, provider
mapping.createdA catalog action was bound to an account's provider operation.operation_ref, account_id, provider, action, mapping_version, context_contract_version
target.createdA canonical target was created.canonical_target_id
resource.createdA provider resource was registered as a target, with its aliases.resource_id, account_id, provider, resource_type, provider_id, version, canonical_target_id, aliases
context_source.createdA trusted context source was created, with the writers allowed to attest through it.source_id, account_id, kind, allowed_writers
context_source.deactivatedA context source was deactivated; every fact it attested then fails resolution.source_id
context.importedA context manifest was applied. The payload carries the manifest's digest and counts, never an entry's value.source_id, account_id, kind, writer, manifest_digest, manifest_bytes, entries, applied, unchanged, unknown_resources, facts_written, facts_retracted, resources_deactivated, incidents_created, incidents_updated
signal_source.createdA security signal producer was registered, with what it may attest and for whom.source_id, space_id, offered_tenant_wide, label, producer_name, producer_version_min, producer_version_max, capabilities, subject_kinds, principal_ids, principal_group_id, placement, input_path, attests_liveness, expires_at
signal_source.rotatedA producer's token was replaced; the previous one works for the grace window.source_id, expires_at, grace_seconds
signal_source.revokedA producer was revoked: every token stops and every fact it attested fails.source_id
samples.installedAn administrator installed the sample targets and their starter bundle.account_id, provider, bundle_id, content_hash, targets, actor_credential_id
samples.removedAn administrator removed them. retired says whether the starter bundle was retired too.account_id, bundle_id, retired, actor_credential_id
demo.provisionedexecbound seed-demo created one of its two synthetic workspaces.principal_count

Spaces​

KindWritten whenPayload
space.createdA space was created in the workspace.space_id, name, detail, actor_credential_id
space.renamedA space was renamed.space_id, name, actor_credential_id
space.archivedA space was archived: new work stops and every row stays readable.space_id, reason, actor_credential_id
space.unarchivedAn archived space was restored.space_id, reason, actor_credential_id
space.member_assignedA person was given a role in a space.space_id, principal_id, role, actor_credential_id
space.member_unassignedA person's membership of a space was removed.space_id, principal_id, actor_credential_id

Access and roles​

Each of these follows one successful access change. A change that promotes a person also ends their credentials, sessions and pending directory invitations, each with its own credential.revoked, human_session.revoked or identity.invitation_revoked event whose reason is ROLE_PROMOTION.

KindWritten whenPayload
access.create_groupAn administrator created a user group.subject_id, reason, change, revoked_password_resets
access.update_groupAn administrator changed a user group's name or description.subject_id, reason, change, revoked_password_resets
access.delete_groupAn administrator deleted a user group.subject_id, reason, change, revoked_password_resets
access.set_membersAn administrator set a user group's members.subject_id, reason, change, revoked_password_resets
access.set_user_rolesAn administrator set a person's roles, or an accepted invitation granted them.subject_id, reason, change, revoked_password_resets
access.group_member_addedAn invitation that named a reviewer group was accepted, and the new person joined that group. The actor is the inviter, whose authority the acceptance re-checked.subject_id, principal_id, invitation_id, reason
access.set_group_rolesAn administrator set a user group's roles.subject_id, reason, change, revoked_password_resets

People, sign-in and sessions​

KindWritten whenPayload
person.email_setA person was given the address they sign in with. Only the address's domain is recorded.principal_id, domain, actor_credential_id
password.reset_issuedA one-time set-password code was minted for a person. Whatever code was pending is revoked first.principal_id, reset_id, expires_at, actor_credential_id
password.setA person redeemed a set-password code. Every session and credential they had ends, each with its own event.reset_id
password.changedA signed-in person replaced their password, presenting the current one, where the password belongs to this workspace's sign-in rather than to an account. An account's password change is account_security.password_changed.credential_id
human_sign_in.passwordA person signed in with a password. kind is the role they signed in with.credential_id, kind, expires_at
human_sign_in.googleA person signed in with Google.credential_id, kind, expires_at, subject, subject_digest
human_sign_in.githubA person signed in with GitHub.credential_id, kind, expires_at, subject, subject_digest
human_sign_in.microsoftA person signed in with a Microsoft work account. subject is the account's tenant and object identifiers, joined by a colon.credential_id, kind, expires_at, subject, subject_digest
human_sign_in.directoryA person signed in through the workspace's own identity provider.credential_id, kind, provider_id, subject, subject_digest, expires_at
human_session.issuedA console session was issued after a sign-in.session_id, credential_id, kind, expires_at
human_session.revokedA console session ended before it expired: signed out, ended from another device, ended by an administrator, ended to admit a sixth session of one credential (reason SESSION_CAPACITY), or ended because the credential under it was.session_id, credential_id, principal_id, reason, actor_credential_id
workspace.enteredA person switched their session into another workspace they belong to.session_id

Account and account security​

Most of these are written by a person acting on their own account; account.resolve, account_security.requirement_changed and account_security.trusted_browsers_changed are an administrator's. The account_security.* kinds carry the session that acted.

KindWritten whenPayload
account.profileA person changed their own display name. The name is not copied into the chain.operation
account.requestA person asked for their data, or asked to close their account or the workspace.operation
account.resolveAn administrator completed or declined such a request. The response is not copied into the chain.operation
account_security.enrollment_startedA person began enrolling an authenticator app.session_id
account_security.factor_enabledThat enrollment was confirmed with a valid code.session_id
account_security.verifiedA person verified their second factor, with an authenticator code or a passkey.session_id, method
account_security.verification_failedA second-factor code or passkey did not verify.session_id, method
account_security.code_reusedAn authenticator code for a step this factor already used, still inside the current window, was presented again. It is not accepted and is not counted as a failure.session_id
account_security.assurance_carriedA person switched into this workspace within thirty minutes of verifying their second factor in the workspace they left, so the new session carries that verification and asks for no code. Written in the workspace switched into. It names no other workspace: the workspace and session the verification came from are recorded for the account alone (see DATA_MODEL.md).session_id (the new session), account_session_id (the account sign-in it belongs to), method, verified_at (when the factor was verified, which the new session's thirty minutes still count from)
account_security.trusted_sign_inA person signed in, or switched into this workspace, on a browser they trusted for thirty days, so the second factor was not asked for again. The session's assurance keeps the trust's original verification, so the thirty-minute step-up still asks for a code. Written in the workspace signed in to.session_id (the session the trust satisfied), browser_id (the trust used), method (how the factor behind the trust was verified), verified_at (when it was, which the step-up still counts from)
account_security.recovery_usedA person verified with one of their recovery codes.session_id, method
account_security.recovery_replacedA person replaced their recovery codes.session_id
account_security.factor_disabledA person removed their authenticator app.session_id
account_security.requirement_changedAn administrator changed who in the workspace must use a second factor: no one beyond those who choose to, administrators, or everyone.session_id, requirement
account_security.trusted_browsers_changedAn administrator allowed or forbade trusted browsers in the workspace: whether a sign-in on a browser a person trusted for thirty days may skip the second factor.session_id, allowed
account_security.passkey_addedA person registered a passkey.session_id
account_security.passkey_removedA person removed a passkey.session_id
account_security.password_changedA person changed their account's password, presenting the current one.session_id
account_security.password_setA person who signed in another way gave their account its first password.session_id
account_security.provider_link_startedA person began linking a Google, GitHub or Microsoft account to sign in with.session_id, provider
account_security.provider_linkedThat link was completed.session_id, provider
account_security.signed_outA person signed out.session_id, sessions
account_security.other_devices_signed_outA person ended their sessions on every other device.session_id, sessions

Directory sign-in​

KindWritten whenPayload
identity_provider.registeredAn administrator registered the workspace's own identity provider, as a draft.provider_id, issuer, issuer_digest, subject_claim
identity_provider.verifiedAn administrator's own first sign-in through a draft provider verified it.provider_id
identity_provider.enabledAn administrator enabled the provider for sign-in.provider_id, previous
identity_provider.disabledAn administrator disabled it, which ends every session standing on it.provider_id, previous
identity.invitedAn administrator minted a code that lets one person link their directory account. Whatever was pending for them is revoked first.principal_id, provider_id, invitation_id, expires_at
identity.invitation_revokedThat code was revoked before it was used.invitation_id, principal_id, reason
identity.linkedA directory, Google or GitHub account was bound to a person: by the person, by an administrator, or at an invited sign-in. via says how, and provider names Google or GitHub.principal_id, provider_id, provider, subject, subject_digest, via
identity.unlinkedAn administrator removed a person's directory account, which ends every session standing on it.principal_id, link_id
identity.recheck_refusedThe identity provider refused a person when their session was rechecked, so the session's credential was ended.credential_id, provider_id, reason

Teammate invitations​

KindWritten whenPayload
invitation.createdAn administrator invited someone to the workspace by email. Only the address's domain is recorded.invitation_id, email_domain, grants, expires_at, reviewer_group_id (only when the invitation names a reviewer group)
invitation.resentThe invitation's email was sent again.invitation_id
invitation.revokedThe invitation was revoked, by an administrator or because it had expired when a new one was made for the same address.invitation_id, reason
invitation.acceptedThe invited person accepted. The roles it granted are recorded by the access.set_user_roles beside it, and a reviewer group it joined by the access.group_member_added beside that. When the invitation named a group, whether it was applied and, if not, why: GROUP_GONE (deleted), GROUP_ROLES (it now grants Administrator or Policy manager), GROUP_SCOPE (it now grants something the invitation did not) or GROUP_FULL (100 members).invitation_id, principal_id, reviewer_group_id, reviewer_group_applied, reviewer_group_refusal (the last three only when the invitation named a reviewer group)

Weekly summary​

A person's own opt-in to the plain-text weekly summary. Neither decides an execution, an approval or a policy, so replay records both as informational. Sending a summary is logged, not audited.

KindWritten whenPayload
weekly_summary.subscribedA person turned their own weekly summary on under My account.none
weekly_summary.unsubscribedA person turned it off, under My account (via is settings) or with the one-click link in a summary (via is link). The actor is the subscriber either way.via

The assistant​

The assistant reads through the asking person's session and writes nothing, so its events record use and never authority.

KindWritten whenPayload
tenant.assistant_changedAn administrator switched the assistant on or off for the workspace.previous, enabled, reason, principal_id, credential_id, actor_credential_id, replay
assistant.askedThe assistant answered a question, or drafted a policy rule from a person's words (proposed). rows counts what it read and the token counts are the model's usage.turn_id, context_kind, context_id, tools, rows, model, input_tokens, cached_tokens, output_tokens, cannot_answer, proposed, actor_credential_id
assistant.explainedA person opened the assistant's explanation of a record.turn_id, context_kind, context_id, state, actor_credential_id
assistant.refusedA turn ended without an answer.turn_id, reason, tools, actor_credential_id

Monitoring​

Monitoring records what sources report and what collectors read, in tables of its own, and appends nothing to the chain for it: reporting sources, observations, findings and collection runs stay off it. Two exceptions are an administrator's acts. One is a decision about a finding. The other is a change to a monitoring connection, because a connection holds or reaches a credential (a sealed key, an operator's key file, a directory's consent), so who created, re-keyed, consented to, scheduled or revoked one is evidence beside the rest of the chain. The connection's space is on each row, and no payload carries a key, a ciphertext, a fingerprint, a consent's state or token, or the name a directory shows for the deployment's app.

KindWritten whenPayload
monitor.finding_acknowledgedAn administrator acknowledged a monitoring finding in a space they see. The finding's space is on the row; no story, target reference, outcome or reported actor is in the payload. An acknowledgement is final; acknowledging a finding that is already acknowledged appends nothing. The administrator's optional note, screened for secret-shaped text, travels in note only when there is one.finding_id, rule_version, note (only with a note), actor_credential_id
monitor.connection_createdAn administrator connected Tines from the console with a pasted key, sealed for the collector (credential_mode sealed); a directory administrator's consent completed a Microsoft Entra connection an administrator started from the console (platform_app), when attempt_id names the attempt and the actor is the administrator who started it; an operator registered a connection with create-connection (key_file); or an administrator added the workspace's synthetic directory (kind fixture, credential_mode synthetic, its fixed label), which holds no credential. The label was screened for secret-shaped text.connection_id, space_id, kind, credential_mode, label, attempt_id (consent only), actor_credential_id (not for a consent)
monitor.key_replacedAn administrator pasted a new key for a sealed connection, which is then asked for a collection.connection_id, actor_credential_id
monitor.collection_requestedAn administrator asked for a collection ("Collect now"); the next scheduled pass picks it up. A request already waiting is the one answered, and asking again appends nothing.connection_id, actor_credential_id
monitor.schedule_changedAn administrator set a connection's intervals; null is the kind's default.connection_id, collect_interval_seconds, activity_interval_seconds, actor_credential_id
monitor.egress_recordedAn administrator recorded, changed or cleared the addresses a Tines tenant's HTTP requests leave from, which a directory's sign-ins in the same Space are matched against for driver evidence. The addresses themselves are on the connection, not the event.connection_id, addresses (how many), actor_credential_id
monitor.connection_revokedAn administrator revoked a connection from the console or with revoke-connection. Its row and evidence are kept and any run's lease ends.connection_id, actor_credential_id
monitor.reach_acceptedAn administrator accepted one ungoverned path of a discovered actor, from the console or with accept-reach, or accepted it again, which renews it: one event for each path. The reach row is unchanged; monitor_reach_acceptances keeps the same change.agent_id, connection_id, action, path_kind, path_ref, reason_code, expires_at (null for none), actor_credential_id
monitor.reach_withdrawnAn administrator withdrew the acceptance of one path, from the console or with withdraw-reach; the path reads as open again.agent_id, connection_id, action, path_kind, path_ref, actor_credential_id
monitor.consent_recordedA directory administrator consented to the deployment's platform app for a Microsoft Entra connection, new or one whose consent was updated. The actor is the administrator who started the attempt from the console; the consent's callback carries no session, so no credential is named, and attempt_id names the attempt the starting browser was bound to. directory_ref is the directory a verified sign-in named.connection_id, directory_ref, attempt_id