From 3c95cedd982f0d9aa719d6b10a101ff67122fa72 Mon Sep 17 00:00:00 2001 From: Ryan Luu Date: Mon, 30 Mar 2026 07:04:29 +0000 Subject: [PATCH 1/4] Add capabilities for equipping tools Signed-off-by: GitHub --- models/Purse/init.meta.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/Purse/init.meta.json b/models/Purse/init.meta.json index cd6dfd5..52e7bc8 100644 --- a/models/Purse/init.meta.json +++ b/models/Purse/init.meta.json @@ -1,8 +1,8 @@ { "properties": { "Capabilities": { - "SecurityCapabilities": 224447170816 + "SecurityCapabilities": 9007424238782720 }, - "Sandboxed": true + "Sandboxed": false } } \ No newline at end of file From 2d25030aeca26b6c356bcc57c4fe0d20ba3cb80f Mon Sep 17 00:00:00 2001 From: Ryan Luu Date: Mon, 30 Mar 2026 07:07:32 +0000 Subject: [PATCH 2/4] Document avatar permissions Signed-off-by: GitHub --- docs/capabilities.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/capabilities.md b/docs/capabilities.md index 553eba5..6348cc2 100644 --- a/docs/capabilities.md +++ b/docs/capabilities.md @@ -15,6 +15,8 @@ Purse uses the following capabilities: * **AssetRead** - Check for latest version * **AssetManagement** - Preload icon images * This capability does not allow read, create, or update operations on assets +* **AvatarAppearance** - Equip and unequip tools +* **AvatarBehavior** - Equip and unequip tools * **Basic** - Run Purse * **CreateInstances** - Create GUI instances * **Input** - Binding for equipping slots and toggling inventory From 20ceb39858d074b2b09c60d8a04c73ff45828550 Mon Sep 17 00:00:00 2001 From: Ryan Luu Date: Mon, 30 Mar 2026 07:15:44 +0000 Subject: [PATCH 3/4] Clarify docs Signed-off-by: GitHub --- docs/capabilities.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/capabilities.md b/docs/capabilities.md index 6348cc2..872c9ff 100644 --- a/docs/capabilities.md +++ b/docs/capabilities.md @@ -1,8 +1,10 @@ -[Script capabilities] is used to sandbox Purse to ensure safety and prevent malicious code. +[Script capabilities] is used to sandbox Purse and tools to ensure safety and prevent malicious code. -!!! danger +This is optional and disabled by default by can be enabled using the [`Sandboxed`][Sandboxed] property. - Malicious clones may remove script capabilities sandboxing. Double check the [`Capabilities`][Capabilities] property and that [`Sandboxed`][Sandboxed] is enabled. +!!! warning + + By enabling script capabilities, any tools will be sandboxed. Make sure you have [`Capabilities`][Capabilities] for your tools set on top of Purse or your tools will error. [Script capabilities]: https://create.roblox.com/docs/scripting/capabilities [Capabilities]: https://create.roblox.com/docs/scripting/capabilities#capabilities From da478941bc389c960c5a1047488fd1ba5af8558f Mon Sep 17 00:00:00 2001 From: Ryan Luu Date: Mon, 30 Mar 2026 07:17:28 +0000 Subject: [PATCH 4/4] Rename sandboxing Signed-off-by: GitHub --- docs/{capabilities.md => sandboxing.md} | 4 ++-- mkdocs.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) rename docs/{capabilities.md => sandboxing.md} (82%) diff --git a/docs/capabilities.md b/docs/sandboxing.md similarity index 82% rename from docs/capabilities.md rename to docs/sandboxing.md index 872c9ff..37bd8b5 100644 --- a/docs/capabilities.md +++ b/docs/sandboxing.md @@ -1,10 +1,10 @@ [Script capabilities] is used to sandbox Purse and tools to ensure safety and prevent malicious code. -This is optional and disabled by default by can be enabled using the [`Sandboxed`][Sandboxed] property. +This is optional and disabled by default but can be enabled using the [`Sandboxed`][Sandboxed] property. !!! warning - By enabling script capabilities, any tools will be sandboxed. Make sure you have [`Capabilities`][Capabilities] for your tools set on top of Purse or your tools will error. + By enabling script capabilities, all tools will be sandboxed. Make sure you have [`Capabilities`][Capabilities] for your tools set on top of Purse or they will error. [Script capabilities]: https://create.roblox.com/docs/scripting/capabilities [Capabilities]: https://create.roblox.com/docs/scripting/capabilities#capabilities diff --git a/mkdocs.yml b/mkdocs.yml index 4ea7234..595ef37 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -67,6 +67,6 @@ nav: - Installation: installation.md - Guide: guide.md - Performance: performance.md - - Capabilities: capabilities.md + - Sandboxing: sandboxing.md - Philosophy: philosophy.md - API Reference: api-reference.md \ No newline at end of file