"description":"Capability formats accepted in a capability file.",
"anyOf":[
{
"description":"A single capability.",
"allOf":[
{
"$ref":"#/definitions/Capability"
}
]
},
{
"description":"A list of capabilities.",
"type":"array",
"items":{
"$ref":"#/definitions/Capability"
}
},
{
"description":"A list of capabilities.",
"type":"object",
"required":[
"capabilities"
],
"properties":{
"capabilities":{
"description":"The list of capabilities.",
"type":"array",
"items":{
"$ref":"#/definitions/Capability"
}
}
}
}
],
"definitions":{
"Capability":{
"description":"A grouping and boundary mechanism developers can use to isolate access to the IPC layer.\n\nIt controls application windows fine grained access to the Tauri core, application, or plugin commands. If a window is not matching any capability then it has no access to the IPC layer at all.\n\nThis can be done to create groups of windows, based on their required system access, which can reduce impact of frontend vulnerabilities in less privileged windows. Windows can be added to a capability by exact name (e.g. `main-window`) or glob patterns like `*` or `admin-*`. A Window can have none, one, or multiple associated capabilities.\n\n## Example\n\n```json { \"identifier\": \"main-user-files-write\", \"description\": \"This capability allows the `main` window on macOS and Windows access to `filesystem` write related commands and `dialog` commands to enable programatic access to files selected by the user.\", \"windows\": [ \"main\" ], \"permissions\": [ \"core:default\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] }, \"platforms\": [\"macOS\",\"windows\"] } ```",
"type":"object",
"required":[
"identifier",
"permissions"
],
"properties":{
"identifier":{
"description":"Identifier of the capability.\n\n## Example\n\n`main-user-files-write`",
"type":"string"
},
"description":{
"description":"Description of what the capability is intended to allow on associated windows.\n\nIt should contain a description of what the grouped permissions should allow.\n\n## Example\n\nThis capability allows the `main` window access to `filesystem` write related commands and `dialog` commands to enable programatic access to files selected by the user.",
"default":"",
"type":"string"
},
"remote":{
"description":"Configure remote URLs that can use the capability permissions.\n\nThis setting is optional and defaults to not being set, as our default use case is that the content is served from our local application.\n\n:::caution Make sure you understand the security implications of providing remote sources with local system access. :::\n\n## Example\n\n```json { \"urls\": [\"https://*.mydomain.dev\"] } ```",
"anyOf":[
{
"$ref":"#/definitions/CapabilityRemote"
},
{
"type":"null"
}
]
},
"local":{
"description":"Whether this capability is enabled for local app URLs or not. Defaults to `true`.",
"default":true,
"type":"boolean"
},
"windows":{
"description":"List of windows that are affected by this capability. Can be a glob pattern.\n\nOn multiwebview windows, prefer [`Self::webviews`] for a fine grained access control.\n\n## Example\n\n`[\"main\"]`",
"type":"array",
"items":{
"type":"string"
}
},
"webviews":{
"description":"List of webviews that are affected by this capability. Can be a glob pattern.\n\nThis is only required when using on multiwebview contexts, by default all child webviews of a window that matches [`Self::windows`] are linked.\n\n## Example\n\n`[\"sub-webview-one\", \"sub-webview-two\"]`",
"type":"array",
"items":{
"type":"string"
}
},
"permissions":{
"description":"List of permissions attached to this capability.\n\nMust include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`. For commands directly implemented in the application itself only `${permission-name}` is required.\n\n## Example\n\n```json [ \"core:default\", \"shell:allow-open\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] } ```",
"type":"array",
"items":{
"$ref":"#/definitions/PermissionEntry"
},
"uniqueItems":true
},
"platforms":{
"description":"Limit which target platforms this capability applies to.\n\nBy default all platforms are targeted.\n\n## Example\n\n`[\"macOS\",\"windows\"]`",
"type":[
"array",
"null"
],
"items":{
"$ref":"#/definitions/Target"
}
}
}
},
"CapabilityRemote":{
"description":"Configuration for remote URLs that are associated with the capability.",
"type":"object",
"required":[
"urls"
],
"properties":{
"urls":{
"description":"Remote domains this capability refers to using the [URLPattern standard](https://urlpattern.spec.whatwg.org/).\n\n## Examples\n\n- \"https://*.mydomain.dev\": allows subdomains of mydomain.dev - \"https://mydomain.dev/api/*\": allows any subpath of mydomain.dev/api",
"type":"array",
"items":{
"type":"string"
}
}
}
},
"PermissionEntry":{
"description":"An entry for a permission value in a [`Capability`] can be either a raw permission [`Identifier`] or an object that references a permission and extends its scope.",
"anyOf":[
{
"description":"Reference a permission or permission set by identifier.",
"allOf":[
{
"$ref":"#/definitions/Identifier"
}
]
},
{
"description":"Reference a permission or permission set by identifier and extends its scope.",
"description":"This set of permissions describes the what kind of\nfile system access the `fs` plugin has enabled or denied by default.\n\n#### Granted Permissions\n\nThis default permission set enables read access to the\napplication specific directories (AppConfig, AppData, AppLocalData, AppCache,\nAppLog) and all files and sub directories created in it.\nThe location of these directories depends on the operating system,\nwhere the application is run.\n\nIn general these directories need to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\nTherefore, it is also allowed to create all of these folders via\nthe `mkdir` command.\n\n#### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n",
"type":"string",
"const":"fs:default"
},
{
"description":"This allows non-recursive read access to metadata of the application folders, including file listing and statistics.",
"type":"string",
"const":"fs:allow-app-meta"
},
{
"description":"This allows full recursive read access to metadata of the application folders, including file listing and statistics.",
"type":"string",
"const":"fs:allow-app-meta-recursive"
},
{
"description":"This allows non-recursive read access to the application folders.",
"type":"string",
"const":"fs:allow-app-read"
},
{
"description":"This allows full recursive read access to the complete application folders, files and subdirectories.",
"type":"string",
"const":"fs:allow-app-read-recursive"
},
{
"description":"This allows non-recursive write access to the application folders.",
"type":"string",
"const":"fs:allow-app-write"
},
{
"description":"This allows full recursive write access to the complete application folders, files and subdirectories.",
"type":"string",
"const":"fs:allow-app-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-appcache-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-appcache-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$APPCACHE` folder.",
"type":"string",
"const":"fs:allow-appcache-read"
},
{
"description":"This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-appcache-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$APPCACHE` folder.",
"type":"string",
"const":"fs:allow-appcache-write"
},
{
"description":"This allows full recursive write access to the complete `$APPCACHE` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-appcache-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-appconfig-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-appconfig-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$APPCONFIG` folder.",
"type":"string",
"const":"fs:allow-appconfig-read"
},
{
"description":"This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-appconfig-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$APPCONFIG` folder.",
"type":"string",
"const":"fs:allow-appconfig-write"
},
{
"description":"This allows full recursive write access to the complete `$APPCONFIG` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-appconfig-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-appdata-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-appdata-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$APPDATA` folder.",
"type":"string",
"const":"fs:allow-appdata-read"
},
{
"description":"This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-appdata-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$APPDATA` folder.",
"type":"string",
"const":"fs:allow-appdata-write"
},
{
"description":"This allows full recursive write access to the complete `$APPDATA` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-appdata-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-applocaldata-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-applocaldata-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$APPLOCALDATA` folder.",
"type":"string",
"const":"fs:allow-applocaldata-read"
},
{
"description":"This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-applocaldata-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$APPLOCALDATA` folder.",
"type":"string",
"const":"fs:allow-applocaldata-write"
},
{
"description":"This allows full recursive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-applocaldata-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-applog-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-applog-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$APPLOG` folder.",
"type":"string",
"const":"fs:allow-applog-read"
},
{
"description":"This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-applog-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$APPLOG` folder.",
"type":"string",
"const":"fs:allow-applog-write"
},
{
"description":"This allows full recursive write access to the complete `$APPLOG` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-applog-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-audio-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-audio-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$AUDIO` folder.",
"type":"string",
"const":"fs:allow-audio-read"
},
{
"description":"This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-audio-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$AUDIO` folder.",
"type":"string",
"const":"fs:allow-audio-write"
},
{
"description":"This allows full recursive write access to the complete `$AUDIO` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-audio-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-cache-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-cache-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$CACHE` folder.",
"type":"string",
"const":"fs:allow-cache-read"
},
{
"description":"This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-cache-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$CACHE` folder.",
"type":"string",
"const":"fs:allow-cache-write"
},
{
"description":"This allows full recursive write access to the complete `$CACHE` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-cache-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-config-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-config-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$CONFIG` folder.",
"type":"string",
"const":"fs:allow-config-read"
},
{
"description":"This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-config-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$CONFIG` folder.",
"type":"string",
"const":"fs:allow-config-write"
},
{
"description":"This allows full recursive write access to the complete `$CONFIG` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-config-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$DATA` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-data-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$DATA` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-data-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$DATA` folder.",
"type":"string",
"const":"fs:allow-data-read"
},
{
"description":"This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-data-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$DATA` folder.",
"type":"string",
"const":"fs:allow-data-write"
},
{
"description":"This allows full recursive write access to the complete `$DATA` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-data-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-desktop-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-desktop-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$DESKTOP` folder.",
"type":"string",
"const":"fs:allow-desktop-read"
},
{
"description":"This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-desktop-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$DESKTOP` folder.",
"type":"string",
"const":"fs:allow-desktop-write"
},
{
"description":"This allows full recursive write access to the complete `$DESKTOP` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-desktop-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-document-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-document-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$DOCUMENT` folder.",
"type":"string",
"const":"fs:allow-document-read"
},
{
"description":"This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-document-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$DOCUMENT` folder.",
"type":"string",
"const":"fs:allow-document-write"
},
{
"description":"This allows full recursive write access to the complete `$DOCUMENT` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-document-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-download-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-download-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$DOWNLOAD` folder.",
"type":"string",
"const":"fs:allow-download-read"
},
{
"description":"This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-download-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$DOWNLOAD` folder.",
"type":"string",
"const":"fs:allow-download-write"
},
{
"description":"This allows full recursive write access to the complete `$DOWNLOAD` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-download-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$EXE` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-exe-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$EXE` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-exe-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$EXE` folder.",
"type":"string",
"const":"fs:allow-exe-read"
},
{
"description":"This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-exe-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$EXE` folder.",
"type":"string",
"const":"fs:allow-exe-write"
},
{
"description":"This allows full recursive write access to the complete `$EXE` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-exe-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$FONT` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-font-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$FONT` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-font-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$FONT` folder.",
"type":"string",
"const":"fs:allow-font-read"
},
{
"description":"This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-font-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$FONT` folder.",
"type":"string",
"const":"fs:allow-font-write"
},
{
"description":"This allows full recursive write access to the complete `$FONT` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-font-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$HOME` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-home-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$HOME` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-home-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$HOME` folder.",
"type":"string",
"const":"fs:allow-home-read"
},
{
"description":"This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-home-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$HOME` folder.",
"type":"string",
"const":"fs:allow-home-write"
},
{
"description":"This allows full recursive write access to the complete `$HOME` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-home-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-localdata-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-localdata-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$LOCALDATA` folder.",
"type":"string",
"const":"fs:allow-localdata-read"
},
{
"description":"This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-localdata-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$LOCALDATA` folder.",
"type":"string",
"const":"fs:allow-localdata-write"
},
{
"description":"This allows full recursive write access to the complete `$LOCALDATA` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-localdata-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$LOG` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-log-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$LOG` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-log-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$LOG` folder.",
"type":"string",
"const":"fs:allow-log-read"
},
{
"description":"This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-log-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$LOG` folder.",
"type":"string",
"const":"fs:allow-log-write"
},
{
"description":"This allows full recursive write access to the complete `$LOG` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-log-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-picture-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-picture-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$PICTURE` folder.",
"type":"string",
"const":"fs:allow-picture-read"
},
{
"description":"This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-picture-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$PICTURE` folder.",
"type":"string",
"const":"fs:allow-picture-write"
},
{
"description":"This allows full recursive write access to the complete `$PICTURE` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-picture-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-public-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-public-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$PUBLIC` folder.",
"type":"string",
"const":"fs:allow-public-read"
},
{
"description":"This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-public-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$PUBLIC` folder.",
"type":"string",
"const":"fs:allow-public-write"
},
{
"description":"This allows full recursive write access to the complete `$PUBLIC` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-public-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-resource-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-resource-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$RESOURCE` folder.",
"type":"string",
"const":"fs:allow-resource-read"
},
{
"description":"This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-resource-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$RESOURCE` folder.",
"type":"string",
"const":"fs:allow-resource-write"
},
{
"description":"This allows full recursive write access to the complete `$RESOURCE` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-resource-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-runtime-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-runtime-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$RUNTIME` folder.",
"type":"string",
"const":"fs:allow-runtime-read"
},
{
"description":"This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-runtime-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$RUNTIME` folder.",
"type":"string",
"const":"fs:allow-runtime-write"
},
{
"description":"This allows full recursive write access to the complete `$RUNTIME` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-runtime-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-temp-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-temp-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$TEMP` folder.",
"type":"string",
"const":"fs:allow-temp-read"
},
{
"description":"This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-temp-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$TEMP` folder.",
"type":"string",
"const":"fs:allow-temp-write"
},
{
"description":"This allows full recursive write access to the complete `$TEMP` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-temp-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-template-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-template-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$TEMPLATE` folder.",
"type":"string",
"const":"fs:allow-template-read"
},
{
"description":"This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-template-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$TEMPLATE` folder.",
"type":"string",
"const":"fs:allow-template-write"
},
{
"description":"This allows full recursive write access to the complete `$TEMPLATE` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-template-write-recursive"
},
{
"description":"This allows non-recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-video-meta"
},
{
"description":"This allows full recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.",
"type":"string",
"const":"fs:allow-video-meta-recursive"
},
{
"description":"This allows non-recursive read access to the `$VIDEO` folder.",
"type":"string",
"const":"fs:allow-video-read"
},
{
"description":"This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-video-read-recursive"
},
{
"description":"This allows non-recursive write access to the `$VIDEO` folder.",
"type":"string",
"const":"fs:allow-video-write"
},
{
"description":"This allows full recursive write access to the complete `$VIDEO` folder, files and subdirectories.",
"type":"string",
"const":"fs:allow-video-write-recursive"
},
{
"description":"This denies access to dangerous Tauri relevant files and folders by default.",
"type":"string",
"const":"fs:deny-default"
},
{
"description":"Enables the copy_file command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-copy-file"
},
{
"description":"Enables the create command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-create"
},
{
"description":"Enables the exists command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-exists"
},
{
"description":"Enables the fstat command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-fstat"
},
{
"description":"Enables the ftruncate command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-ftruncate"
},
{
"description":"Enables the lstat command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-lstat"
},
{
"description":"Enables the mkdir command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-mkdir"
},
{
"description":"Enables the open command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-open"
},
{
"description":"Enables the read command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-read"
},
{
"description":"Enables the read_dir command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-read-dir"
},
{
"description":"Enables the read_file command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-read-file"
},
{
"description":"Enables the read_text_file command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-read-text-file"
},
{
"description":"Enables the read_text_file_lines command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-read-text-file-lines"
},
{
"description":"Enables the read_text_file_lines_next command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-read-text-file-lines-next"
},
{
"description":"Enables the remove command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-remove"
},
{
"description":"Enables the rename command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-rename"
},
{
"description":"Enables the seek command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-seek"
},
{
"description":"Enables the stat command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-stat"
},
{
"description":"Enables the truncate command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-truncate"
},
{
"description":"Enables the unwatch command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-unwatch"
},
{
"description":"Enables the watch command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-watch"
},
{
"description":"Enables the write command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-write"
},
{
"description":"Enables the write_file command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-write-file"
},
{
"description":"Enables the write_text_file command without any pre-configured scope.",
"type":"string",
"const":"fs:allow-write-text-file"
},
{
"description":"This permissions allows to create the application specific directories.\n",
"type":"string",
"const":"fs:create-app-specific-dirs"
},
{
"description":"Denies the copy_file command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-copy-file"
},
{
"description":"Denies the create command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-create"
},
{
"description":"Denies the exists command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-exists"
},
{
"description":"Denies the fstat command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-fstat"
},
{
"description":"Denies the ftruncate command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-ftruncate"
},
{
"description":"Denies the lstat command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-lstat"
},
{
"description":"Denies the mkdir command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-mkdir"
},
{
"description":"Denies the open command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-open"
},
{
"description":"Denies the read command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-read"
},
{
"description":"Denies the read_dir command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-read-dir"
},
{
"description":"Denies the read_file command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-read-file"
},
{
"description":"Denies the read_text_file command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-read-text-file"
},
{
"description":"Denies the read_text_file_lines command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-read-text-file-lines"
},
{
"description":"Denies the read_text_file_lines_next command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-read-text-file-lines-next"
},
{
"description":"Denies the remove command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-remove"
},
{
"description":"Denies the rename command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-rename"
},
{
"description":"Denies the seek command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-seek"
},
{
"description":"Denies the stat command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-stat"
},
{
"description":"Denies the truncate command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-truncate"
},
{
"description":"Denies the unwatch command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-unwatch"
},
{
"description":"Denies the watch command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-watch"
},
{
"description":"This denies read access to the\n`$APPLOCALDATA` folder on linux as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.",
"type":"string",
"const":"fs:deny-webview-data-linux"
},
{
"description":"This denies read access to the\n`$APPLOCALDATA/EBWebView` folder on windows as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.",
"type":"string",
"const":"fs:deny-webview-data-windows"
},
{
"description":"Denies the write command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-write"
},
{
"description":"Denies the write_file command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-write-file"
},
{
"description":"Denies the write_text_file command without any pre-configured scope.",
"type":"string",
"const":"fs:deny-write-text-file"
},
{
"description":"This enables all read related commands without any pre-configured accessible paths.",
"type":"string",
"const":"fs:read-all"
},
{
"description":"This permission allows recursive read functionality on the application\nspecific base directories. \n",
"type":"string",
"const":"fs:read-app-specific-dirs-recursive"
},
{
"description":"This enables directory read and file metadata related commands without any pre-configured accessible paths.",
"type":"string",
"const":"fs:read-dirs"
},
{
"description":"This enables file read related commands without any pre-configured accessible paths.",
"type":"string",
"const":"fs:read-files"
},
{
"description":"This enables all index or metadata related commands without any pre-configured accessible paths.",
"type":"string",
"const":"fs:read-meta"
},
{
"description":"An empty permission you can use to modify the global scope.",
"type":"string",
"const":"fs:scope"
},
{
"description":"This scope permits access to all files and list content of top level directories in the application folders.",
"type":"string",
"const":"fs:scope-app"
},
{
"description":"This scope permits to list all files and folders in the application directories.",
"type":"string",
"const":"fs:scope-app-index"
},
{
"description":"This scope permits recursive access to the complete application folders, including sub directories and files.",
"type":"string",
"const":"fs:scope-app-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$APPCACHE` folder.",
"type":"string",
"const":"fs:scope-appcache"
},
{
"description":"This scope permits to list all files and folders in the `$APPCACHE`folder.",
"type":"string",
"const":"fs:scope-appcache-index"
},
{
"description":"This scope permits recursive access to the complete `$APPCACHE` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-appcache-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$APPCONFIG` folder.",
"type":"string",
"const":"fs:scope-appconfig"
},
{
"description":"This scope permits to list all files and folders in the `$APPCONFIG`folder.",
"type":"string",
"const":"fs:scope-appconfig-index"
},
{
"description":"This scope permits recursive access to the complete `$APPCONFIG` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-appconfig-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$APPDATA` folder.",
"type":"string",
"const":"fs:scope-appdata"
},
{
"description":"This scope permits to list all files and folders in the `$APPDATA`folder.",
"type":"string",
"const":"fs:scope-appdata-index"
},
{
"description":"This scope permits recursive access to the complete `$APPDATA` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-appdata-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA` folder.",
"type":"string",
"const":"fs:scope-applocaldata"
},
{
"description":"This scope permits to list all files and folders in the `$APPLOCALDATA`folder.",
"type":"string",
"const":"fs:scope-applocaldata-index"
},
{
"description":"This scope permits recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-applocaldata-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$APPLOG` folder.",
"type":"string",
"const":"fs:scope-applog"
},
{
"description":"This scope permits to list all files and folders in the `$APPLOG`folder.",
"type":"string",
"const":"fs:scope-applog-index"
},
{
"description":"This scope permits recursive access to the complete `$APPLOG` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-applog-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$AUDIO` folder.",
"type":"string",
"const":"fs:scope-audio"
},
{
"description":"This scope permits to list all files and folders in the `$AUDIO`folder.",
"type":"string",
"const":"fs:scope-audio-index"
},
{
"description":"This scope permits recursive access to the complete `$AUDIO` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-audio-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$CACHE` folder.",
"type":"string",
"const":"fs:scope-cache"
},
{
"description":"This scope permits to list all files and folders in the `$CACHE`folder.",
"type":"string",
"const":"fs:scope-cache-index"
},
{
"description":"This scope permits recursive access to the complete `$CACHE` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-cache-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$CONFIG` folder.",
"type":"string",
"const":"fs:scope-config"
},
{
"description":"This scope permits to list all files and folders in the `$CONFIG`folder.",
"type":"string",
"const":"fs:scope-config-index"
},
{
"description":"This scope permits recursive access to the complete `$CONFIG` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-config-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$DATA` folder.",
"type":"string",
"const":"fs:scope-data"
},
{
"description":"This scope permits to list all files and folders in the `$DATA`folder.",
"type":"string",
"const":"fs:scope-data-index"
},
{
"description":"This scope permits recursive access to the complete `$DATA` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-data-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$DESKTOP` folder.",
"type":"string",
"const":"fs:scope-desktop"
},
{
"description":"This scope permits to list all files and folders in the `$DESKTOP`folder.",
"type":"string",
"const":"fs:scope-desktop-index"
},
{
"description":"This scope permits recursive access to the complete `$DESKTOP` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-desktop-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$DOCUMENT` folder.",
"type":"string",
"const":"fs:scope-document"
},
{
"description":"This scope permits to list all files and folders in the `$DOCUMENT`folder.",
"type":"string",
"const":"fs:scope-document-index"
},
{
"description":"This scope permits recursive access to the complete `$DOCUMENT` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-document-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$DOWNLOAD` folder.",
"type":"string",
"const":"fs:scope-download"
},
{
"description":"This scope permits to list all files and folders in the `$DOWNLOAD`folder.",
"type":"string",
"const":"fs:scope-download-index"
},
{
"description":"This scope permits recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-download-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$EXE` folder.",
"type":"string",
"const":"fs:scope-exe"
},
{
"description":"This scope permits to list all files and folders in the `$EXE`folder.",
"type":"string",
"const":"fs:scope-exe-index"
},
{
"description":"This scope permits recursive access to the complete `$EXE` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-exe-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$FONT` folder.",
"type":"string",
"const":"fs:scope-font"
},
{
"description":"This scope permits to list all files and folders in the `$FONT`folder.",
"type":"string",
"const":"fs:scope-font-index"
},
{
"description":"This scope permits recursive access to the complete `$FONT` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-font-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$HOME` folder.",
"type":"string",
"const":"fs:scope-home"
},
{
"description":"This scope permits to list all files and folders in the `$HOME`folder.",
"type":"string",
"const":"fs:scope-home-index"
},
{
"description":"This scope permits recursive access to the complete `$HOME` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-home-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$LOCALDATA` folder.",
"type":"string",
"const":"fs:scope-localdata"
},
{
"description":"This scope permits to list all files and folders in the `$LOCALDATA`folder.",
"type":"string",
"const":"fs:scope-localdata-index"
},
{
"description":"This scope permits recursive access to the complete `$LOCALDATA` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-localdata-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$LOG` folder.",
"type":"string",
"const":"fs:scope-log"
},
{
"description":"This scope permits to list all files and folders in the `$LOG`folder.",
"type":"string",
"const":"fs:scope-log-index"
},
{
"description":"This scope permits recursive access to the complete `$LOG` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-log-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$PICTURE` folder.",
"type":"string",
"const":"fs:scope-picture"
},
{
"description":"This scope permits to list all files and folders in the `$PICTURE`folder.",
"type":"string",
"const":"fs:scope-picture-index"
},
{
"description":"This scope permits recursive access to the complete `$PICTURE` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-picture-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$PUBLIC` folder.",
"type":"string",
"const":"fs:scope-public"
},
{
"description":"This scope permits to list all files and folders in the `$PUBLIC`folder.",
"type":"string",
"const":"fs:scope-public-index"
},
{
"description":"This scope permits recursive access to the complete `$PUBLIC` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-public-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$RESOURCE` folder.",
"type":"string",
"const":"fs:scope-resource"
},
{
"description":"This scope permits to list all files and folders in the `$RESOURCE`folder.",
"type":"string",
"const":"fs:scope-resource-index"
},
{
"description":"This scope permits recursive access to the complete `$RESOURCE` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-resource-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$RUNTIME` folder.",
"type":"string",
"const":"fs:scope-runtime"
},
{
"description":"This scope permits to list all files and folders in the `$RUNTIME`folder.",
"type":"string",
"const":"fs:scope-runtime-index"
},
{
"description":"This scope permits recursive access to the complete `$RUNTIME` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-runtime-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$TEMP` folder.",
"type":"string",
"const":"fs:scope-temp"
},
{
"description":"This scope permits to list all files and folders in the `$TEMP`folder.",
"type":"string",
"const":"fs:scope-temp-index"
},
{
"description":"This scope permits recursive access to the complete `$TEMP` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-temp-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$TEMPLATE` folder.",
"type":"string",
"const":"fs:scope-template"
},
{
"description":"This scope permits to list all files and folders in the `$TEMPLATE`folder.",
"type":"string",
"const":"fs:scope-template-index"
},
{
"description":"This scope permits recursive access to the complete `$TEMPLATE` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-template-recursive"
},
{
"description":"This scope permits access to all files and list content of top level directories in the `$VIDEO` folder.",
"type":"string",
"const":"fs:scope-video"
},
{
"description":"This scope permits to list all files and folders in the `$VIDEO`folder.",
"type":"string",
"const":"fs:scope-video-index"
},
{
"description":"This scope permits recursive access to the complete `$VIDEO` folder, including sub directories and files.",
"type":"string",
"const":"fs:scope-video-recursive"
},
{
"description":"This enables all write related commands without any pre-configured accessible paths.",
"type":"string",
"const":"fs:write-all"
},
{
"description":"This enables all file write related commands without any pre-configured accessible paths.",
"description":"This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n",
"description":"A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"",
"type":"string"
},
{
"type":"object",
"required":[
"url"
],
"properties":{
"url":{
"description":"A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"",
"description":"A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"",
"type":"string"
},
{
"type":"object",
"required":[
"url"
],
"properties":{
"url":{
"description":"A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"",
"description":"This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality without any specific\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n",
"description":"The allowed arguments for the command execution.",
"allOf":[
{
"$ref":"#/definitions/ShellScopeEntryAllowedArgs"
}
]
},
"cmd":{
"description":"The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.",
"type":"string"
},
"name":{
"description":"The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.",
"type":"string"
}
},
"additionalProperties":false
},
{
"type":"object",
"required":[
"name",
"sidecar"
],
"properties":{
"args":{
"description":"The allowed arguments for the command execution.",
"allOf":[
{
"$ref":"#/definitions/ShellScopeEntryAllowedArgs"
}
]
},
"name":{
"description":"The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.",
"type":"string"
},
"sidecar":{
"description":"If this command is a sidecar command.",
"type":"boolean"
}
},
"additionalProperties":false
}
]
}
},
"deny":{
"items":{
"title":"ShellScopeEntry",
"description":"Shell scope entry.",
"anyOf":[
{
"type":"object",
"required":[
"cmd",
"name"
],
"properties":{
"args":{
"description":"The allowed arguments for the command execution.",
"allOf":[
{
"$ref":"#/definitions/ShellScopeEntryAllowedArgs"
}
]
},
"cmd":{
"description":"The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.",
"type":"string"
},
"name":{
"description":"The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.",
"type":"string"
}
},
"additionalProperties":false
},
{
"type":"object",
"required":[
"name",
"sidecar"
],
"properties":{
"args":{
"description":"The allowed arguments for the command execution.",
"allOf":[
{
"$ref":"#/definitions/ShellScopeEntryAllowedArgs"
}
]
},
"name":{
"description":"The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.",
"type":"string"
},
"sidecar":{
"description":"If this command is a sidecar command.",
"type":"boolean"
}
},
"additionalProperties":false
}
]
}
}
}
},
"properties":{
"identifier":{
"description":"Identifier of the permission or permission set.",
"description":"This permission set configures if your\napplication can enable or disable auto\nstarting the application on boot.\n\n#### Granted Permissions\n\nIt allows all to check, enable and\ndisable the automatic start on boot.\n\n",
"description":"No features are enabled by default, as we believe\nthe clipboard can be inherently dangerous and it is \napplication specific if read and/or write access is needed.\n\nClipboard interaction needs to be explicitly enabled.\n",
"description":"This permission set configures the types of dialogs\navailable from the dialog plugin.\n\n#### Granted Permissions\n\nAll dialog types are enabled.\n\n\n",
"description":"This set of permissions describes the what kind of\nfile system access the `fs` plugin has enabled or denied by default.\n\n#### Granted Permissions\n\nThis default permission set enables read access to the\napplication specific directories (AppConfig, AppData, AppLocalData, AppCache,\nAppLog) and all files and sub directories created in it.\nThe location of these directories depends on the operating system,\nwhere the application is run.\n\nIn general these directories need to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\nTherefore, it is also allowed to create all of these folders via\nthe `mkdir` command.\n\n#### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n",
"description":"This denies read access to the\n`$APPLOCALDATA` folder on linux as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.",
"description":"This denies read access to the\n`$APPLOCALDATA/EBWebView` folder on windows as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.",
"description":"No features are enabled by default, as we believe\nthe shortcuts can be inherently dangerous and it is\napplication specific if specific shortcuts should be\nregistered or unregistered.\n",
"description":"This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n",
"description":"This permission set configures which\noperating system information are available\nto gather from the frontend.\n\n#### Granted Permissions\n\nAll information except the host name are available.\n\n",
"description":"This permission set configures which\nprocess feeatures are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n",
"description":"This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality without any specific\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n",
"description":"This permission set configures what kind of\noperations are available from the upload plugin.\n\n#### Granted Permissions\n\nAll operations are enabled by default.\n\n",
"description":"A command argument allowed to be executed by the webview API.",
"anyOf":[
{
"description":"A non-configurable argument that is passed to the command in the order it was specified.",
"type":"string"
},
{
"description":"A variable that is set while calling the command from the webview API.",
"type":"object",
"required":[
"validator"
],
"properties":{
"raw":{
"description":"Marks the validator as a raw regex, meaning the plugin should not make any modification at runtime.\n\nThis means the regex will not match on the entire string by default, which might be exploited if your regex allow unexpected input to be considered valid. When using this option, make sure your regex is correct.",
"default":false,
"type":"boolean"
},
"validator":{
"description":"[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\nThe regex string is by default surrounded by `^...$` to match the full string. For example the `https?://\\w+` regex would be registered as `^https?://\\w+$`.\n\n[regex]: <https://docs.rs/regex/latest/regex/#syntax>",
"description":"A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellScopeEntryAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration.",