+
+Identifier |
+Description |
+
+
+
+
+
+
+`opener:allow-default-urls`
+
+ |
+
+
+This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application.
+
+ |
+
+
+
+
+
+`opener:allow-open-path`
+
+ |
+
+
+Enables the open_path command without any pre-configured scope.
+
+ |
+
+
+
+
+
+`opener:deny-open-path`
+
+ |
+
+
+Denies the open_path command without any pre-configured scope.
+
+ |
+
+
+
+
+
+`opener:allow-open-url`
+
+ |
+
+
+Enables the open_url command without any pre-configured scope.
+
+ |
+
+
+
+
+
+`opener:deny-open-url`
+
+ |
+
+
+Denies the open_url command without any pre-configured scope.
+
+ |
+
+
+
+
+
+`opener:allow-reveal-item-in-dir`
+
+ |
+
+
+Enables the reveal_item_in_dir command without any pre-configured scope.
+
+ |
+
+
+
+
+
+`opener:deny-reveal-item-in-dir`
+
+ |
+
+
+Denies the reveal_item_in_dir command without any pre-configured scope.
+
+ |
+
+
diff --git a/plugins/opener/permissions/default.toml b/plugins/opener/permissions/default.toml
new file mode 100644
index 00000000..846d6e51
--- /dev/null
+++ b/plugins/opener/permissions/default.toml
@@ -0,0 +1,10 @@
+"$schema" = "schemas/schema.json"
+
+[default]
+description = """This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application
+as well as reveal file in directories using default file explorer"""
+permissions = [
+ "allow-open-url",
+ "allow-reveal-item-in-dir",
+ "allow-default-urls",
+]
diff --git a/plugins/opener/permissions/schemas/schema.json b/plugins/opener/permissions/schemas/schema.json
new file mode 100644
index 00000000..b958ac63
--- /dev/null
+++ b/plugins/opener/permissions/schemas/schema.json
@@ -0,0 +1,340 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "PermissionFile",
+ "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.",
+ "type": "object",
+ "properties": {
+ "default": {
+ "description": "The default permission set for the plugin",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/DefaultPermission"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "set": {
+ "description": "A list of permissions sets defined",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PermissionSet"
+ }
+ },
+ "permission": {
+ "description": "A list of inlined permissions",
+ "default": [],
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Permission"
+ }
+ }
+ },
+ "definitions": {
+ "DefaultPermission": {
+ "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.",
+ "type": "object",
+ "required": [
+ "permissions"
+ ],
+ "properties": {
+ "version": {
+ "description": "The version of the permission.",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "format": "uint64",
+ "minimum": 1.0
+ },
+ "description": {
+ "description": "Human-readable description of what the permission does. Tauri convention is to use