---
title: Error Reports for Your Projects with URIports and Vercel
description: Enable error reporting for your websites deployed with Vercel and act fast on issues.
url: /kb/guide/client-side-error-reports-with-uriports-vercel
canonical_url: "https://vercel.com/kb/guide/client-side-error-reports-with-uriports-vercel"
published: 2025-11-03
last_updated: 2025-11-10
authors: Timothy Lorimer
related:
  - /docs/concepts/deployments/git
  - /docs/concepts/deployments/preview-deployments
  - /docs/concepts/deployments/environments
  - /docs
  - /docs/concepts/projects/custom-domains
install_vercel_plugin: npx plugins add vercel/vercel-plugin
---
<!-- docsgraph:related -->
## Related pages

> **For AI agents:** Follow these links to understand how this page connects to the rest of the Vercel ecosystem. For the full cross-link map (inbound, outbound, prerequisites, and semantic neighbors), see the .graph.md link below.

- [Vercel Deployment Guide](https://ai-sdk.dev/docs/advanced/vercel-deployment-guide?from=related&source_path=%2Fkb%2Fguide%2Fclient-side-error-reports-with-uriports-vercel&source_site=vercel-kb&relationship=related)
- [Troubleshooting Build Errors](https://vercel.com/docs/deployments/troubleshoot-a-build?from=related&source_path=%2Fkb%2Fguide%2Fclient-side-error-reports-with-uriports-vercel&source_site=vercel-kb&relationship=related) — Learn how to resolve common scenarios you may encounter during the Build step, including build errors that cancel a depl
- [July 2020](https://vercel.com/blog/changelog-july-2020?from=related&source_path=%2Fkb%2Fguide%2Fclient-side-error-reports-with-uriports-vercel&source_site=vercel-kb&relationship=related)
- [June 2020](https://vercel.com/blog/changelog-june-2020?from=related&source_path=%2Fkb%2Fguide%2Fclient-side-error-reports-with-uriports-vercel&source_site=vercel-kb&relationship=related)
- [Deploying GitLab Projects with Vercel](https://vercel.com/docs/git/vercel-for-gitlab?from=related&source_path=%2Fkb%2Fguide%2Fclient-side-error-reports-with-uriports-vercel&source_site=vercel-kb&relationship=related) — ​Vercel for GitLab automatically deploys your GitLab projects with Vercel, providing Preview Deployment URLs, and automa
- [Deploying GitHub Projects with Vercel](https://vercel.com/docs/git/vercel-for-github?from=related&source_path=%2Fkb%2Fguide%2Fclient-side-error-reports-with-uriports-vercel&source_site=vercel-kb&relationship=related) — Vercel for GitHub automatically deploys your GitHub projects with Vercel, providing Preview Deployment URLs, and automat
- [Project settings](https://vercel.com/docs/project-configuration/project-settings?from=related&source_path=%2Fkb%2Fguide%2Fclient-side-error-reports-with-uriports-vercel&source_site=vercel-kb&relationship=related) — Use the project settings, to configure custom domains, environment variables, Git, integrations, deployment protection,
- [Deploying to Vercel](https://vercel.com/docs/deployments?from=related&source_path=%2Fkb%2Fguide%2Fclient-side-error-reports-with-uriports-vercel&source_site=vercel-kb&relationship=related) — Learn how to create and manage deployments on Vercel.
- [Monitor Frontend Performance with DebugBear and Vercel](https://vercel.com/kb/guide/monitor-frontend-performance-with-debugbear-and-vercel?from=related&source_path=%2Fkb%2Fguide%2Fclient-side-error-reports-with-uriports-vercel&source_site=vercel-kb&relationship=related) — Automatically test each Vercel deployment and report performance changes to GitHub.
- [How to debug 404 errors](https://vercel.com/kb/guide/how-to-debug-404-errors?from=related&source_path=%2Fkb%2Fguide%2Fclient-side-error-reports-with-uriports-vercel&source_site=vercel-kb&relationship=related) — Learn the systematic steps to identify and resolve 404 issues.
- [Monitor Performance with Calibre and Vercel](https://vercel.com/kb/guide/monitoring-performance-with-calibre-and-vercel?from=related&source_path=%2Fkb%2Fguide%2Fclient-side-error-reports-with-uriports-vercel&source_site=vercel-kb&relationship=related) — Receive performance reports directly in your GitHub Pull Requests, following a Vercel deployment.
- [Add structured application logs to Vercel Functions](https://vercel.com/kb/guide/add-structured-application-logs-to-vercel-functions?from=related&source_path=%2Fkb%2Fguide%2Fclient-side-error-reports-with-uriports-vercel&source_site=vercel-kb&relationship=related) — Learn how to add structured application logs to Vercel Functions to help troubleshoot function issues in real time.

Full cross-link map for this page: [/kb/guide/client-side-error-reports-with-uriports-vercel.graph.md](/kb/guide/client-side-error-reports-with-uriports-vercel.graph.md?from=related&source_path=%2Fkb%2Fguide%2Fclient-side-error-reports-with-uriports-vercel&source_site=vercel-kb&relationship=graph)
<!-- /docsgraph:related -->


Support for client-side generated reports are the standard for modern web browsers, and enabling this for your projects is a great way to identify and resolve issues, and improve site security, without relying on your users as testers.

Using [URIports](https://uriports.com/), you will only need to configure a few HTTP headers to start receiving reports.

## What Reports?

Setting up reports with URIports, you can receive a variety of reports to inform you of various cases, including;

- Crash: A visitor was unable to continue because the (mobile) browser crashed.
  
- Deprecation: A browser API or feature has been used which is expected to stop working in a future update to the browser.
  
- Intervention: A user-agent has not honored a request made, or javascript function called, by the website or web-based app (e.g., for security, performance, or user annoyance reasons.)
  
- Network-Error-Logging (NEL): Receive reports on 4xx/5xx HTTP errors, and DNS/TLS related issues. For more information, see the [URIports documentation](https://www.uriports.com/blog/network-error-logging/).
  
- Content Security Policy (CSP): Reports to help detect and mitigate certain types of attacks, like XSS and data injection, and thereby improve the security of the website or web-based apps.
  
- Expect-CT: When browsers fail to detect the presence of Signed Certificate Timestamps (SCTs) in subsequent TLS connections. This prevents the use of misused certificates from going unnoticed.
  
- Permissions Policy: The visitor triggered a violation of the Permissions Policy. A policy that allows you to selectively enable, disable, or modify the behavior of browser features.
  

## Step 1: Setting up a project on Vercel

[Vercel](https://vercel.com/) makes it effortless to deploy any static framework and Serverless Function so that you can focus on your project.

Firstly, [signup for a free Vercel account](https://vercel.com/signup), then using your project's Git repository, import and deploy your project:

To deploy your project with [Vercel for Git](https://vercel.com/docs/concepts/deployments/git), make sure it has been pushed to a Git repository.

Import the project into Vercel using your [Git provider](https://vercel.com/import/git) of choice.

After your project has been imported, all subsequent pushes to branches will generate [Preview Deployments](https://vercel.com/docs/concepts/deployments/preview-deployments#), and all changes made to the [Production Branch](https://vercel.com/docs/concepts/deployments/git#production-branch) (commonly "main") will result in a [Production Deployment](https://vercel.com/docs/concepts/deployments/environments#production).

Alternatively, you can learn about setting up your project on Vercel or use one of our many Quickstarts from [the Vercel introduction documentation](https://vercel.com/docs).

Once deployed, you will receive a default production URL for your project which you will need in the setup of your URIports account. Alternatively, you can [assign a Custom Domain](https://vercel.com/docs/concepts/projects/custom-domains) to your project.

## Step 2: Setting up URIports and HTTP Headers

URIports collects, aggregates, and enriches all of the reports listed above and presents them in a uniform, intuitive way to navigate interface. With built-in (email and push) notifications, URIports keeps you informed on issues that require attention without the need to regularly log in.

Create an endpoint for your reports by [setting up a free URIports account](https://app.uriports.com/auth/create/).

URIports will ask you for an email, password, and a domain for which your reports will be coming from. The domain will be the production URL that you received for your project in [Step 1](https://vercel.com/guides/client-side-error-reports-with-uriports-vercel#step-1:-setting-up-a-project-on-vercel).

From your URIports dashboard, take note of your Report Endpoint.

Next, create a `vercel.json` file at the root of your project and fill it with the following contents, replacing `my-report-endpoint` with your endpoint ID:

```json
{
  "headers": [
    {
      "source": "/(.*)",
      "headers": [
        {
          "key": "Report-To",
          "value": "{\"group\":\"default\",\"max_age\":10886400,\"endpoints\":[{\"url\":\"https://my-report-endpoint.uriports.com/reports\"}],\"include_subdomains\":true}"
        },
        {
          "key": "NEL",
          "value": "{\"report_to\":\"default\",\"max_age\":2592000,\"include_subdomains\":true,\"failure_fraction\":1.0}"
        },
        {
          "key": "Content-Security-Policy-Report-Only",
          "value": "default-src 'self'; font-src 'self'; img-src 'self'; script-src 'self'; style-src 'self'; report-uri https://my-report-endpoint.uriports.com/reports/report; report-to default"
        },
        {
          "key": "Expect-CT",
          "value": "max-age=86400,report-uri=\"https://my-report-endpoint.uriports.com/reports/report\""
        },
        {
          "key": "Permissions-Policy",
          "value": "geolocation=(), camera=(), fullscreen=*, payment=self"
        }
      ]
    }
  ]
}
```

> **Note:** You can learn more about URIports reporting types and how to use them from their [Getting Started guide](https://www.uriports.com/getting-started).

## Step 3: Deploy and Receive Reports

With a Vercel project created and URIports setup for your project, you can now deploy your changes and start receiving reports.

For projects that were deployed from a Git repository, all you need is to push to the [Production Branch](https://vercel.com/docs/concepts/deployments/git#production-branch) (commonly `main`) and you will get a fresh Production Deployment.

Alternatively, run `vercel --prod` with Vercel CLI from your project's root.

That's all! You will now receive reports from your users and be able to act quickly on any issue that arises.

## Avoiding Flooding Your URIports Account

Some report types can potentially flood your URIports account with reports and burn a lot of your quota if they are configured incorrectly.

The following is a few suggestions to help you stop flooding:

- Network-Error-Logging: If you have a high traffic website, you should lower the `failure_fraction` to define a sampling rate. The value must be a number between 0.0 and 1.0 (e.g. 0.05 for 5%.)
  
- Content Security Policy: Enabling CSP could result in a massive amount of reports when you use external sources like Google Analytics or files hosted on a CDN. If you have not properly set up a CSP yet, we advise you to start by removing the `report-uri` and `report-to` elements from your CSP-header and use the browser's console to track down external sources and add them to your policy before enabling the report features again. Read more about implementing CSP: [https://www.uriports.com/blog/creating-a-content-security-policy-csp/](https://www.uriports.com/blog/creating-a-content-security-policy-csp/)