---
title: Exposure Notification
framework: Exposure Notification
role: collection
role_heading: Framework
platforms: [iOS 13.5+, iPadOS 13.5+, Mac Catalyst 13.5+]
path: exposurenotification
---

# Exposure Notification

Implement a COVID-19 exposure notification system that protects user privacy.

## Mentioned in

Setting Up a Key Server

## Overview

Overview Use the Exposure Notification framework to inform people of potential exposure to COVID-19, the disease caused by the SARS-CoV-2 virus. You can build a notification system that employs random, rotating keys and identifiers to convey positive diagnoses in addition to data such as associated symptoms, proximity, and duration. Establish User Roles The ExposureNotification framework defines two user roles: important: Before you can develop an app that uses ExposureNotification, you need the com.apple.developer.exposure-notification entitlement. For more information on this entitlement, see Exposure Notification APIs Addendum. To get permission to use this entitlement, see Exposure Notification Entitlement Request. Identify Your App’s Region All EN apps must specify the region for which they work by adding a key called ENDeveloperRegion to the app’s Info.plist file. The value for ENDeveloperRegion is set to a string that represents the app’s region. This value can be an ISO 3166-1 country code (for example, “CA” for Canada), or the ISO 3166-1/3166-2 country code plus subdivision code (“US-CA” for California). Explicitly set the associated domain link to your region code. Avoid using wildcards because they can impact system operations. See Associated Domains Entitlement for more information. Specify Exposure Notification API Version iOS 13.7 introduces a new method of calculating the user’s Exposure Risk Value, described in ENExposureConfiguration. Apps can implement this new method, or continue to use the calculation method introduced in earlier versions of iOS. To choose your app’s approach, add an entry to your app’s Info.plist file with a key of ENAPIVersion. To use the new approach, specify a value of 2. To use the original approach, specify a value of 1. Support Exposure Notification Express Starting with iOS 13.7, Health Authorities can inform users of potential exposure to COVID-19 without a dedicated Exposure Notification app. This feature is called Exposure Notification Express and must be enabled by a Health Authority. For more information, see Supporting Exposure Notifications Express.

## Topics

### Essentials

- [Supporting Exposure Notifications Express](exposurenotification/supporting-exposure-notifications-express.md)
- [Building an App to Notify Users of COVID-19 Exposure](exposurenotification/building-an-app-to-notify-users-of-covid-19-exposure.md)
- [Setting Up a Key Server](exposurenotification/setting-up-a-key-server.md)
- [ENManager](exposurenotification/enmanager.md)
- [ENDeveloperRegion](bundleresources/information-property-list/endeveloperregion.md)
- [ENAPIVersion](bundleresources/information-property-list/enapiversion.md)
- [Changing Configuration Values Using the Server‑to‑Server API](exposurenotification/changing-configuration-values-using-the-server-to-server-api.md)
- [Testing Exposure Notifications Apps in iOS 13.7 and Later](exposurenotification/testing-exposure-notifications-apps-in-ios-13-7-and-later.md)
- [Supporting Exposure Notifications in iOS 12.5](exposurenotification/supporting-exposure-notifications-in-ios-12-5.md)

### Exposures

- [Configuring Exposure Notifications](exposurenotification/configuring-exposure-notifications.md)
- [ENExposureConfiguration](exposurenotification/enexposureconfiguration.md)
- [ENExposureWindow](exposurenotification/enexposurewindow.md)
- [ENScanInstance](exposurenotification/enscaninstance.md)
- [Exposure Parameter Limits](exposurenotification/exposure-parameter-limits.md)

### Summaries

- [ENExposureDetectionSummary](exposurenotification/enexposuredetectionsummary.md)
- [ENExposureDaySummary](exposurenotification/enexposuredaysummary.md)
- [ENExposureSummaryItem](exposurenotification/enexposuresummaryitem.md)

### Status

- [ENAuthorizationStatus](exposurenotification/enauthorizationstatus.md)
- [ENStatus](exposurenotification/enstatus.md)

### Errors

- [ENError](exposurenotification/enerror.md)
- [ENError.Code](exposurenotification/enerror/code.md)
- [ENErrorDomain](exposurenotification/enerrordomain.md)
- [ENErrorHandler](exposurenotification/enerrorhandler.md)

### Variables

- [ENRiskWeightDefaultV2](exposurenotification/enriskweightdefaultv2.md)
- [ENRiskWeightMaxV2](exposurenotification/enriskweightmaxv2.md)
- [EN_FEATURE_GENERAL](exposurenotification/en_feature_general.md)

### Type Aliases

- [ENDetectExposuresHandler](exposurenotification/endetectexposureshandler.md)
- [ENErrorOutType](exposurenotification/enerrorouttype.md)
- [ENGetDiagnosisKeysHandler](exposurenotification/engetdiagnosiskeyshandler.md)
- [ENGetExposureInfoHandler](exposurenotification/engetexposureinfohandler.md)
