---
title: Report Relay
description: ""
lang: en
tags:
  - Observability
---

**Status:** maintained

## Origin

There are so many ways modern browsers can report about problems on the client
side: CSP violations, NEL, COOP, COEP, permissions policies, CAA reports, etc).
And some amount of projects that can accept them.

But surprisingly, I didn't find anything server software that would accept EVERY
ONE of them and do something useful with them.
So I made one.

Report Relay relays your reports. It won't do anything else, or it wouldn't be
called Report Relay.

## What it does

Accepts 16 report formats and sends them to stdout or an OpenTelemetry collector
as logs.

- CAA IODEF incident reports
- Cross-Origin-Embedder-Policy and Cross-Origin-Opener-Policy reports
- Browser crash and Deprecation reports
- Legacy CSP report-uri, HPKP pin validation failure and Expect-CT reports
- Content Security Policy and Document Policy reports
- Permissions Policy and Subresource Integrity reports
- Browser intervention and Network Error Logging reports
- SMTP TLS reports

## What is next

- More report formats
- Relaying to webhooks
- Special blackhole mode for people who don't want to read those reports, but want to look like they are going to read them.

## Fit

- If you love observability
- If you love having all your headers nice and tidy

## Links

- [Repository on Codeberg](https://codeberg.org/damian-buho/report-relay)
- [Issues on Codeberg](https://codeberg.org/damian-buho/report-relay/issues)
- [Repository on GitHub](https://github.com/damian-buho/report-relay)
- [Issues on GitHub](https://github.com/damian-buho/report-relay/issues)
- [Packages on GHCR](https://github.com/damian-buho/report-relay/pkgs/container/report-relay)
- [Packages on Docker Hub](https://hub.docker.com/r/damianbuho/report-relay)
- [Repository on kiota.ch](https://kiota.ch/damian-buho/report-relay)

## Tags

[Observability](/tag/observability/)

## Skills

[Containers & Docker](/skill/containerization/), Go
