{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"whylabs","slug":"whylabs","name":"WhyLabs","type":"platform","url":"https://whylabs.ai","page_url":"https://unfragile.ai/whylabs","categories":["observability","testing-quality"],"tags":[],"pricing":{"model":"freemium","free":true,"starting_price":"$50/mo"},"status":"active","verified":false},"capabilities":[{"id":"whylabs__cap_0","uri":"capability://data.processing.analysis.privacy.preserving.data.profiling.and.statistical.summarization","name":"privacy-preserving data profiling and statistical summarization","description":"WhyLabs implements data profiling through the whylogs open-source library, which generates compact statistical summaries (sketches) of datasets without storing raw data. The library uses probabilistic data structures (HyperLogLog for cardinality, T-Digest for distributions) to create privacy-preserving profiles that capture data characteristics while maintaining differential privacy guarantees. These profiles are lightweight enough to be embedded in production systems and transmitted to the WhyLabs platform for centralized analysis.","intents":["Monitor data quality in production ML pipelines without exposing sensitive raw data","Generate statistical summaries of high-volume data streams for drift detection","Create privacy-compliant audit trails of model inputs and outputs","Compare data distributions across time periods or data segments"],"best_for":["ML teams handling sensitive customer data subject to privacy regulations (GDPR, HIPAA)","Data engineers building production ML systems requiring lightweight monitoring","Organizations needing compliance-friendly model observability without data exfiltration"],"limitations":["Probabilistic sketches trade exact statistics for privacy and compression — percentile estimates may have ±5% error margins","Requires whylogs library integration at data collection points — cannot retroactively profile historical data not instrumented","Platform discontinued as of analysis date — whylogs library remains open source but SaaS dashboard unavailable"],"requires":["whylogs Python library (pip install whylogs)","Python 3.7+ runtime in production environment","Network connectivity to WhyLabs SaaS endpoint (now unavailable) or self-hosted alternative"],"input_types":["structured data (pandas DataFrames, Spark DataFrames)","streaming data (Kafka, Kinesis via custom integrations)","unstructured text (for LLM monitoring via langkit)"],"output_types":["JSON profile summaries","statistical sketches (HyperLogLog, T-Digest serialized)","dashboard visualizations (via WhyLabs platform, now unavailable)"],"categories":["data-processing-analysis","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"whylabs__cap_1","uri":"capability://data.processing.analysis.statistical.drift.detection.with.configurable.thresholds","name":"statistical drift detection with configurable thresholds","description":"WhyLabs monitors model and data drift by comparing statistical profiles across time windows using distance metrics (Hellinger distance, KL divergence, Wasserstein distance) applied to the probabilistic sketches generated by whylogs. The platform establishes baseline distributions from reference data and flags deviations exceeding user-configured thresholds. Drift detection operates on the compact profile summaries rather than raw data, enabling real-time monitoring with minimal computational overhead and no data transmission beyond the statistical summaries.","intents":["Detect when production data distribution shifts away from training data (data drift)","Identify when model predictions diverge from expected patterns (prediction drift)","Alert on feature distribution changes that may degrade model performance","Establish SLOs for acceptable data/prediction drift and trigger automated responses"],"best_for":["ML engineers operating models in production requiring automated drift alerts","Data scientists investigating model performance degradation root causes","Teams implementing automated retraining pipelines triggered by drift signals"],"limitations":["Drift detection algorithms and threshold tuning methodology not publicly documented — requires empirical tuning per use case","Baseline establishment requires representative reference data; poor baseline selection leads to false positives/negatives","Platform discontinued — drift detection dashboards and alerting infrastructure no longer available","Drift detection operates on statistical summaries only — cannot detect subtle distributional shifts in tail regions"],"requires":["whylogs library integrated in production data pipeline","Reference/baseline dataset representative of expected data distribution","WhyLabs platform access (discontinued) or self-hosted alternative for dashboard/alerting","Configuration of distance metric and threshold parameters per feature"],"input_types":["statistical profiles (whylogs output)","baseline reference profiles","feature metadata (data types, expected ranges)"],"output_types":["drift scores (0-1 range per feature)","alert events (JSON)","drift visualizations (time-series plots, distribution comparisons)"],"categories":["data-processing-analysis","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"whylabs__cap_10","uri":"capability://data.processing.analysis.schema.aware.data.type.validation.and.type.consistency.monitoring","name":"schema-aware data type validation and type consistency monitoring","description":"WhyLabs monitors data type consistency by validating that features match their declared schema (e.g., numerical columns contain only numbers, categorical columns contain only expected categories). The platform tracks type mismatches, unexpected null values in non-nullable fields, and data type conversions that may indicate upstream pipeline errors. Type validation operates on statistical profiles, flagging type inconsistencies without storing raw data. This enables early detection of data pipeline bugs that would otherwise propagate to model inference.","intents":["Detect data type mismatches and schema violations in production data pipelines","Monitor for unexpected null values in fields that should always be populated","Track data type conversion errors that may indicate upstream pipeline bugs","Validate that categorical features contain only expected categories"],"best_for":["Data engineers responsible for data pipeline reliability and correctness","ML teams needing early warning of schema violations before model inference","Organizations implementing data contracts and schema validation"],"limitations":["Type validation requires explicit schema definition — no automatic schema inference","Platform discontinued — type validation dashboards and alerting unavailable","Type validation operates on statistical summaries only — cannot detect logical inconsistencies or business rule violations","Categorical feature validation requires pre-defining expected categories; new categories are flagged as violations"],"requires":["whylogs library integrated in data pipeline","Explicit schema definition (feature names, types, nullable flags, expected categories)","Configuration of type validation rules and alert thresholds"],"input_types":["structured data with typed columns","schema definition (feature names, types, constraints)","expected category lists (for categorical features)"],"output_types":["type validation scores (percentage of records matching schema)","type mismatch alerts (feature name, expected type, actual type)","null value tracking (percentage of nulls per feature)","unexpected category alerts (new categories detected)"],"categories":["data-processing-analysis","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"whylabs__cap_2","uri":"capability://safety.moderation.llm.security.monitoring.and.content.guardrails.via.langkit","name":"llm security monitoring and content guardrails via langkit","description":"WhyLabs provides LLM-specific monitoring through the langkit open-source toolkit, which analyzes LLM inputs and outputs for security risks, toxicity, prompt injection attempts, and policy violations. Langkit integrates with LLM applications via middleware hooks, extracting semantic features (intent classification, entity detection, toxicity scores) from prompts and completions without storing full conversation data. The toolkit uses rule-based checks, regex patterns, and lightweight ML models to flag suspicious patterns and enforce safety policies in real-time.","intents":["Detect and block prompt injection attacks targeting LLM applications","Monitor LLM outputs for toxic, biased, or policy-violating content","Track LLM usage patterns to identify abuse or anomalous behavior","Enforce content policies and safety guardrails on user-facing LLM applications"],"best_for":["Teams deploying LLM applications to production requiring security monitoring","Platforms providing LLM APIs needing abuse detection and content moderation","Organizations subject to content policy compliance requirements (financial services, healthcare)"],"limitations":["Langkit detection rules are heuristic-based and may have high false positive rates on edge cases","No built-in integration with major LLM providers (OpenAI, Anthropic, Cohere) — requires custom middleware implementation","Platform discontinued — centralized monitoring dashboard and alerting unavailable","Lightweight models used for real-time detection may miss sophisticated attacks or subtle policy violations"],"requires":["langkit Python library (pip install langkit)","Integration point in LLM application (middleware, wrapper, or API interceptor)","Configuration of security policies and detection thresholds","Python 3.7+ runtime"],"input_types":["LLM prompts (text)","LLM completions/responses (text)","conversation history (optional, for context)"],"output_types":["security risk scores (0-1 per risk category)","policy violation flags (boolean per policy)","detailed analysis (detected entities, intent classification, toxicity breakdown)","alert events (JSON)"],"categories":["safety-moderation","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"whylabs__cap_3","uri":"capability://data.processing.analysis.multi.source.data.ingestion.and.profile.aggregation","name":"multi-source data ingestion and profile aggregation","description":"WhyLabs ingests data profiles from multiple sources (batch jobs, streaming pipelines, application logs) through the whylogs library and aggregates them into unified statistical summaries at the platform level. The architecture supports ingestion from Pandas DataFrames, Spark jobs, Kafka streams, and custom data sources via the whylogs API. Profiles are transmitted as compact JSON/binary summaries to the WhyLabs platform (or self-hosted alternative), where they are merged, versioned, and indexed for time-series analysis and comparison.","intents":["Collect data profiles from distributed ML pipelines (batch + streaming) into centralized monitoring system","Aggregate profiles across multiple data sources, models, or environments for holistic observability","Version and timestamp profiles for historical trend analysis and root cause investigation","Enable cross-source comparison (e.g., training data vs production data distributions)"],"best_for":["ML teams operating multi-stage pipelines (data ingestion → preprocessing → model inference)","Organizations with distributed data sources requiring centralized monitoring","Data engineers building data quality frameworks across batch and streaming systems"],"limitations":["Requires whylogs instrumentation at each data source — no automatic discovery or retroactive profiling of uninstrumented systems","Profile aggregation logic not publicly documented — unclear how conflicts are resolved when merging profiles from multiple sources","Platform discontinued — centralized aggregation and dashboard unavailable","Ingestion latency and throughput limits unknown — no published SLOs for profile delivery"],"requires":["whylogs library installed in each data source environment","Network connectivity from data sources to WhyLabs platform (now unavailable) or self-hosted alternative","Configuration of profile schema and ingestion endpoints per source","Python 3.7+ or compatible runtime"],"input_types":["pandas DataFrames","Spark DataFrames","Kafka/Kinesis streams (via custom integrations)","application logs (via custom parsers)","CSV/Parquet files (via batch jobs)"],"output_types":["aggregated statistical profiles (JSON)","versioned profile snapshots (timestamped)","profile metadata (schema, source, timestamp)","merged distribution summaries"],"categories":["data-processing-analysis","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"whylabs__cap_4","uri":"capability://data.processing.analysis.feature.level.data.quality.metrics.and.validation","name":"feature-level data quality metrics and validation","description":"WhyLabs monitors individual feature quality through whylogs by computing per-feature statistics (missing values, outliers, type mismatches, cardinality, distribution shape) and comparing them against user-defined or automatically-learned quality thresholds. The platform tracks metrics like null percentage, min/max/mean values, unique value counts, and data type consistency. Quality violations trigger alerts and are visualized in dashboards, enabling data engineers to identify and remediate data quality issues before they impact model performance.","intents":["Monitor null/missing value rates per feature and alert when they exceed acceptable thresholds","Detect outliers and unexpected value ranges in numerical features","Track categorical feature cardinality and identify new unexpected categories","Validate data type consistency and flag type conversion errors in production pipelines"],"best_for":["Data engineers responsible for data pipeline quality and reliability","ML teams needing early warning of data quality degradation before model impact","Organizations implementing data quality SLOs and automated remediation workflows"],"limitations":["Quality thresholds require manual configuration or statistical learning from reference data — no automatic anomaly detection without baseline","Feature-level metrics are statistical summaries only — cannot detect logical inconsistencies or business rule violations","Platform discontinued — quality dashboards and alerting infrastructure unavailable","Outlier detection uses statistical methods (e.g., z-score) which may miss domain-specific anomalies"],"requires":["whylogs library integrated in data pipeline","Feature schema definition (data types, expected ranges)","Reference/baseline data for threshold learning (optional but recommended)","Configuration of quality metrics and alert thresholds per feature"],"input_types":["structured data (DataFrames with typed columns)","feature metadata (names, types, expected ranges)","baseline/reference data for threshold learning"],"output_types":["per-feature quality scores (0-1 range)","quality violation alerts (feature name, metric, threshold, actual value)","quality dashboards (time-series of quality metrics per feature)","quality reports (summary statistics, trend analysis)"],"categories":["data-processing-analysis","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"whylabs__cap_5","uri":"capability://data.processing.analysis.model.performance.monitoring.and.prediction.analysis","name":"model performance monitoring and prediction analysis","description":"WhyLabs monitors model predictions and performance by profiling model outputs (predictions, confidence scores, latencies) alongside ground truth labels when available. The platform tracks prediction distributions, compares them against baseline expectations, and detects shifts in model behavior. For regression models, it monitors prediction ranges and residual distributions; for classification models, it tracks class distributions and confidence score patterns. Performance metrics are computed on statistical profiles, enabling lightweight monitoring without storing individual predictions.","intents":["Monitor model prediction distributions for shifts that may indicate model degradation","Track model confidence/probability scores to detect when model uncertainty increases","Compare actual vs predicted distributions to identify systematic bias or miscalibration","Correlate prediction drift with data drift to diagnose root causes of performance degradation"],"best_for":["ML engineers operating classification and regression models in production","Data scientists investigating model performance degradation and debugging causes","Teams implementing automated model retraining triggered by performance signals"],"limitations":["Requires ground truth labels for performance evaluation — cannot assess accuracy without labels, only prediction distribution shifts","Performance metrics are computed on statistical profiles only — cannot detect subtle prediction errors or edge case failures","Platform discontinued — performance dashboards and alerting unavailable","Latency monitoring is limited to whylogs profiling overhead; does not capture end-to-end inference latency"],"requires":["whylogs library integrated in model serving pipeline","Model output schema definition (prediction type, confidence score format)","Ground truth labels (optional, for performance evaluation)","Baseline prediction distribution from reference dataset"],"input_types":["model predictions (numerical scores, class labels, probabilities)","confidence/probability scores","ground truth labels (optional)","prediction metadata (timestamp, feature values)"],"output_types":["prediction distribution profiles","performance metrics (accuracy, precision, recall if labels available)","prediction drift scores","performance dashboards (time-series of metrics)","alerts on performance degradation"],"categories":["data-processing-analysis","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"whylabs__cap_6","uri":"capability://planning.reasoning.automated.baseline.learning.and.threshold.configuration","name":"automated baseline learning and threshold configuration","description":"WhyLabs supports automatic baseline establishment by analyzing reference datasets to learn expected data distributions, quality metrics, and performance characteristics. The platform can automatically configure drift detection thresholds, quality alert thresholds, and performance baselines from historical data without manual tuning. This reduces operational overhead for teams new to monitoring and enables adaptive thresholds that adjust as data distributions naturally evolve over time.","intents":["Automatically establish data quality baselines from reference datasets without manual threshold tuning","Learn expected data distributions for drift detection without requiring domain expertise","Configure performance baselines and alert thresholds from historical model performance data","Adapt monitoring thresholds over time as data distributions naturally shift"],"best_for":["Teams deploying monitoring for the first time without historical baseline knowledge","Organizations with many models requiring consistent monitoring setup across portfolio","Data scientists seeking to reduce manual threshold tuning and operational overhead"],"limitations":["Automatic baseline learning algorithm not publicly documented — unclear how baselines are computed or how sensitive they are to reference data quality","Baselines learned from biased or non-representative reference data will produce poor thresholds; garbage-in-garbage-out problem","Platform discontinued — automatic baseline learning and adaptive threshold features unavailable","Adaptive thresholds may mask gradual performance degradation if they adjust too aggressively"],"requires":["Representative reference dataset for baseline learning","Sufficient historical data (minimum size/time window not documented)","WhyLabs platform access (discontinued) or self-hosted alternative","Configuration of baseline learning parameters (e.g., percentile for outlier detection)"],"input_types":["reference datasets (training data, historical production data)","baseline learning configuration (algorithm selection, parameters)","historical performance data (optional, for performance baseline learning)"],"output_types":["learned baseline distributions","automatically-configured quality thresholds","drift detection thresholds","performance baselines","baseline metadata (learning date, reference data size, confidence intervals)"],"categories":["planning-reasoning","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"whylabs__cap_7","uri":"capability://data.processing.analysis.time.series.profile.storage.and.historical.trend.analysis","name":"time-series profile storage and historical trend analysis","description":"WhyLabs stores versioned statistical profiles over time, creating a time-series database of data and model characteristics. Each profile is timestamped and indexed, enabling historical queries, trend analysis, and root cause investigation. Users can compare profiles across time windows (e.g., today vs last week, current vs baseline), visualize trends in data quality and model performance, and identify when degradation began. The platform supports profile retention policies and enables exporting historical data for offline analysis.","intents":["Analyze historical trends in data quality, drift, and model performance over weeks/months","Investigate when model degradation began by comparing profiles across time windows","Correlate data quality issues with model performance degradation using historical profiles","Generate reports on monitoring metrics and trends for stakeholder communication"],"best_for":["ML teams conducting post-incident root cause analysis and debugging","Data scientists analyzing long-term trends in model performance and data quality","Organizations requiring audit trails and historical records for compliance"],"limitations":["Profile retention policies not documented — unclear how long historical data is retained or if there are storage limits","Platform discontinued — historical profile storage and time-series analysis unavailable","Time-series queries and trend analysis capabilities not publicly documented","No built-in statistical significance testing for trend analysis — users must implement custom analysis"],"requires":["WhyLabs platform access (discontinued) or self-hosted alternative with time-series storage","Continuous profile ingestion over time (requires whylogs integration)","Sufficient storage for profile history (storage requirements not documented)"],"input_types":["timestamped statistical profiles","profile metadata (source, schema, version)"],"output_types":["time-series queries (profiles within time range)","trend visualizations (line charts, heatmaps of metrics over time)","historical reports (summary statistics, trend analysis)","profile diffs (comparison between two time points)"],"categories":["data-processing-analysis","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"whylabs__cap_8","uri":"capability://automation.workflow.collaborative.dashboarding.and.alerting.infrastructure","name":"collaborative dashboarding and alerting infrastructure","description":"WhyLabs provides web-based dashboards for visualizing data quality, drift, and model performance metrics across teams. Dashboards display time-series charts, distribution comparisons, quality scorecards, and alert histories. The platform supports configurable alerts that trigger on threshold violations and integrate with notification channels (email, Slack, PagerDuty). Dashboards are shareable and support role-based access control, enabling cross-functional teams (data engineers, ML engineers, data scientists) to collaborate on monitoring and incident response.","intents":["Visualize data quality, drift, and model performance metrics in real-time dashboards","Configure alerts on threshold violations and route them to appropriate teams","Share monitoring dashboards across teams for collaborative incident investigation","Track alert history and incident response metrics for SLO compliance"],"best_for":["ML teams requiring shared visibility into model and data quality across functions","Organizations implementing on-call rotations and incident response workflows","Teams needing to communicate monitoring status to non-technical stakeholders"],"limitations":["Platform discontinued — dashboarding and alerting infrastructure no longer available","Dashboard customization capabilities not documented","Alert routing and notification integrations not documented","No self-hosted dashboard alternative provided (whylogs library is open source, but dashboard is proprietary)"],"requires":["WhyLabs platform access (discontinued)","Configuration of alert thresholds and notification channels","User accounts and role-based access control setup"],"input_types":["statistical profiles (from whylogs)","alert threshold configurations","notification channel credentials (Slack, email, PagerDuty)"],"output_types":["web-based dashboards (HTML/JavaScript)","alert notifications (email, Slack, PagerDuty)","alert history and incident logs","shareable dashboard links"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"whylabs__cap_9","uri":"capability://data.processing.analysis.open.source.whylogs.library.for.embedded.monitoring","name":"open-source whylogs library for embedded monitoring","description":"WhyLabs provides whylogs, an open-source Python library for generating privacy-preserving data profiles that can be embedded directly in production systems. Whylogs uses probabilistic data structures (HyperLogLog, T-Digest, Frequent Items) to create compact statistical summaries of data without storing raw values. The library is lightweight (minimal CPU/memory overhead), supports streaming data, and can be integrated into batch jobs, Spark pipelines, and real-time applications. Profiles are serializable and can be transmitted to WhyLabs platform or stored locally for offline analysis.","intents":["Embed lightweight data profiling in production ML pipelines without performance overhead","Generate privacy-preserving data summaries for compliance with data protection regulations","Create portable data profiles that can be analyzed offline or shared across teams","Monitor data quality and drift in streaming and batch systems with minimal infrastructure changes"],"best_for":["ML engineers building production systems requiring lightweight monitoring","Organizations handling sensitive data subject to privacy regulations (GDPR, HIPAA)","Teams seeking open-source monitoring solutions without vendor lock-in"],"limitations":["Whylogs library is open source and maintained independently — WhyLabs platform (SaaS dashboard) is discontinued","Library provides profiling only; drift detection, alerting, and dashboarding require custom implementation or third-party tools","Probabilistic sketches trade exact statistics for compression — percentile estimates have error margins","Integration requires code changes at data collection points — cannot retroactively profile uninstrumented systems"],"requires":["Python 3.7+ runtime","whylogs library (pip install whylogs)","Integration point in data pipeline (batch job, streaming application, or API wrapper)"],"input_types":["pandas DataFrames","Spark DataFrames","streaming data (via custom integrations)","individual records (for streaming profiling)"],"output_types":["serialized profiles (JSON, binary formats)","profile metadata (schema, timestamp, source)","statistical summaries (cardinality, distribution, missing values)"],"categories":["data-processing-analysis","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"whylabs__headline","uri":"capability://data.processing.analysis.ai.observability.platform","name":"ai observability platform","description":"WhyLabs is an AI observability platform that provides real-time monitoring for data quality, model performance, and LLM behavior with automatic drift detection and anomaly alerting, ensuring robust and responsible AI systems.","intents":["best AI observability platform","AI observability for monitoring model performance","AI observability tools for data quality assurance","real-time monitoring solutions for AI","anomaly detection in AI models","drift detection tools for machine learning"],"best_for":["organizations needing real-time AI monitoring","data scientists ensuring model integrity"],"limitations":[],"requires":[],"input_types":[],"output_types":[],"categories":["data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":57,"verified":false,"data_access_risk":"high","permissions":["whylogs Python library (pip install whylogs)","Python 3.7+ runtime in production environment","Network connectivity to WhyLabs SaaS endpoint (now unavailable) or self-hosted alternative","whylogs library integrated in production data pipeline","Reference/baseline dataset representative of expected data distribution","WhyLabs platform access (discontinued) or self-hosted alternative for dashboard/alerting","Configuration of distance metric and threshold parameters per feature","whylogs library integrated in data pipeline","Explicit schema definition (feature names, types, nullable flags, expected categories)","Configuration of type validation rules and alert thresholds"],"failure_modes":["Probabilistic sketches trade exact statistics for privacy and compression — percentile estimates may have ±5% error margins","Requires whylogs library integration at data collection points — cannot retroactively profile historical data not instrumented","Platform discontinued as of analysis date — whylogs library remains open source but SaaS dashboard unavailable","Drift detection algorithms and threshold tuning methodology not publicly documented — requires empirical tuning per use case","Baseline establishment requires representative reference data; poor baseline selection leads to false positives/negatives","Platform discontinued — drift detection dashboards and alerting infrastructure no longer available","Drift detection operates on statistical summaries only — cannot detect subtle distributional shifts in tail regions","Type validation requires explicit schema definition — no automatic schema inference","Platform discontinued — type validation dashboards and alerting unavailable","Type validation operates on statistical summaries only — cannot detect logical inconsistencies or business rule violations","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.7,"quality":0.9,"ecosystem":0.25,"match_graph":0.25,"freshness":0.75,"weights":{"adoption":0.3,"quality":0.25,"ecosystem":0.15,"match_graph":0.25,"freshness":0.05}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:34.803Z","last_scraped_at":null,"last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=whylabs","compare_url":"https://unfragile.ai/compare?artifact=whylabs"}},"signature":"9iuszA9G2sCpfviF1YEHhKovG+14HWhypqiIYuLTs08TALsXCaqEeTH33rGfDkOgj1Wqb+Pe9WjOAKLc1TlUCw==","signedAt":"2026-06-21T11:34:17.991Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/whylabs","artifact":"https://unfragile.ai/whylabs","verify":"https://unfragile.ai/api/v1/verify?slug=whylabs","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}