SUPERWISE Platform → Policies

Policies: Automated Governance on SUPERWISE Platform

Your model degraded gradually. Nobody noticed until it was too late.
Define what to monitor, when to alert, and how to respond. Part of SUPERWISE Platform—the control plane for governing AI systems.

Static & dynamic thresholdsMulti-channel alertsSDK + UI

Analysts Recognize Us

Policies Per Dataset
4
Threshold Types
6+
Alert Destinations
<1min
Alert Latency

Manual Monitoring

  • Checking dashboards manually—if you remember
  • Arbitrary thresholds that don't adapt
  • Alerts that wake you up for nothing
  • No historical context when issues occur
  • Different rules for different models? Good luck.

Policy-Driven Governance

  • Automated evaluation on your schedule
  • Dynamic thresholds that learn from history
  • Actionable alerts to the right channels
  • Full incident context with every alert
  • Consistent policies across all models

Policy Types

Choose the right threshold strategy for your use case.

Static Threshold

Alert when metrics cross fixed boundaries. Perfect for SLAs and compliance requirements.

Moving Average

Dynamic thresholds based on historical patterns. Automatically adapts to normal variance.

Distribution Comparison

Compare data distributions over time using statistical distance functions.

Scheduled Evaluation

Run policy checks on your schedule—hourly, daily, or custom cron expressions.

Create Policies in Code or UI

Static Threshold

Set fixed boundaries for metrics. When values cross the threshold, alerts fire immediately. Perfect for SLAs and compliance requirements.

Moving Average

Dynamic thresholds calculated from historical data. Define deviation tolerance and window size—SUPERWISE handles the statistics.

Alert Routing

Route alerts to the right team. Slack for warnings, PagerDuty for critical. Different channels for different severities.

import superwise as sw
from superwise_api.models.policy import (
    StaticThresholdSettings,
    MovingAverageThresholdSettings,
    DataConfigStatistics,
    TimeRangeConfig
)

# Create a static threshold policy
sw.policy.create(
    name="accuracy-sla",
    dataset_id=dataset.id,
    data_config=DataConfigStatistics(
        query={"measures": [f"{ds.id}.avgAccuracy"]},
        time_range_config=TimeRangeConfig(
            field_name="timestamp",
            unit="HOUR",
            value=1
        )
    ),
    cron_expression="*/15 * * * *",  # Every 15 min
    threshold_settings=StaticThresholdSettings(
        condition_below_value=0.95,  # Alert if < 95%
    ),
    alert_on_status="HEALTHY_TO_UNHEALTHY",
    destination_ids=[slack_channel_id]
)

Clear Status at a Glance

Every policy has a status. Every status has meaning.

healthy

All thresholds within bounds

unhealthy

Threshold violation detected

pending

Awaiting first evaluation

no_data

No data available for evaluation

Alert Where You Work

Send alerts to the channels your team already uses.

💬Slack
📧Email
🚨PagerDuty
📟OpsGenie
🔗Webhooks
📊Datadog

From Policy to Incident Resolution

1. Define Policy

Set metrics, thresholds, and evaluation schedule

2. SUPERWISE Evaluates

Automated checks run on your schedule

3. Violation Detected

Threshold crossed? Status changes to unhealthy

4. Alert + Incident

Team notified with full context for investigation

Policies in Action

Watch how SUPERWISE policies automate governance—from definition to alert to resolution.

Stop Manual Monitoring

Define once. Monitor forever. Get alerted when it matters.