Data Obfuscation for Indoor Data Sharing

Data Obfuscation for Indoor Data Sharing

Thank you for your interest to share your indoor data for research. We want to be very transparent about the steps we take to obfuscate the data and ensure that individual people cannot easly be identified. Further to below, no user names, emails etc. are bundled with the data. It is strictly focusing on the air quality data and location coordinates.

To access the public dataset, review the available measurements, and understand its current coverage and research limitations, see Accessing AirGradient Global Indoor Air Quality Map and API.

The data is obfuscated in two main ways before it is returned by the API:

Latitude and longitude are rounded

The exact sensor coordinates are not returned. Instead, latitude and longitude are rounded to one decimal place.

Example:

Original location: 18.788345, 98.985123

Returned location: 18.8, 99.0

This reduces the precision to about 0.1 degrees, which is roughly 11 km. The returned point can be several kilometers away from the real location, so users see the approximate area rather than the exact building, home, or address.

The internal location ID is replaced with a salted hash

The real internal database locationId is not exposed. Instead, it is converted into a SHA-256 hash combined with a secret salt.

Example:

Original internal location ID: 12345

Returned obfuscated location ID: 9f2a1c0e...long sha256 hash...

This prevents users from seeing the internal database ID directly. The obfuscated ID remains stable, so the same location can still be used to request historical measurements.

The API still returns measurement data such as:

PM2.5, PM10, temperature, humidity, CO₂, timestamps.

Below is an example of what a returned indoor location measurement object may look like:

{
  "data": [
    {
      "locationId": 0,
      "longitude": 0,
      "latitude": 0,
      "sensorType": "string",
      "pm25": 0,
      "pm10": 0,
      "atmp": 0,
      "rhum": 0,
      "rco2": 0,
      "measuredAt": "2026-09-23T12:50:16.170Z",
      "dataSource": "string"
    }
  ],
  "total": 0,
  "page": 0,
  "pagesize": 0
}

Only indoor data is made publicly available through this opt-in.

If you also run an outdoor monitor, the returned object may also include an optional linked outdoor measurement object for the same place. The linked outdoor data is not made public through the indoor data sharing opt-in. This is because linked indoor and outdoor data can increase the risk of identifying a location, especially when combined with other information.

In research cases, the relationship between indoor air quality, outdoor air quality, and meteorological conditions is important. For this reason, only approved researchers may request access to a linked outdoor data object separately. That outdoor object does not include outdoor latitude, longitude, or location ID.

Here’s what the linked outdoor data object may look like:

"outdoor": {
    "pm01": 4.1,
    "pm02": 10.2,
    "pm10": 16.8,
    "pm003Count": 1720,
    "atmp": 31.2,
    "rhum": 49,
    "rco2": 420,
    "tvoc": 98.7,
    "timestamp": "2026-07-01T08:30:00Z",
    "tvocIndex": 97,
    "noxIndex": 2,
    "model": "O-1PST",
    "firmwareVersion": "3.6.2"
  }

Access to linked outdoor data is only provided after review and after the researcher signs a confidentiality agreement requiring them to keep the linked outdoor data private. Access requests must be sent via the contact form here.

What privacy risks remain?

The same obfuscated location ID remains stable over time, so the location can still be followed historically. Also, rounded coordinates may still reveal the approximate area, especially in rural places or where there are few sensors.

So, if you are concerned about this potential location identification, please do not opt-in to the indoor data sharing, or move the coordinates of your outdoor monitor to a slightly different location.

Your are being redirected to AirGradient Dashboard...