The configurate:default permission set
Adding "configurate:default" to your capability file grants all standard permissions at once. This is the recommended starting point for most apps.
src-tauri/capabilities/default.json
configurate:default expands to the following 16 individual permissions:
| Permission | Operation |
|---|---|
configurate:allow-create | Create a new config file |
configurate:allow-load | Read a config file from storage |
configurate:allow-save | Overwrite a config file completely |
configurate:allow-patch | Deep-merge a partial update into an existing config |
configurate:allow-delete | Delete a config file and wipe associated keyring entries |
configurate:allow-exists | Check whether a config file exists |
configurate:allow-load-all | Batch-load multiple configs in a single IPC call |
configurate:allow-save-all | Batch-save multiple configs in a single IPC call |
configurate:allow-patch-all | Batch-patch multiple configs in a single IPC call |
configurate:allow-unlock | Fetch keyring secrets inline during a load operation |
configurate:allow-watch-file | Register a filesystem watcher for external changes |
configurate:allow-unwatch-file | Remove a filesystem watcher |
configurate:allow-list-configs | List config file names in the storage directory |
configurate:allow-reset | Delete and re-create a config with new default data |
configurate:allow-export-config | Serialize config data to a JSON, YAML, or TOML string |
configurate:allow-import-config | Replace config data by parsing a JSON, YAML, or TOML string |
Individual permissions
Every command has a matchingallow-* permission that enables it and a deny-* permission that blocks it. Use individual permissions when you want to restrict access to a subset of operations.
| Identifier | Effect |
|---|---|
configurate:allow-create | Enables the create command |
configurate:deny-create | Denies the create command |
configurate:allow-load | Enables the load command |
configurate:deny-load | Denies the load command |
configurate:allow-save | Enables the save command |
configurate:deny-save | Denies the save command |
configurate:allow-patch | Enables the patch command |
configurate:deny-patch | Denies the patch command |
configurate:allow-delete | Enables the delete command |
configurate:deny-delete | Denies the delete command |
configurate:allow-exists | Enables the exists command |
configurate:deny-exists | Denies the exists command |
configurate:allow-load-all | Enables the load_all command |
configurate:deny-load-all | Denies the load_all command |
configurate:allow-save-all | Enables the save_all command |
configurate:deny-save-all | Denies the save_all command |
configurate:allow-patch-all | Enables the patch_all command |
configurate:deny-patch-all | Denies the patch_all command |
configurate:allow-unlock | Enables the unlock command |
configurate:deny-unlock | Denies the unlock command |
configurate:allow-watch-file | Enables the watch_file command |
configurate:deny-watch-file | Denies the watch_file command |
configurate:allow-unwatch-file | Enables the unwatch_file command |
configurate:deny-unwatch-file | Denies the unwatch_file command |
configurate:allow-list-configs | Enables the list_configs command |
configurate:deny-list-configs | Denies the list_configs command |
configurate:allow-reset | Enables the reset command |
configurate:deny-reset | Denies the reset command |
configurate:allow-export-config | Enables the export_config command |
configurate:deny-export-config | Denies the export_config command |
configurate:allow-import-config | Enables the import_config command |
configurate:deny-import-config | Denies the import_config command |
Adding permissions to a capability file
Open your capability file (typicallysrc-tauri/capabilities/default.json) and add permissions to the "permissions" array.
Grant everything (recommended for most apps):
src-tauri/capabilities/default.json
src-tauri/capabilities/default.json
src-tauri/capabilities/default.json
deny-* permissions take precedence over allow-* permissions. If both are listed for the same command, the command is denied.Keyring permissions
Theconfigurate:allow-unlock permission is required whenever your schema includes keyring() fields and you call .unlock(keyringOpts) or .load().unlock(keyringOpts). Without it, inline keyring decryption during a load will fail.
The delete command also interacts with the keyring: when you call config.delete(keyringOpts), the plugin wipes all keyring entries associated with the config. This requires configurate:allow-delete.