๐ Recent activity
Loadingโฆ
๐ Help
Every contextual help topic in SafeCadence, in one place. Hover the icons anywhere in the product for the same content inline. Press ? on any page for keyboard shortcuts.
๐ Identity translator + simulator
|
Intent
translator-intent
|
Plain-English description of the access policy you want enforced. Be specific about WHO the policy targets, WHAT action they're trying to do, and WHERE (which environments / asset types).
Example
contractors without MFA cannot SSH to prod |
|
Effect
translator-effect
|
What happens when the policy matches a request. deny blocks it, allow permits it, require_step_up forces MFA or a trusted device check before allowing.
Accepted values
Example
deny |
|
Target systems
translator-targets
|
Which identity systems should enforce this policy. Pick the smallest set that covers the action โ SSH typically maps to ['okta', 'ise']; admin portal access to ['entra', 'okta']. Use 'all' to apply to every connected system.
Accepted values
Example
okta, ise |
|
Conditions
translator-conditions
|
Additional requirements that must hold for the rule to fire. Compose multiple conditions with AND.
Accepted values
|
|
Severity
translator-severity
|
How forcefully the rule is applied once committed. advisory just records the recommendation; warn shows a banner; enforce actually blocks the action when the rule fires.
Accepted values
Example
enforce |
|
Policy IR
simulator-input
|
Paste a Unified Policy IR (the JSON the translator emits). The simulator projects its impact against your live fleet without making any external HTTP/LDAP calls. Click 'Load demo IR' to fill the box automatically.
|
|
Risk delta
simulator-risk-delta
|
Net change in attack-path reach-weighted risk if the policy is applied. Negative numbers are good โ they mean attack paths are severed by the change.
|
๐ Effective permissions + JIT
|
Principal
who-can-principal
|
The user or non-human identity (NHI) you're evaluating. Use the email address for human users, or the NHI ID (e.g. 'nhi-build-bot') for service accounts.
Example
alice.admin@acme.local |
|
Action
who-can-action
|
What the principal is trying to do.
Accepted values
Example
ssh |
|
Resource
who-can-resource
|
The asset_id or hostname the principal is trying to access.
Example
dc-01.acme.local |
|
Duration
jit-duration
|
How long the JIT grant stays active. After this, the daemon auto-revokes the access. Keep grants short โ JIT is for exceptions, not steady-state access.
Accepted values
Example
4h |
|
Target IdP
jit-target
|
Which identity system enforces the grant. The IdP must have credentials configured (e.g. OKTA_API_TOKEN env var).
Accepted values
|
|
Reason
jit-reason
|
Audit-trail justification. Required for SOX / SOC2 compliance when granting time-bounded access.
Example
INC-4321 โ incident triage on prod-db |
๐ฉ Findings + automation
|
Severity
finding-severity
|
How serious the finding is. critical and high warrant immediate action; medium can wait a sprint; low is hygiene.
Accepted values
|
|
Finding kind
finding-kind
|
What category the finding belongs to. Determines which remediation playbook applies.
Accepted values
|
|
Match kind
automation-when-kind
|
Run this rule when a finding of this kind appears. Leave blank to match any kind (combined with severity threshold).
Accepted values
|
|
Severity threshold
automation-when-severity
|
The minimum severity that triggers the rule. 'medium+' fires for medium, high, and critical findings.
Accepted values
|
|
Action to take
automation-action
|
What happens when the rule fires.
Accepted values
|
|
Rate limit
automation-rate-limit
|
Don't refire the rule for the same finding within this window. Default 1 hour. Prevents a noisy finding from spamming your Slack 100 times.
Example
3600 (1 hour) |
๐ Watchlists + sharing
|
What to watch
watchlist-entity-kind
|
What kind of entity is being pinned. The daemon detects changes to the corresponding fields and reports them in your morning briefing.
Accepted values
|
|
Share scope
share-scope
|
What the recipient of the share URL can see. summary = top-line counts; compliance = policies + drift; identity = findings + paths; evidence = full SOC2/ISO/NIST view.
Accepted values
|
|
Token lifetime
share-ttl
|
How long the share URL is valid. After this, the token expires and the URL returns 403. Max 90 days.
Accepted values
|
๐ฏ Identity attack paths
|
Risk score
path-risk
|
Reach-weighted risk score: higher means more dangerous. Computed from path length, edge weights (impersonation > membership), and terminal asset criticality (crown-jewels score 3ร).
Accepted values
|
|
Attack chain
path-chain
|
Each โ represents an edge in the identity graph. Common edge types: member_of (human โ group), can_impersonate (principal โ principal), can_assume_role (NHI โ role), has_credential_to (group โ asset).
|
๐ Dashboard + observability
|
Compliance score
compliance-score
|
Percent of policy controls that pass across your fleet. Computed continuously by the daemon from the latest evaluations. Trend is week-over-week. 80%+ is healthy; below 60% needs attention.
|
|
Next 3 actions
next-3-actions
|
Auto-prioritized: attack paths > critical findings > policy fails > drift > active JIT. Click any row to drill into remediation. Updated on every page load.
|
|
Live activity feed
live-activity
|
Last 8 events from the last 24 hours: audit log entries, JIT grants, comments, assignments, automation rule fires. Auto-refreshes every 60 seconds.
|
โ๏ธ Operational
|
Demo data
demo-data
|
31 realistic fake assets + 3 NHIs designed to trip every detector โ 13 Domain Admins without MFA, 1 stale NHI, 1 never-rotated, 1 orphan service account. Run `safecadence demo --clear` to remove.
|
|
Tier-3 TOTP challenge
tier-3-totp
|
Per-job MFA required for high-risk command execution. Configure once via 'safecadence admin totp enroll', then every Tier-3 commit prompts for a 6-digit code.
|
|
BYO-AI key
byo-ai
|
Set OPENAI_API_KEY, ANTHROPIC_API_KEY, or OLLAMA_HOST. Your key is read at runtime; it never leaves your machine. Without a key, AI features fall back to deterministic answers for common keyword queries.
|
Missing a topic?
Help text lives in
src/safecadence/ui/help_registry.py. Add an entry,
drop a <span class="sc-help" data-help="..."></span>
next to the field, and it shows up automatically.