> ## 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.

# Report Badges

> Embed data quality status indicators in Databricks, Looker, Notion, and other tools

<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>
Report badges let you embed AnomalyArmor data quality status directly into your dashboards, wikis, and operational tools. See pass/fail status at a glance without leaving your workflow.

<img src="https://mintcdn.com/anomalyarmor/qiFTglXM5puNhBYZ/images/diagrams/badge-states-light.svg?fit=max&auto=format&n=qiFTglXM5puNhBYZ&q=85&s=d330831fa37fdd7814813af9e5ffbc09" alt="Report badge showing data quality status" className="block dark:hidden" width="900" height="250" data-path="images/diagrams/badge-states-light.svg" />

<img src="https://mintcdn.com/anomalyarmor/pPIiSU0b3Ixsp9az/images/diagrams/badge-states-dark.svg?fit=max&auto=format&n=pPIiSU0b3Ixsp9az&q=85&s=fff3680628c9867e3bfbad51343a4a9c" alt="Report badge showing data quality status" className="hidden dark:block" width="900" height="250" data-path="images/diagrams/badge-states-dark.svg" />

## Why Use Report Badges

Data teams context-switch constantly. Opening a separate monitoring tool to check data quality breaks flow:

<img src="https://mintcdn.com/anomalyarmor/mPQTTzz5PYy4fThA/images/diagrams/badge-workflow-comparison-light.svg?fit=max&auto=format&n=mPQTTzz5PYy4fThA&q=85&s=cfcd7533aae81441273654b5934c94c1" alt="Workflow comparison showing time savings with badges" className="block dark:hidden" width="900" height="400" data-path="images/diagrams/badge-workflow-comparison-light.svg" />

<img src="https://mintcdn.com/anomalyarmor/pPIiSU0b3Ixsp9az/images/diagrams/badge-workflow-comparison-dark.svg?fit=max&auto=format&n=pPIiSU0b3Ixsp9az&q=85&s=542b95df0588aff3c6f6723eaa428060" alt="Workflow comparison showing time savings with badges" className="hidden dark:block" width="900" height="400" data-path="images/diagrams/badge-workflow-comparison-dark.svg" />

Badges provide "always-on" visibility into data quality wherever you work.

## Where Badges Work

Any tool that supports image embeds can display badges:

| Platform   | How to Embed                    |
| ---------- | ------------------------------- |
| Databricks | Markdown cell: `![](badge-url)` |
| Looker     | Custom visualization with HTML  |
| Tableau    | Web content or image object     |
| Notion     | Paste URL as embed              |
| Confluence | Insert image by URL             |
| Slack      | Post badge URL directly         |
| GitHub     | Add to README                   |

## Badge Status

Badges show one of three states:

| Badge                                                                 | Meaning                                                             |
| --------------------------------------------------------------------- | ------------------------------------------------------------------- |
| ![Passing](https://shields.io/badge/AnomalyArmor-Passing-brightgreen) | All monitored tables pass quality checks                            |
| ![2 Issues](https://shields.io/badge/AnomalyArmor-2_Issues-red)       | Tables have schema drift, freshness violations, or metric anomalies |
| ![Unknown](https://shields.io/badge/AnomalyArmor-Unknown-lightgrey)   | Badge disabled or configuration error                               |

## Creating a Badge

<Steps>
  <Step title="Navigate to Report Badges">
    Go to **Report Badges** from the main navigation.
  </Step>

  <Step title="Click Create Badge">
    Click the **Create Badge** button.
  </Step>

  <Step title="Select Asset">
    Choose the asset (database or schema) you want to monitor:

    * `production.analytics`
    * `production.core`
    * `production.reporting`

    <Tip>
      Select a schema to monitor all tables within it. This keeps the badge focused on a logical group of related tables.
    </Tip>
  </Step>

  <Step title="Configure Tag Filters (Optional)">
    Narrow the scope using tags:

    **Tag Filters:**

    * `critical`
    * `customer-facing`
    * `revenue`

    When specified, only tables with matching tags are included in the badge status.
  </Step>

  <Step title="Select Quality Checks">
    Choose what the badge monitors:

    | Check        | What It Monitors                                |
    | ------------ | ----------------------------------------------- |
    | Schema Drift | Column additions, removals, type changes        |
    | Freshness    | SLA violations on data recency                  |
    | Metrics      | Anomalies in row counts, null percentages, etc. |

    Enable all three for full quality monitoring.
  </Step>

  <Step title="Include Upstream (Optional)">
    Toggle **Include Upstream** to also check the quality of upstream dependencies.

    <Warning>
      Including upstream expands the scope significantly. Only enable if you want the badge to reflect the entire data lineage, not just the selected asset.
    </Warning>
  </Step>

  <Step title="Save Badge">
    Click **Create** to generate the badge.
  </Step>
</Steps>

## Copying the Badge URL

After creating a badge:

1. Find the badge in the **Report Badges** list
2. Click **Copy URL** next to the badge
3. The URL is copied to your clipboard

Badge URLs follow this format:

```
https://app.anomalyarmor.ai/badges/{public-id}.svg
```

<Note>
  Badge URLs are public and require no authentication. Anyone with the URL can view the badge status. URLs use randomly generated IDs that are not guessable.
</Note>

## Embedding Examples

### Databricks Notebook

Add a markdown cell:

```markdown theme={null}
# Data Quality Status

![Data Quality](https://app.anomalyarmor.ai/badges/abc123.svg)

The badge above shows real-time quality status for our analytics tables.
```

### Notion Page

1. Type `/embed`
2. Paste the badge URL
3. The badge renders inline

### GitHub README

```markdown theme={null}
## Data Quality

[![Analytics Quality](https://app.anomalyarmor.ai/badges/abc123.svg)](https://app.anomalyarmor.ai)

Our analytics tables are monitored by AnomalyArmor.
```

### Slack

Simply paste the badge URL. Slack will render the SVG inline.

## Managing Badges

### Viewing All Badges

Navigate to **Report Badges** to see all badges:

* Badge status (live preview)
* Scope (asset and tag filters)
* Enabled checks (schema drift, freshness)
* Copy URL action

### Editing a Badge

1. Click the badge row in the list
2. Modify configuration
3. Click **Save**

The badge URL remains unchanged. Embedded badges automatically reflect the updated configuration.

### Deleting a Badge

1. Click the delete icon on the badge row
2. Confirm deletion

<Warning>
  Deleting a badge immediately invalidates the URL. Embedded badges will show "Unknown" status.
</Warning>

### Disabling vs Deleting

If you want to temporarily hide a badge:

1. Edit the badge
2. Toggle **Active** off
3. Save

Disabled badges show "Unknown" status but retain their URL for later reactivation.

## Caching Behavior

Badges cache their status for performance:

| Scenario        | Cache Duration              |
| --------------- | --------------------------- |
| Default         | 5 minutes                   |
| Embedded images | Respects HTTP cache headers |

This means:

* Badge status updates within 5 minutes of quality changes
* High traffic won't overload AnomalyArmor
* Multiple embeds of the same badge share cached results

## Best Practices

### 1. One Badge Per Logical Domain

Create badges for logical groupings:

**Good:**

* Analytics Schema Badge
* Core Tables Badge
* Customer-Facing Badge

**Avoid:**

* All Tables Badge (too broad)
* Single Table Badge (too narrow)

### 2. Use Tags for Precision

Combine asset selection with tags:

* **Asset**: production.analytics
* **Tags**: `["critical", "customer-facing"]`
* **Result**: Only critical, customer-facing tables in analytics

### 3. Place Badges Strategically

Embed badges where decisions are made:

| Location          | Why                             |
| ----------------- | ------------------------------- |
| Dashboard header  | Quality context before analysis |
| ETL documentation | Status of pipeline outputs      |
| Data catalog      | Trust indicator for consumers   |
| Team wiki         | Always-visible quality status   |

### 4. Link to Details

When embedding, make badges clickable:

```markdown theme={null}
[![Status](badge-url)](https://app.anomalyarmor.ai/assets/your-asset)
```

This lets viewers click through to investigate issues.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Badge shows Unknown">
    **Causes**:

    * Badge was deleted
    * Badge was disabled
    * Invalid badge URL

    **Solutions**:

    1. Verify the badge exists in Report Badges
    2. Check the badge is marked Active
    3. Ensure URL is correct and complete
  </Accordion>

  <Accordion title="Badge not updating">
    **Causes**:

    * Browser caching old image
    * Within 5-minute cache window

    **Solutions**:

    1. Hard refresh the page (Cmd+Shift+R / Ctrl+Shift+R)
    2. Wait 5 minutes for cache to expire
    3. Add cache-busting parameter: `badge-url?t=timestamp`
  </Accordion>

  <Accordion title="Badge shows Issues unexpectedly">
    **Causes:**

    * Schema drift detected on monitored tables
    * Freshness SLA violated
    * Metric anomaly detected (row count, null percentage, etc.)
    * Upstream tables have issues (if enabled)

    **Solutions:**

    1. Click badge or navigate to AnomalyArmor
    2. Review asset details for specific issues
    3. Resolve underlying quality problems
  </Accordion>

  <Accordion title="Badge not rendering in tool">
    **Causes**:

    * Tool doesn't support SVG images
    * Tool blocks external image URLs
    * Firewall blocking AnomalyArmor domain

    **Solutions**:

    1. Check tool's image/embed documentation
    2. Try alternative embed method (HTML vs Markdown)
    3. Verify network access to app.anomalyarmor.ai
  </Accordion>
</AccordionGroup>

## Security Considerations

* **Public URLs**: Badge URLs are accessible without authentication
* **Non-guessable IDs**: URLs use random UUIDs that cannot be enumerated
* **Read-only**: Badges only display status; they cannot modify data
* **No sensitive data**: Badges show pass/fail only, not table contents

<Note>
  If you need to revoke access to a badge, delete it. A new badge for the same scope will have a different URL.
</Note>

## Common Questions

### Where can I embed an AnomalyArmor badge?

Any tool that accepts an image URL. That includes Databricks notebooks, Looker, Tableau, Notion, Confluence, Slack, and GitHub READMEs. Paste the badge URL like you would any SVG or Markdown image.

### Are badge URLs public?

Yes. Badge URLs require no authentication so they render anywhere. They use randomly generated, non-guessable IDs and only show pass/fail status, never table contents or row data. Delete and recreate a badge to rotate the URL.

### How fast does badge status update when something breaks?

Within **5 minutes**. Badges cache for performance so high-traffic embeds don't overload AnomalyArmor. If you need an immediate refresh, add a cache-busting query parameter or wait out the cache window.

### Why is my badge showing 'Unknown'?

Either the badge was deleted, disabled, or the URL is malformed. Check **Report Badges**, confirm the badge is marked Active, and verify the embedded URL matches exactly.

### Can one badge cover multiple tables?

Yes. Scope a badge to a schema and it will reflect the status of every table inside. Use tag filters (for example, `critical` or `customer-facing`) to narrow it further without creating one badge per table.

## Related Topics

<CardGroup cols={2}>
  <Card title="Freshness Monitoring" icon="clock" href="/data-quality/freshness-monitoring">
    Set SLAs on data freshness
  </Card>

  <Card title="Data Quality Metrics" icon="chart-line" href="/data-quality/metrics">
    Track row counts, null percentages, and detect anomalies
  </Card>

  <Card title="Schema Monitoring" icon="table" href="/schema-monitoring/overview">
    Detect structural changes
  </Card>

  <Card title="Alert Rules" icon="bell" href="/alerts/alert-rules">
    Get notified of quality issues
  </Card>
</CardGroup>
