PERC

PERC stands for Privacy Enhanced RTP Conferencing.

PERC is an IETF framework that defines how to maintain E2EE (End-to-End Encryption) in RTP-based conferencing when media passes through middleboxes like SFUs.

The PERC problem

In a standard WebRTC conference using an SFU:

  • Media is encrypted with SRTP between each endpoint and the SFU
  • The SFU can decrypt and read the media (it needs to access RTP headers for routing)
  • True end-to-end encryption is not achieved

PERC defines a double encryption model where:

  • An inner encryption layer protects the media content end-to-end (only endpoints can decrypt)
  • An outer encryption layer protects the full packet hop-by-hop (the SFU can process headers)

PERC vs Insertable Streams

While PERC was the IETF's approach, browsers implemented E2EE through Insertable Streams instead, which provides a more flexible mechanism for custom encryption at the application level.

Tsahi Levent-Levi

Tsahi Levent-Levi

Independent WebRTC analyst. 20+ years in telecom, 13 focused on WebRTC. Writes for developers and product teams who need to understand, not just implement, real-time communications.