Delayer

Overview

Compliance posture and database-engine state

By Service

Click any service to view its resources in the inventory.

Engine State

Live status reported by each database engine — distinct from compliance posture.

Inventory

Summary & charts

Controls

Risks

What is actually exposed, worst first. A risk is a gap on a specific database — public access, no encryption, no audit trail, no backups, weak authentication, a vulnerable engine. Gaps on a database that also holds sensitive data are ranked highest, because those are the ones that turn into a breach. A well-protected database full of SSNs has nothing to fix, so it does not appear here.

Vulnerabilities

Patch currency is the authoritative signal — a resource that is minor versions behind the latest AWS-published engine version should be upgraded to the recommended target. The CVE list per resource is the supporting evidence; CVEs on managed RDS engines are candidate matches (AWS may have backported the fix).

Reporting

Settings

API endpoint

The URL the dashboard reads from. Useful for scripting against the same data the UI shows.

Inventory collector schedule

How often the inventory of databases is refreshed across every enrolled account. Pick a preset — Custom reveals an EventBridge expression input for fine control.

Don't want to wait for the next scheduled run?

Regions

Regions where your databases are discovered and connected to. Failures in one region don't prevent scans in others.

Inventory where databases are discovered. DSPM where database connections are made for data classification.

Data sensitivity (DSPM) scans

Enable scheduled DSPM-Lite classification across every database with a saved connection profile. Connect populates schemas + db_users only — DSPM samples cell values to classify PII / PCI / PHI / secrets and is the heavy workload. Manual point-in-time scans via the per-database Run DSPM scan button are always allowed regardless of this toggle.

Cadence preset

Vulnerability assessment (VA)

Schedule per-resource vulnerability assessments. Each assessment computes a patch-currency signal (how many minor versions behind the latest AWS-published engine version a resource is) plus a supporting CVE list from upstream NVD data. Min severity controls the lowest CVSS tier surfaced in rollups.

Cadence preset

Custom DSPM classifiers

Per-tenant regex classifiers that run alongside the built-in Presidio pack on every DSPM scan. Use these for identifiers Presidio doesn't ship — internal employee IDs, customer account numbers, ticket codes. Operators and Admins can author; SecurityReader is read-only.

Custom frameworks

Per-tenant compliance frameworks that aren't in the shipped catalog. Author internal control sets, regulatory regimes we don't ship yet, or house-rule overlays — findings credit the same canonical-check pipeline as built-in frameworks, but appear with a Custom badge so auditors can tell them apart. Operators and Admins can author; SecurityReader is read-only.

Risk & severity tuning

Tenant tuning for the severity model. The unified model exposes two families: a control's intrinsic base weight (1–4) and the data-tier weights (how much regulated / crown-jewel data escalates a finding). Every overridden value renders a Custom badge; a one-click reset returns a row to the shipped default. Admin-only — re-weighting changes the whole fleet's posture; Operator / SecurityReader are read-only.

Control base weight

Data-tier weights

DSPM classifier packs

Which Presidio entity packs DSPM runs against this tenant's data. Disabling a pack short-circuits its recognizers (no Lambda cost, no false positives). Changes apply on the next scan after roughly one minute of warm-container caching.

Unscanned resource grace period

How many days a resource can go without a data-classification scan before its unvalidated findings are treated as failures. The evaluator picks the strictest applicable framework's threshold per finding; the "Default" row covers any framework not listed here.

Database Activity Monitoring (DAM)

Stream pgaudit / MariaDB-audit-plugin / Aurora MySQL Advanced Auditing output through CloudWatch into the SaaS-side Firehose. Events land in the dam-canonical bucket (Athena-queryable) plus per-minute rollup rows in database-dam-summary for the rule engine. Streaming rules (auth + privilege + integrity families) fire alerts in real time; the Activity view and per-resource Activity tab read the canonical event stream.

events/sec (0 = unlimited)

DAM Sources (per-tenant matrix)

Capability matrix for this tenant's DAM ingestion families. CloudTrail management events are per-account; engine audit is per-resource and flipped from each database's Activity tab; CloudTrail data events are per-resource and flipped from each database's Activity tab → Source details. Projected monthly cost per source is derived from the tenant's current event-rate sample assuming the default volume split.

DAM Management Events

Per-account CloudTrail management-event ingestion. One SNS subscription on the customer's CloudTrail trail captures every database in that account. Deploy deployment-harnesses/customer/member-account-dam.json with the trail's SNS topic ARN first, then enable here. For the default tenant in the SaaS account, use the SaaS account's own trail topic for testing. Outpost-mode tenants are blocked by design until the manifest-queue routing PR lands.

DAM Business Hours

Defines the tenant's normal operating window. The auth.connection_outside_hours scheduled rule fires when DAM connection / auth events land OUTSIDE this window. Leave "Configured" set to "off" to disable the rule for this tenant (no hits emitted regardless of activity). Times are UTC for v2; a future PR will support per-tenant timezone offsets.

0..23
1..24 (exclusive)

DAM Rule Overrides

Per-tenant overrides for each DAM rule. Disabling a rule drops all its hits; a severity override re-routes hits (medium+ goes to alerts, low to findings); suppression patterns (fnmatch globs against actor.username) drop matching hits; threshold overrides feed per-rule tunables (e.g. failed_login_threshold, multiplier, min_recent). Backed by SSM at /database-compliance/<tid>/dam/rule-overrides/<rule_id>.

Estimated monthly cost

Projected AWS cost for this tenant, computed from the live inventory count and a 24-hour DAM-event rate sample. Numbers are estimates; actual AWS billing may vary with usage.

License tier: Base
Projected monthly: $0.00 / month

Based on

    Estimate your monthly cost

    Try different scales and capability combinations to estimate cost. This is a preview only — toggling DAM, DSPM, or Outpost here does not change what's actually enabled on your tenant.

    What-if monthly: $0.00 / month

    Account discovery

    Choose how this tenant finds AWS accounts to inventory. Pick a mode below; Organizations and Hybrid also require the discovery role ARN further down.

    Discovery mode

    Enrolled accounts

    Each account you add needs the collector IAM role deployed. Download the setup template and deploy it in the target account before enrolling. The central host account is enrolled explicitly if you want it scanned (assume-role is skipped automatically).

    Azure subscriptions

    Scan Azure database services through the Delayer Entra service principal your directory admin consents to. Enroll each subscription below; a read-only connectivity probe verifies consent, the Reader role assignment, and the binding tag before the first collection pass.

    Connector secrets

    Where database credentials (used when you provide your own user/password on a database connection) are stored, and which KMS key encrypts them. Two modes:

    • Centralized — Credentials stored in this account's Secrets Manager, encrypted with the selected KMS key.
    • Account-local — Each enrolled account stores its own credentials, keeping them within that account's security boundary.

    Tenant users

    Local accounts and group membership for this tenant. Access roles are enforced server-side on every API request.

    View role permissions
    RoleWhat they can do
    Admin Full access. Manage users, configure every setting, run scans, resolve alerts, export reports.
    Operator Run scans and resolve alerts. Configure DSPM and DAM. Cannot manage users or tenant-level configuration.
    Security Reader Read-only across compliance, alerts, and the audit log. Cannot run scans, export, or change settings.
    Inventory Reader Read-only access to the database inventory. Cannot see compliance findings, alerts, or audit data.

    Tenant groups

    Custom Cognito groups for this tenant pool, in addition to the four built-in roles. Membership is enforced server-side on every API request. The built-in Admin group cannot be removed.

    Deployment mode

    Whether this tenant's scans run on central SaaS Lambdas (remote, the default) or on customer-deployed containers (outpost). Activating Outpost mode requires standing up the heartbeat + connector + dspm containers and a coordinated super-admin flip — open a support request to start the process. Reverting to remote is self-serve and takes effect on the next dispatcher tick.

    Current mode:

    Outpost agent health

    Status of the customer-deployed Outpost containers that handle scans for this tenant. The Controller agent checks in with the SaaS API every few seconds; Connector, DSPM, and DAM agents receive work through the Controller and appear here once they've reported in.

    Connected Unreachable Not deployed

    Audit log

    Append-only history of every state-changing action taken against this tenant — configuration changes, user management, sign-in attempts, scan launches, and alert decisions. Entries are retained for 365 days and cannot be edited or deleted. Visible to Admin and SecurityReader.