KyroFeedback

Troubleshooting

Fix common account, project, widget, public portal, API, and feedback setup problems.

Troubleshooting

I signed up but cannot see a project

New accounts with no project are sent to /onboarding. Enter a unique slug and valid website URL, create the project, and return to /dashboard. If you are still sent to onboarding, confirm the project creation showed success and refresh.

My project does not appear in the selector

Refresh the dashboard and check that the signed-in account is a member of the project. Dashboard access is based on project membership, not knowledge of a project ID.

The public portal shows no feedback

Confirm that the portal slug matches the project's current slug. Open /dashboard/portal for the selected project and use Open public portal. Check the dashboard's project selector if the item was submitted under another project.

Widget does not show up

Check the script URL, placement, and browser console. The script must load after document.body exists; the supplied installation snippet should be placed before </body>. A Content Security Policy may need to allow the KyroFeedback origin in script-src and connect-src. Do not disable CSP entirely.

Widget says the key is invalid

The snippet needs the full publishable key, not just the prefix shown on the API Keys page. Active keys created recently can be copied again from their key-list row. Older keys cannot be recovered; rotate them and update the website snippet. Confirm the key is active and belongs to the intended project.

Public API returns “Origin is not allowed for this project”

Open Settings → Security and add the exact website hostname. Include a development port when applicable, such as localhost:3000. An allowlist entry for www.example.com does not automatically cover example.com or another subdomain.

Public API returns 401, 403, or 429

  • 401: the key is invalid, revoked, malformed, or missing.
  • 403: the project is inactive, the website origin is not allowed, the action is disabled for anonymous visitors, or a publishable key is required for /config.
  • 429: the key exceeded the current limit of 120 requests per minute. Reduce retries or unnecessary polling.

Inspect the JSON error body and HTTP status. Do not retry a permanent 400/401/403 error as if it were transient.

Feedback submission is blocked

Browser widget and publishable API submissions are anonymous submissions. Check Settings → Security → Allow anonymous feedback. The hosted portal lets visitors sign into a portal account when anonymous feedback is off.

Comments or votes are unavailable

Anonymous comment and vote permissions are independent from anonymous feedback. Check the corresponding project settings. Signed-in portal visitors can comment or vote while the anonymous permissions are off.

A vote seems to follow one browser but not another

Anonymous identity uses a browser cookie. A different browser, private window, or cleared cookie is a different anonymous identity. Keep credentials: "include" on custom API calls so the browser retains the cookie.

Changes to widget branding are not visible

Save the experience on Dashboard → Widget, then reload the site and open the widget again. The widget fetches its configuration from /api/v1/config as it opens. Verify the key identifies the project whose settings you changed.

The AI agent asks for a key

Give it only the pk_live_ publishable key if it needs to configure browser integration code. Never provide an sk_live_ secret key, dashboard password, or session cookie. The API prompts in AI agent setup include this restriction.

On this page