# Client Deliverables That Open in a Browser — Report Sharing for Consultants

Canonical: https://commareports.com/for/consultants
Published: 2026-09-11

> The audit is a 40 MB zip the client's mail server rejected, and three rounds of feedback live in four email threads. Publish the deliverable to a link, collect comments on it, and keep the revision trail.

# Client deliverables that just open

The deliverable is finished. Now comes the part that isn't billable: a 40 MB
zip that the client's mail server bounced, a follow-up with a Dropbox link,
a reply saying the charts are blank, and four email threads of feedback that
you will be reconciling by hand at 11pm.

None of that is about the work. It's about the transport.

## Publish it, send the link

A consulting deliverable is HTML — a Quarto or R Markdown build, a
[data audit](/share-eda-report), a [performance report](/share-lighthouse-report),
a [security assessment](/share-pentest-report), a deck exported from
[Marp](/share-marp-slides) or [reveal.js](/share-revealjs-presentation).
Publishing it gives it an address:

```bash
curl -X POST https://commareports.com/api/v1/reports \
  -H "Authorization: Bearer $COMMA_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "title": "Q3 Infrastructure Audit — Acme", "html": "<html>…</html>" }'
```

Or drag the file in. Either way the client gets a URL that opens in the
browser they already have — no account, no install, no VPN, no "can you
re-send it as a PDF."

If your build emits a directory rather than one file — Quarto with a
`_files/` folder, a Sphinx site, anything with sibling CSS — publish the
[whole folder](/share-html-folder) so relative links keep resolving. That is
the single most common reason a client says the report "looks broken."

## The part that matters six months later

Consulting feedback arrives as prose, and prose detaches from the thing it
was about. "The regional numbers look off" is useless in March when nobody
remembers which table.

Anchored comments fix that. The client highlights the number and the comment
stays pinned to it. When you redraft, the revision lands at the **same URL**
— so the link in the SOW, the link in the invoice email, and the link the
client's CFO bookmarked all still work, and all show the current version with
the earlier ones behind it.

That trail is the artifact you actually need if the engagement is ever
questioned: what was reported, what was challenged, what changed, in order.

## Access, in the order you'll want it

1. **Start private.** Reports created over the API are private by default.
   An audit that names systems and people should not begin life public.
2. **Widen to the client.** A link with `comment` permission lets them read
   and annotate without an account.
3. **Narrow at the end.** Set it back to private when the engagement closes —
   the link stops working immediately. Links that expire on a date you set
   are Enterprise.

The full model — five visibility levels, per-person roles, link permissions —
is in [sharing & access control](/docs/sharing).

## Worth knowing

- **Interactivity survives.** Filters, sortable tables and Plotly charts run
  in a sandboxed iframe, so the client gets the report you built, not a
  flattened screenshot of it.
- **One report per deliverable, not per draft.** Revisions at one address
  beat `audit-final-v3-CLIENT-REVISED.html` in every way that matters.
- **Retainer work suits [routines](/features/routines).** A monthly report
  that regenerates on a schedule and updates the same link is a standing
  deliverable the client can bookmark once.
- **Branding.** Custom domain and removing the "Published on Comma" mark are
  Enterprise; the report's own HTML and styling are always yours.
- **Limits.** Entry HTML 5 MB; assets 25 MB per file, 250 MB and 500 files
  per report.

## Try it

Comma is free — unlimited reports, unlimited commenters, unlimited revision
history. Clients never need an account.

**[Start free →](/login)**

### Related

- [Share an HTML file with a client](/share-html-file-with-client)
- [For agencies](/for/agencies) · [For freelance developers](/for/freelance-developers)
- [HTML file too big to email](/fix/html-file-too-big-to-email) ·
  [Comment on HTML](/comment-on-html)
