Permisos
Los permisos son descripciones de los privilegios explícitos de los comandos.
[[permission]]identifier = "my-identifier"description = "This describes the impact and more."commands.allow = [ "read_file"]
[[permission.scope.allow]]my-scope = "$HOME/*"
[[permission.scope.deny]]my-scope = "$HOME/secret"Puede habilitar que los comandos estén accesibles en el frontend de una aplicación Tauri. Puede mapear alcances (scopes) a comandos y define qué comandos están habilitados. Los permisos pueden habilitar o denegar ciertos comandos, definir alcances o combinar ambos.
Para otorgar o denegar un permiso a la ventana o webview de tu aplicación, debes hacer referencia al permiso en una capacidad.
Los permisos pueden agruparse como un conjunto bajo un nuevo identificador. Esto se llama un conjunto de permisos (permission set). Esto te permite combinar permisos relacionados con el alcance con permisos relacionados con comandos. También permite agrupar o empaquetar permisos específicos del sistema operativo en conjuntos más utilizables.
Como desarrollador de plugins, puedes enviar múltiples permisos predefinidos y bien nombrados para todos tus comandos expuestos.
Como desarrollador de aplicaciones, puedes extender los permisos existentes de plugins o definirlos para tus propios comandos. Pueden agruparse o extenderse en un conjunto para reutilizarse o simplificar los archivos de configuración principales más adelante.
Identificador de permiso
Sección titulada “Identificador de permiso”El identificador de permisos se utiliza para garantizar que los permisos puedan reutilizarse y tengan nombres únicos.
<name>:defaultIndica que el permiso es el predeterminado para un plugin o aplicación<name>:<command-name>Indica que el permiso es para un comando individual
El prefijo de plugin tauri-plugin- se antepondrá automáticamente al identificador de los plugins
en el momento de la compilación y no se requiere especificarlo manualmente.
Los identificadores están limitados a caracteres alfabéticos ASCII en minúsculas [a-z] y la longitud máxima
del identificador está limitada actualmente a 116 debido a las siguientes constantes:
const IDENTIFIER_SEPARATOR: u8 = b':';const PLUGIN_PREFIX: &str = "tauri-plugin-";
// https://doc.rust-lang.org/cargo/reference/manifest.html#the-name-fieldconst MAX_LEN_PREFIX: usize = 64 - PLUGIN_PREFIX.len();const MAX_LEN_BASE: usize = 64;const MAX_LEN_IDENTIFIER: usize = MAX_LEN_PREFIX + 1 + MAX_LEN_BASE;Archivos de configuración
Sección titulada “Archivos de configuración”Ejemplo simplificado de la estructura de directorios de un plugin de Tauri de ejemplo:
tauri-plugin├── README.md├── src│ └── lib.rs├── build.rs├── Cargo.toml├── permissions│ └── <identifier>.json/toml│ └── default.json/tomlEl permiso predeterminado se maneja de forma especial, ya que se agrega automáticamente a la configuración de la aplicación, siempre que se utilice la CLI de Tauri para agregar plugins a una aplicación Tauri.
Para los desarrolladores de aplicaciones, la estructura es similar:
tauri-app├── index.html├── package.json├── src├── src-tauri│ ├── Cargo.toml│ ├── permissions│ └── <identifier>.toml| ├── capabilities│ └── <identifier>.json/.toml│ ├── src│ ├── tauri.conf.jsonEjemplos
Sección titulada “Ejemplos”Permisos de ejemplo del plugin de Sistema de archivos (File System).
[[permission]]identifier = "scope-home"description = """This scope permits access to all files andlist content of top level directories in the `$HOME`folder."""
[[permission.scope.allow]]path = "$HOME/*"[[permission]]identifier = "read-files"description = """This enables all file read relatedcommands without any pre-configured accessible paths."""commands.allow = [ "read_file", "read", "open", "read_text_file", "read_text_file_lines", "read_text_file_lines_next"][[permission]]identifier = "allow-mkdir"description = "This enables the mkdir command."commands.allow = [ "mkdir"]Ejemplo de implementación que extiende los permisos del plugin anterior en tu aplicación:
[[set]]identifier = "allow-home-read-extended"description = """ This allows non-recursive read access to files and to create directoriesin the `$HOME` folder."""permissions = [ "fs:read-files", "fs:scope-home", "fs:allow-mkdir"]© 2026 Colaboradores de Tauri. CC-BY / MIT