Report widget
Embed a one-line snippet in your own app and reports land as issues.
The report widget is a tiny toolbar you embed in your own app. Anyone you authorize can file a report from the live page — it lands in your Alkahest project as an issue, with the reporting URL and user agent attached.
Embed
<script
src="https://unpkg.com/@cr8rcho/alkahest-toolbar/dist/toolbar.global.js"
data-alkahest-project="your-project-slug"
defer
></script>
That's the whole integration. The script renders nothing for ordinary visitors — the toolbar only appears for people who have activated it (below), so it's safe to ship to production.
Authorize reporters
Reporting uses scoped tokens — a widget token can file reports and nothing else (it can't read your maps, publish, or touch other projects).
- A teammate opens your app with
?alkahest=onappended to the URL. - The toolbar appears and walks them through a one-time consent on alkahest.app (they need an Alkahest account with access to the project).
- From then on the toolbar is available for them on that browser.
Turning it off
- A reporter turning it off for themselves — open the panel and hit Turn off toolbar at the bottom. It hides the toolbar on that browser and signs it out;
?alkahest=offin the URL does the same thing without opening the panel. Re-enable with?alkahest=on. - Revoking someone's access — turning it off is per-browser, so to cut off reporting entirely, revoke their widget token on your account's Tokens page (it's the
widget: <origin>row). They'd have to consent again to get a new one. - Removing it from your app — drop the
<script>tag. Keeping the tag but removingdata-alkahest-projectalso disables it (auto-init needs the attribute).
Where reports go
Each report becomes an issue with:
- the title/description they typed,
- the page URL it was reported from,
- the browser user agent.
Triage them like any issue — on the issue map, the project's Issues page, or let your agent pull them over MCP and investigate. Reports show up in the activity journal with a widget actor chip.
Configuration
| Attribute | Meaning |
|---|---|
data-alkahest-project | Project slug (required — its presence triggers auto-init). |
data-issue-map | Issue-map slug to file into (omit to use the project's sole map). |
Prefer manual init? The script exposes window.Alkahest.init(config) — drop the data-alkahest-project attribute so auto-init stays out of the way.