# Share a Giskard Scan Report — Model Vulnerabilities as a Link

Canonical: https://commareports.com/share-giskard-report
Published: 2026-09-15

> Giskard's scan returns a report object with to_html(). Publish it to Comma and the bias, robustness and performance findings reach the people who have to sign off on the model.

# Share a Giskard scan report

Giskard scans a model the way a security tool scans a codebase: it goes
looking for the failure modes you did not write a test for — a slice where
performance collapses, a perturbation that flips the prediction, a spurious
correlation doing the work you thought the features were doing.

The output is a report object in a notebook. The audience for it is a risk
reviewer who has never opened a notebook.

## Export the scan

```python
import giskard

results = giskard.scan(giskard_model, giskard_dataset)
results.to_html("giskard.html")
```

One self-contained file: every detected issue, its severity, and the example
rows that triggered it.

## Publish it

Drag `giskard.html` into [the app](https://commareports.com/), or from the
training pipeline:

```bash
curl -fsS -X PATCH "https://commareports.com/api/v1/reports/$REPORT_ID" \
  -H "Authorization: Bearer $COMMA_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d "$(jq -n --rawfile html giskard.html \
        --arg title "Model scan — $MODEL_VERSION" '{title: $title, html: $html}')"
```

Scripts run inside a sandboxed iframe (`allow-scripts`, no
`allow-same-origin`), so the collapsible issue panels and example tables work
at the URL.

## Sign-off needs a durable artifact

"We checked for bias" is not a record. A published scan with comments on it is:

- **Anchored threads** on the issue — "this slice is 40 rows, not a finding"
  next to the slice, or "this is the known seasonality effect, accepted in
  MRM-221" next to the drift. See [commenting on HTML](/comment-on-html).
- **Revisions per retrain**, so a bias that appears in v7 and not v6 is
  visible as a diff at the same URL. PATCH one report id per model.
- **Access per report** — scans include example rows from your dataset. Keep
  them private or team-scoped. See the [sharing model](/docs/sharing).
- **A [routine](/features/routines/scheduled-html-reports)** if the model is
  retrained on a schedule and the scan should be too.

## Limits

- **Entry HTML: 5 MB.** Assets: 25 MB per file, 250 MB and 500 files total.
  Scans that embed many example rows grow quickly — narrow the dataset slice
  for the shareable view.
- **60 requests/minute per token.**

## Try it

Comma is free — unlimited reports, unlimited commenters, unlimited revision
history.

**[Publish a model report →](https://commareports.com/)**

### Related

- [Share an Evidently report](/share-evidently-report) · [Share a Deepchecks report](/share-deepchecks-report)
- [Share a SHAP plot](/share-shap-plot) · [Share a LIME explanation](/share-lime-explanation)
- [Share a Ragas evaluation](/share-ragas-report) · [Share a DeepEval report](/share-deepeval-report)
