Audit receipt
- Format
- CSV, signed
- Rows
- –
- Filters
- –
- Generated
- –
SHA-256 of the dataset
Export to compute the hash.
Filters changed. Export again for a new receipt.
Download the CSV and check it yourselfSWOT DAM · Database activity monitoring
Security posture, forensic audit, behavioural risk and compliance in one self-hosted console for Oracle, PostgreSQL, SQL Server, MySQL and the cloud.
Collectors sign in with read-only credentials and poll each native audit trail on a set interval (30 seconds in the documented setup). No kernel hooks, no inline proxy, no change to how transactions run.
AUDSYS.UNIFIED_AUDIT_TRAILSYS.DBA_TAB_COLUMNSSYS.V_$SESSIONAudit trailHigh-water mark: SCN 48214
Sample rows, speeded up. Collectors poll on a set interval (30 seconds in the documented setup).
pgaudit log entriesAudit trailHigh-water mark: #48214
Sample rows, speeded up. Collectors poll on a set interval (30 seconds in the documented setup).
Server audit filessys.dm_exec_requestsAudit trailHigh-water mark: #48214
Sample rows, speeded up. Collectors poll on a set interval (30 seconds in the documented setup).
server_audit logperformance_schemaAudit trailHigh-water mark: #48214
Sample rows, speeded up. Collectors poll on a set interval (30 seconds in the documented setup).
CloudWatch audit log groupAudit trailHigh-water mark: #48214
Sample rows, speeded up. Collectors poll on a set interval (30 seconds in the documented setup).
SWOT DAM never connects to your user data tables or copies business records. It reads catalog metadata, native audit views and system views, and nothing else.
DBA_TAB_COLUMNSUNIFIED_AUDIT_TRAIL pgauditV$SESSION sys.dm_exec_requestsEvery 24 hours the Sensitive Data Sentinel classifies new columns with an AI model. It reads the catalog, so it sees names and types, never your data.
The model runs on your own server, so nothing leaves the network.
| Column | Type | Classification |
|---|---|---|
CUSTOMER_ID | NUMBER | Not sensitive0.97 |
FIRST_NAME | VARCHAR2(80) | Personal data0.98 |
PHONE_NUMBER | VARCHAR2(24) | Personal data0.96 |
NATIONAL_ID | VARCHAR2(20) | Personal data0.99 |
CREDIT_CARD_NUM | VARCHAR2(19) | Financial and cards0.99 |
BANK_IBAN | VARCHAR2(34) | Financial and cards0.95 |
PATIENT_MRN | VARCHAR2(16) | Health records0.94 |
DIAGNOSIS_CODE | VARCHAR2(10) | Health records0.93 |
PASSWORD_HASH | VARCHAR2(128) | Secrets0.99 |
API_TOKEN | VARCHAR2(64) | Secrets0.96 |
Every identity gets a risk score from 0 to 100, measured against its own 30-day baseline, not a fixed signature.
reporting_app, last 30 daysetl_batch, last 30 daysdba_ops, last 30 daysRisk score
42/ 100
An hour unused in its 30-day baseline.
A public IP instead of its usual VPN subnet.
Over 50 catalog reads a second: a script or ransomware.
Identities, hours and weights are samples. The thresholds are SWOT DAM’s.
User reporting_app executed SELECT * FROM HR_SALARY_DATA from unapproved workstation 192.168.10.45. This query accessed 14,200 salary records, which deviates by +480% from this user’s 30-day baseline.
Events pass through deduplication and correlation before anyone is told, to cut alert fatigue.
DROP, TRUNCATE or ALTER on a production schema outside a maintenance window.
GRANT DBA, SUPERUSER or sysadmin, or a change to a security policy.
More than 5 failed logins within 60 seconds from one IP or username.
One query reading more than 50,000 rows from a table flagged PII or financial.
Sent to
AI Threat Insights explains the incident and drafts the SQL to contain it. LiveOps shows who blocks whom and ends a session after two confirmations.
reporting_app read 14,200 salary records from an unapproved workstation.
REVOKE DBA FROM reporting_app;ALTER USER reporting_app ACCOUNT LOCK;ALTER ROLE reporting_app NOLOGIN;-- every session from 192.168.10.45
ALTER SYSTEM KILL SESSION '412,9031' IMMEDIATE;
ALTER SYSTEM KILL SESSION '418,1177' IMMEDIATE;Drafted for review: copy it to your console or dispatch it from SWOT DAM.
Sample sessions on ORC_FINANCE_PROD.
Ending a session runs the engine’s own command and is written to the audit trail.
Filter the forensic audit log, then export signed CSV or PDF. Every export comes with a SHA-256 receipt of exactly what it holds.
| Time | Database | User | Client IP | Action | Code |
|---|---|---|---|---|---|
| 02:58:14 | ORC_FINANCE_PROD | SYSTEM | 10.20.4.11 | CREATE USER | 0 |
| 03:02:41 | ORC_FINANCE_PROD | reporting_app | 192.168.10.45 | SELECT | 0 |
| 03:02:55 | ORC_FINANCE_PROD | reporting_app | 192.168.10.45 | SELECT | ORA-00942 |
| 03:04:09 | PG_CUSTOMER_PORTAL | app_payment_svc | 10.20.7.32 | SELECT | 0 |
| 03:05:30 | ORC_FINANCE_PROD | dba_ops | 10.20.4.18 | GRANT | 0 |
| 03:06:12 | MSSQL_ERP_PROD | dev_temp | 172.16.2.90 | DROP TABLE | 0 |
| 03:07:44 | ORC_FINANCE_PROD | SYSTEM | 203.0.113.27 | SELECT | ORA-01017 |
| 03:09:03 | PG_CUSTOMER_PORTAL | reporting_ro | 10.20.7.40 | SELECT | 0 |
No events match these filters.
SHA-256 of the dataset
Export to compute the hash.
Filters changed. Export again for a new receipt.
Download the CSV and check it yourselfThe hash is computed in your browser from the sample rows. SWOT DAM also watermarks exports with HMAC-SHA256.
Activity logs and configuration checks map to the controls below, with evidence packs in one step. Meeting a control still depends on configuration, scope and an independent assessment.
Maps to Requirements 10.2 and 10.3
Complete, tamper-evident audit trails of every action administrators take on cardholder databases.
Typical evidence sources (illustrative)
Maps to 45 CFR § 164.312(b)
Audit controls that record activity on electronic protected health information, as configured in each database’s native audit.
Typical evidence sources (illustrative)
Maps to Section 404
Flags unauthorised schema changes and manual updates to general-ledger tables.
Typical evidence sources (illustrative)
Maps to GDPR Art. 32 (and India’s DPDP Act 2023)
Logs processing activity and supports breach-notification timelines.
Typical evidence sources (illustrative)
84/ 100
Example score from the documentation.
SWOT DAM is self-hosted. Credentials, audit logs and who can see them stay under your control.
Full control: collectors, users and global tuning.
Audit event, as this role sees it
SELECT * FROM HR_SALARY_DATA Hidden for this roleEnterprise medium
Up to 25,000 events a minute
8 vCPU, 16 GB RAM, 500 GB NVMe
Sizing tiers from the deployment runbook.
SAML 2.0 (SP-initiated) or OIDC with PKCE; OIDC creates accounts and syncs groups.
Real screens from SWOT DAM, as published in its documentation.






What database and security teams ask before they choose a database activity monitoring platform.
SWOT DAM is self-hosted database activity monitoring (DAM). It reads the audit trail each database already keeps, scores every identity from 0 to 100 against its own 30-day baseline, finds sensitive columns with AI, and exports signed audit evidence, all from one console.
No. Collectors sign in with read-only credentials and poll each native audit trail on a set interval, every 30 seconds in the documented setup. There are no kernel hooks and no inline proxy, so how transactions run does not change.
Oracle 19c, 21c and 23c through Unified Audit, PostgreSQL 14 to 16 through pgAudit, SQL Server 2017 to 2022 through SQL Server Audit, MySQL 8.0 and MariaDB through the server_audit plugin, and Amazon RDS and Aurora through CloudWatch. Azure SQL and Google Cloud SQL are covered too.
No. It never connects to your user data tables or copies business records. It reads catalog metadata, native audit views and system views only. Even the Sensitive Data Sentinel sees column names and types, never the values in them.
Every 24 hours the Sensitive Data Sentinel classifies new columns as personal, financial, health or secret data with an AI model. You choose the model: OpenAI, your own Azure OpenAI deployment, or Ollama on your own server, so nothing leaves your network.
Each identity is measured against its own 30-day baseline, not a fixed signature. Activity at an hour the account never uses, a connection from a new network or a sudden spike in reads raises its 0 to 100 score. Four alert rules catch schema changes, privilege escalation, brute-force sign-ins and mass reads of sensitive tables.
Yes. AI Threat Insights explains an incident and drafts the SQL to contain it, such as revoking a role or locking an account. LiveOps shows which session blocks which, and ends a session only after two confirmations; it refuses to end the database’s own processes.
Splunk over HEC, QRadar and ArcSight as CEF over syslog, ServiceNow, Jira and PagerDuty over webhooks, and email over SMTP. Events are deduplicated and correlated first, to cut alert fatigue.
Activity logs and configuration checks map to PCI DSS 4.0 Requirements 10.2 and 10.3, HIPAA 45 CFR 164.312(b), SOX Section 404 and GDPR Article 32, with evidence packs in one step and signed exports carrying a SHA-256 receipt. Meeting a control still depends on configuration, scope and an independent assessment.
Docker Compose, or a native Windows service for air-gapped Windows Server 2019 and 2022. A proof of concept for up to 5 databases needs 4 vCPU, 8 GB RAM and 100 GB NVMe; the high-volume tier for 100 or more databases needs 16 vCPU, 32 GB RAM and 2 TB NVMe.
No answer mentions that yet. Ask us instead. Contact us
Watch the tour, read the technical manual, or book a walk-through on the engines you run.