# pac.json5隐私清单文件

#### 概述

若您开发App，您在AppGallery Connect上架应用时需要提供应用的隐私标签，建议您在项目工程中创建pac.json5配置文件，在文件中声明处理的个人数据类型、使用目的等信息。编译构建时，如您集成的HSP/HAR中的pac.json5同步声明了隐私保护信息，信息将自动汇总至此文件并随软件打包，上架时AppGallery Connect可基于此文件内容自动生成隐私标签。

若您开发HSP或HAR，为了下游集成使用软件的开发者快速、准确地了解HSP或HAR处理个人数据的情况，建议您在项目工程中创建pac.json5配置文件，在文件中声明处理的个人数据类型、使用目的等信息。文件在编译构建时会合入软件包，隐私保护信息将随软件包同步传递给下游的开发者。

支持版本：DevEco Studio 6.0.0 Beta2及以上版本。

#### 创建pac.json5文件

*   开发App情况下，选中AppScope目录新建pac.json5文件。
    

*   开发HSP或HAR情况下，选中HSP或HAR模块目录新建pac.json5文件。
    

#### 配置文件结构

pac.json5隐私清单文件整体的结构如下。

```
dataProcess
└── dataType
└── dataLabels
    └── label
    └── purposes
    └── userLinked
    └── tracking
specialAPIs
└── apiType
└── reasons
```

#### 配置文件字段说明

pac.json5隐私清单配置文件包括以下字段。

| 字段名称 | 可选/必选 | 类型 | 含义 |
| --- | --- | --- | --- |
| dataProcess | 可选 | 数组 | 声明应用收集的个人数据。 |
| specialAPIs | 可选 | 数组 | 声明应用调用的可用于生成设备指纹的API信息。 |

dataProcess和specialAPIs不能同时为空。

#### dataProcess

dataProcess是声明应用收集的个人数据，包括数据类型、数据项和使用目的。

| 字段名称 | 可选/必选 | 类型 | 含义 |
| --- | --- | --- | --- |
| dataType | 必选 | 字符串 | 应用收集个人数据的类型。 |
| dataLabels | 必选 | 数组 | 应用收集的个人数据项和目的。 |

| 数据类型 | 含义 |
| --- | --- |
| Identifiers | 标识符 |
| Financial information | 财务信息 |
| Basic information | 基本资料 |
| Transaction information | 交易信息 |
| Contact information | 联系人信息 |
| Special category data | 敏感信息 |
| Device information | 设备信息 |
| Location information | 位置信息 |
| App information | 应用信息 |
| User content | 用户内容 |
| Fitness and health information | 运动健康信息 |
| Other personal data | 其他个人数据 |

#### dataLabels

dataLabels是声明应用收集的个人数据项和目的。

| 字段名称 | 可选/必选 | 类型 | 含义 |
| --- | --- | --- | --- |
| label | 必选 | 字符串 | 应用收集的个人数据项。 |
| purposes | 必选 | 数组 | 应用收集个人数据的目的。 |
| userLinked | 可选 | 布尔 | 应用收集的个人数据是否用于用户关联。 |
| tracking | 可选 | 布尔 | 应用收集的个人数据是否用于用户追踪。 |

| 个人数据项 | 含义 | 数据类型 |
| --- | --- | --- |
| ICCID | ICCID | Identifiers |
| IMEI | IMEI |  |
| IMSI | IMSI |  |
| MAC | MAC |  |
| MEID | MEID |  |
| OAID | OAID |  |
| SN | SN |  |
| Chip ID | Chip ID |  |
| ODID | ODID |  |
| SSID | SSID |  |
| BSSID | BSSID |  |
| Other device identifiers | 其他设备标识符 |  |
| ID card | 身份证 |  |
| Other identity information | 其他身份信息 |  |
| User identifiers | 用户标识符 |  |
| Bank account information | 银行账户信息 | Financial information |
| Other financial account information | 其他金融账户信息 |  |
| Asset information | 资产信息 |  |
| Other financial information | 其他账务信息 |  |
| Name | 姓名 | Basic information |
| Gender | 性别 |  |
| Age | 年龄 |  |
| Date of birth | 出生日期 |  |
| Account information | 账号信息 |  |
| Education information | 教育信息 |  |
| Work information | 工作信息 |  |
| Home information | 家庭信息 |  |
| Address | 地址 |  |
| Phone number | 电话号码 |  |
| Email address | 电子邮件地址 |  |
| Calendar and schedule | 日历 |  |
| Other personal information | 其他个人资料 |  |
| Order information | 订单信息 | Transaction information |
| Transaction records | 交易记录 |  |
| Package delivery information | 快递信息 |  |
| Other transaction information | 其他交易信息 |  |
| Contact list | 联系人列表 | Contact information |
| Social media accounts | 社交账号 |  |
| Other contact information | 其他联系人信息 |  |
| Facial recognition features | 面部识别特征 | Special category data |
| Voiceprint information | 声纹 |  |
| Other biometric features | 其他生物特征 |  |
| Other special category data | 其他敏感信息 |  |
| Magnetometer | 磁力计信息 | Device information |
| Light sensor | 光照传感器 |  |
| Acceleration sensor | 加速器数据 |  |
| Screen orientation sensor | 屏幕方向传感器 |  |
| Barometer | 气压计 |  |
| Gyroscope | 陀螺仪数据 |  |
| Rotation vector sensor | 旋转矢量传感器信息 |  |
| Gravity sensor | 重力传感器信息 |  |
| OS information | 操作系统信息 |  |
| Other hardware and software parameters/System settings | 其他软硬件参数/系统设置 |  |
| Device status | 设备状态 |  |
| IP address | IP地址 |  |
| Wi-Fi parameters | WiFi参数 |  |
| Wi-Fi status | WiFi状态 |  |
| Network type | 网络类型 |  |
| Carrier | 运营商 |  |
| Other device information | 其他设备信息 |  |
| Network location | 网络位置 | Location information |
| Other approximate location information | 其他大致位置信息 |  |
| GPS location | GPS位置 |  |
| Other precise location information | 其他精确位置信息 |  |
| Browsing history | 浏览记录 | App information |
| Favorites | 收藏记录 |  |
| Basic app information | 应用基本信息 |  |
| App settings | 应用设置信息 |  |
| App running status | 应用运行状态 |  |
| App run logs | 应用运行日志 |  |
| App usage information | 其他使用应用的信息 |  |
| SMS messages | 短信 | User content |
| Call logs | 通话记录 |  |
| Other communication content | 其他通讯内容 |  |
| Image or video | 图片或视频 |  |
| Audio recording | 录音 |  |
| Audio | 音频 |  |
| Text information | 文字信息 |  |
| Search keywords | 搜索词 |  |
| Social interactions | 社交互动 |  |
| Game statistics | 游戏数据 |  |
| Customer service records | 客户支持 |  |
| Pasteboard | 剪切板 |  |
| Software installation list | 软件安装列表 |  |
| Other user content | 其他用户内容 |  |
| Heart rate | 心率 | Fitness and health information |
| Blood pressure | 血压 |  |
| Other health information | 其他健康信息 |  |
| Fitness information | 运动信息 |  |
| Other personal data | 其他个人数据 | Other personal data |

| 个人数据收集的目的 | 目的详细描述 |
| --- | --- |
| App functionality | 应用提供基本功能、安全防护功能、确保应用正常运营以及客户支持。 |
| Product personalization | 按照不同用户差异化呈现应用内容。 |
| Analytics | 评估用户行为，了解现有产品功能的效果、进行服务改进。 |
| Advertising and marketing | 用于在应用中显示广告或营销信息的数据。 |
| Disclosure to third parties | 将数据共享至第三方运营主体，目的包括但不限于：共享至物流公司用于物品邮件、共享至第三方用于广告投放效果评估、共享至第三方进行数据展示、评测/评估、研究、合作双方对账、由第三方提供运营、运维服务、论坛、社交等服务中公开披露。 |
| Cross-border transfer | 数据跨境传输。 |
| Others | 用于未列出的其他用途。 |

#### specialAPIs

specialAPIs是声明应用调用的可用于生成设备指纹的API信息，包含API类型和调用原因。

| 字段名称 | 可选/必选 | 类型 | 含义 |
| --- | --- | --- | --- |
| apiType | 必选 | 字符串 | API类型 |
| reasons | 必选 | 数组 | API调用原因 |

| API类型 | API介绍 | API列表 |
| --- | --- | --- |
| File timestamp APIs | 用于获取文件的创建、修改或访问时间戳，有助于管理文件和数据同步。 | ctime mtime fs.getxattr fs.getxattrSync fs.stat file.get fs.lstat cloudStorage.bucket().getMetadata |
| System boot time APIs | 提供系统启动时间信息，常用于计算系统运行时长或在系统重启后保持应用状态。 | systemDateTime.getUptime |
| Disk space APIs | 用于检测磁盘空间，有助于管理存储资源，例如在空间不足时提醒用户或优化数据存储。 | statvfs.getFreeSize statvfs.getTotalSize |
| Active keyboard APIs | 用于检测当前激活的键盘，常用于提供上下文相关的输入体验或支持多语言输入。 | inputDevice.getKeyboardType |
| User preferences APIs | 用于存储和检索用户首选项，如应用配置或最近使用的项目，有助于提高用户体验和应用的个性化。 | preferences.getPreferences sendablePreferences.getPreferences |

| API调用原因 | 目的详细描述 | API类型 |
| --- | --- | --- |
| Display to user on-device | 用于向用户显示文件的时间戳，如文件的创建、修改和访问时间。 | File timestamp APIs |
| Access file metadata in-app | 用于访问应用容器内或云存储（Cloud Foundation Kit）中文件的时间戳、大小或其他元数据。 |  |
| Files provided to app by user | 用于访问用户授权文件或目录的时间戳、大小或其他元数据。 |  |
| 3rd-party SDK wrapper on-device | 用于应用调用第三方SDK提供的文件时间戳封装函数。 |  |
| Measure time on-device | 用于计算应用内事件之间经过的时间，或通过时间计算实现定时器。 | System boot time APIs |
| Calculate timestamp for in-app event | 用于计算应用内事件的绝对时间戳。 |  |
| User-initiated bug report | 用于在用户主动提交的诊断报告中记录系统启动时间。 |  |
| Display to user on-device | 用于向用户显示磁盘空间信息。 | Disk space APIs |
| Write or delete file on-device | 用于写文件前检查磁盘空间是否充足，或检查到磁盘空间不足时触发垃圾文件清理。 |  |
| User-initiated bug report | 用于在用户主动提交的诊断报告中记录磁盘空间信息。 |  |
| Health research app | 用于检测是否有足够的磁盘空间存储应用收集的健康数据。 |  |
| Custom keyboard app on-device | 用于自定义键盘类应用检查当前设备激活的键盘。 | Active keyboard APIs |
| Customized UI on-device | 用于根据激活键盘状态向用户呈现正确的定制化UI界面。 |  |
| Access preferences data in-app | 用于访问仅限本应用读写的用户首选项配置信息。 | User preferences APIs |
| 3rd-party SDK wrapper on-device | 用于应用调用第三方SDK提供的用户首选项（Preference API）封装函数。 |  |

#### pac.json5文件示例

```
{
  "dataProcess": [
    {
      "dataType": "Identifiers",
      "dataLabels": [
        {
          "label": "MAC",
          "purposes": ["App functionality"],
          "userLinked": true,
          "tracking": true
        }
      ]
    }
  ],
  "specialAPIs": [
    {
      "apiType": "File timestamp APIs",
      "reasons": ["Display to user on-device","Access file metadata in-app"]
    }
  ]
}
```