From feb590faa5122227dfa99709e53e106d664e2d6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=99=A8?= Date: Sun, 7 Sep 2025 15:21:14 +0800 Subject: [PATCH] =?UTF-8?q?Signed-off-by:=20=E8=B0=A2=E6=99=A8=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...hos.security.identifySensitiveContent.d.ts | 127 ++++++++++++++++++ kits/@kit.DataProtectionKit.d.ts | 3 +- 2 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 api/@ohos.security.identifySensitiveContent.d.ts diff --git a/api/@ohos.security.identifySensitiveContent.d.ts b/api/@ohos.security.identifySensitiveContent.d.ts new file mode 100644 index 0000000000..49146f355a --- /dev/null +++ b/api/@ohos.security.identifySensitiveContent.d.ts @@ -0,0 +1,127 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file Identify sensitive file + * @kit DataProtectionKit + */ + +/** + * identifySensitiveContent + * @namespace identifySensitiveContent + * @syscap SystemCapability.Security.DataLossPrevention + * @since 21 + */ + declare namespace identifySensitiveContent { + + /** + * Identify Policy + * @typedef Policy + * @syscap SystemCapability.Security.DataLossPrevention + * @since 21 + */ + export interface Policy { + + /** + * Sensitive Label + * Label Length:[1, 30] + * @type { string } + * @syscap SystemCapability.Security.DataLossPrevention + * @since 21 + */ + sensitiveLabel: string; + + /** + * Collection of keyword + * Keyword Length:[1, 30] + * Array Length:[0,50] + * @type { Array } + * @syscap SystemCapability.Security.DataLossPrevention + * @since 21 + */ + keywords: Array; + + /** + * Regular expression + * Regex Length:[0, 512] + * @type { string } + * @syscap SystemCapability.Security.DataLossPrevention + * @since 21 + */ + regex: string; + } + + /** + * Match result + * @typedef MatchResult + * @syscap SystemCapability.Security.DataLossPrevention + * @since 21 + */ + export interface MatchResult { + + /** + * Identify Label + * @type { string } + * @readonly + * @syscap SystemCapability.Security.DataLossPrevention + * @since 21 + */ + readonly sensitiveLabel: string; + + /** + * Match content + * @type { string } + * @readonly + * @syscap SystemCapability.Security.DataLossPrevention + * @since 21 + */ + readonly matchContent: string; + + /** + * Total number of identified content + * @type { number } + * @readonly + * @syscap SystemCapability.Security.DataLossPrevention + * @since 21 + */ + readonly matchNumber: number; + } + + /** + * Identify sensitive content from file based on policy. + * @permission ohos.permission.ENTERPRISE_DATA_IDENTIFY_FILE + * @param { string } filePath - To be idetified file path + * @param { Array } identifyPolicies - Identify Policy + * @returns { Promise> } Identify result of Sensitive content + * @throws { BusinessError } 201 - permission denied. + * @throws { BusinessError } 801 - Capability not supported. + * @throws { BusinessError } 19110001 - Parameter error. Possible causes: + * 1. Incorrect policy format. + * 2. Invalid parameter range. + * @throws { BusinessError } 19110002 - Sensitive file content identification timed out. + * @throws { BusinessError } 19110003 - The file is not supported. Possible causes: + * 1. The file path does not exist. + * 2. The file type is not supported. + * 3. The file permission is not supported. + * @throws { BusinessError } 19110004 - A system error has occurred. + * @syscap SystemCapability.Security.DataLossPrevention + * @since 21 + */ + function scanFile(filePath: string, identifyPolicies: Array) + : Promise>; + } + + export default identifySensitiveContent; + diff --git a/kits/@kit.DataProtectionKit.d.ts b/kits/@kit.DataProtectionKit.d.ts index e802468931..0d1c91bad0 100644 --- a/kits/@kit.DataProtectionKit.d.ts +++ b/kits/@kit.DataProtectionKit.d.ts @@ -19,5 +19,6 @@ */ import dlpPermission from '@ohos.dlpPermission'; +import identifySensitiveContent from '@ohos.security.identifySensitiveContent'; -export { dlpPermission }; +export { dlpPermission, identifySensitiveContent }; -- Gitee