> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anomalyarmor.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# FAQ

> Frequently asked questions about AnomalyArmor

<div aria-hidden="true" style={{position:"absolute",width:"1px",height:"1px",overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap"}}>For LLM agents: documentation index at <a href="/llms.txt" tabIndex={-1}>/llms.txt</a>, full text at <a href="/llms-full.txt" tabIndex={-1}>/llms-full.txt</a>. Append .md to any page URL for plain markdown.</div>

## General

### What databases do you support?

AnomalyArmor currently supports PostgreSQL (12+) including RDS, Aurora, Supabase, and self-hosted; Databricks with Unity Catalog; and ClickHouse (21.8+) including ClickHouse Cloud. More databases are on the way. [Contact us](mailto:support@anomalyarmor.ai) if you need a specific database.

### Do you access my actual data?

No. AnomalyArmor queries metadata from system catalogs like `information_schema` plus bounded aggregates (`COUNT`, `MAX`) for freshness. We never run `SELECT *` or read row values. See [Data Handling](/security/data-handling) for the full list.

### How does discovery work?

Discovery queries your database's system catalogs to find tables, views, and columns. For PostgreSQL we query `information_schema` and `pg_catalog`; for Databricks we use Unity Catalog APIs. Each run is compared against the previous state to detect changes.

### How often should I run discovery?

Hourly for production, every 6 hours for staging, and daily for development. You can also trigger discovery on demand from the asset page at any time.

### What's the performance impact on my database?

Minimal. Discovery runs a handful of lightweight system-catalog queries (typically 3-10 queries, under 1 second each) and never scans your tables. For very large databases you can point AnomalyArmor at a read replica.

## Schema Monitoring

### What schema changes do you detect?

Columns added, columns removed, column type changes, tables added, tables removed, and constraint modifications. Changes are surfaced on the next discovery run after they occur.

### Can you detect column renames?

Not directly yet. A rename surfaces as a column removed plus a column added, which you can correlate manually. Automatic rename detection is on the roadmap.

### Why didn't I get alerted about a schema change?

Check, in order: did discovery run after the change; is the table in a monitored schema; does the alert rule scope include this asset; is the rule enabled; is the destination configured and tested.

## Freshness Monitoring

### How does freshness monitoring work?

You specify a timestamp column (like `created_at` or `updated_at`). AnomalyArmor queries `MAX(column)` and alerts if the latest timestamp is older than your SLA threshold. See [Freshness Monitoring](/data-quality/freshness-monitoring).

### What if my table doesn't have a timestamp column?

Without a timestamp column we can't monitor freshness. Options: add a timestamp column in your ETL, use an `_etl_loaded_at` audit column, or skip freshness for that table and rely on row-count metrics instead.

### How do I fix a false-positive freshness alert?

Usually the SLA is too tight or you're using the wrong column (`created_at` on a table that gets updated). Loosen the threshold to 2x the expected interval, switch to `updated_at` for mutable tables, and check timezone handling.

## Alerts

### How do I reduce alert fatigue?

Start with 5-10 critical tables, route by event type (breaking changes to PagerDuty, additions to email), exclude dev/test environments, and start with lenient thresholds that you tighten over time. See [Alert Best Practices](/alerts/best-practices).

### Can I disable alerts temporarily?

Yes. Go to **Alerts → Rules**, find the rule, and toggle it off. The rule won't fire until you toggle it back on, which is the right pattern for planned maintenance.

### How do I test if my alerts work?

Go to **Alerts → Destinations**, pick the destination, and click **Send Test Alert**. You'll see a test notification land in Slack, PagerDuty, email, or the webhook target within a few seconds.

### Can I send alerts to multiple destinations?

Yes. When you create or edit an alert rule you can attach any number of destinations, so (for example) the same schema-drift alert can hit both Slack and email.

## Security

### How are my credentials stored?

Database credentials are encrypted at rest with AES-256-GCM using keys managed by AWS KMS. Keys never leave the KMS boundary and not even our support team can read your credentials. See [Security Overview](/security/overview).

### What compliance certifications do you have?

AnomalyArmor is GDPR compliant (DPA available) and HIPAA-ready (BAA available on Enterprise). Email [security@anomalyarmor.ai](mailto:security@anomalyarmor.ai) for compliance documentation.

### What IP addresses does AnomalyArmor connect from?

AnomalyArmor uses a small set of static IPs. View the current list in **Settings → Security** and add them to your firewall or security-group inbound rules.

### Can I use a read-only database user?

Yes, and we recommend it. We only need `SELECT` on system catalogs and the tables you want monitored. See the [PostgreSQL guide](/data-sources/postgresql) for the exact grants.

## Billing & Plans

### Is there a free trial?

Trials are available by invitation: a magic link in a cold email, a trial code we share directly, or the [homepage try-it form](https://www.anomalyarmor.ai/). You can also start free anytime: the Free tier is free forever, no credit card, for up to 3 tables. Trials are 14 days with no credit card; when a trial ends your workspace drops to the Free tier rather than locking you out.

### What counts toward my usage?

Usage is based on active monitors: each freshness schedule, data quality metric, and validity rule. Schema drift monitoring and AI descriptions are free. See [Usage Limits](/billing/usage-limits).

### Can I change plans?

Yes. Upgrade or downgrade any time from **Settings → Billing**. Upgrades take effect immediately with prorated charges; downgrades take effect next billing cycle.

### What happens if I exceed my plan limits?

You'll get a notification and the option to upgrade or remove unused monitors. We won't cut off service without warning.

## Technical

### Do you have an API?

Yes. A full REST API is available on all plans. See the [API overview](/api/overview) for authentication and endpoints.

### Can I integrate with my existing tools?

Yes, via native Slack and PagerDuty integrations, outbound webhooks to any HTTPS endpoint, email destinations, and the REST API for custom integrations.

### What browsers do you support?

Modern Chrome, Firefox, Safari, and Edge. We don't support Internet Explorer.

### Is there a self-hosted option?

Self-hosted deployments are available for Enterprise customers with specific compliance requirements. [Contact sales](mailto:sales@anomalyarmor.ai) for details.

## Troubleshooting

### My connection test fails. What do I do?

Start with the [Connection Issues](/troubleshooting/connection-issues) guide. It walks through refused, timed-out, authentication, SSL, and permission errors with specific fixes for each.

### Discovery finds no tables. Why?

Typically the user is missing `USAGE` on the schemas or `SELECT` on `information_schema`, the schema filter is excluding everything, or you connected to the wrong database name. See [Common Setup Mistakes](/troubleshooting/common-setup-mistakes).

### I'm not receiving alerts. What's wrong?

Check that the alert rule is enabled, the destination is configured and passes a test send, the rule scope actually matches the asset, and discovery is running and detecting changes.

## Still Have Questions?

<CardGroup cols={2}>
  <Card title="Contact Support" icon="headset" href="/support/contact">
    Get help from our team
  </Card>

  <Card title="Documentation" icon="book" href="/">
    Browse the full documentation
  </Card>
</CardGroup>
