From 9df269f7ffa00c0b6b6e88e5601d36b961712a39 Mon Sep 17 00:00:00 2001 From: Yuki Fujisaki Date: Tue, 13 Oct 2026 17:43:02 +0900 Subject: [PATCH 1/3] docs: disclose the services the skills' build and signing tools contact The plugin README said the plugin contacts no service but DeployGate, which is true of the MCP server but not of every skill. With the user's approval, the setup skill runs fastlane register_devices and sigh, which send device UDIDs, device names, and the Apple ID to the Apple Developer Portal; builds contact Apple for signing; and ci-setup can set up fastlane match storage. Scope the existing statement to the MCP server and list what the skills' tools send, so the directory submission can answer that skills send data to services listed in the README. Co-Authored-By: Claude Opus 5.5 --- plugin/README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/plugin/README.md b/plugin/README.md index 6222d73..31071c4 100644 --- a/plugin/README.md +++ b/plugin/README.md @@ -34,7 +34,13 @@ The plugin runs a local MCP server, so its tools work in Claude Code and Cowork **Runs locally.** The MCP server is `scripts/bundle.js`, started with `node`. It talks to Claude over stdio and opens no network ports. -**Sends data only to DeployGate.** Every request goes to `https://deploygate.com` over HTTPS: the app binaries and Android signing keystores you choose to upload, distribution page settings, member invitations, and requests for account, app, and device information. The plugin contacts no other service and sends no telemetry. +**The MCP server sends data only to DeployGate.** Every request goes to `https://deploygate.com` over HTTPS: the app binaries and Android signing keystores you choose to upload, distribution page settings, member invitations, and requests for account, app, and device information. The server contacts no other service and sends no telemetry. + +**Skills can run your own build and signing tools.** Claude Code asks before it runs these commands, unless your own permission settings already allow them. The tools use your own accounts and configuration, and the plugin doesn't read their credentials. + +- Gradle, `xcodebuild`, and fastlane (`gym`) build your app. They download dependencies, and for iOS they contact Apple to sign the build. +- For iOS Ad Hoc builds, the `setup` skill can run `fastlane register_devices` and `fastlane sigh` to register testers' devices with the Apple Developer Portal and refresh the provisioning profile. This sends the device UDIDs, the device names (which include tester names), and your Apple ID and team ID to Apple. +- For iOS CI, the `ci-setup` skill can set up `fastlane match`, which stores your signing certificates and provisioning profiles in the storage you choose: a Git repository, Google Cloud Storage, or S3. **Stores one credential.** You sign in with a browser-based device authorization flow (`login_start`, then `login_wait`). DeployGate issues a token for this plugin, and the plugin saves it to `$XDG_CONFIG_HOME/deploygate/token`, which is `~/.config/deploygate/token` when `XDG_CONFIG_HOME` isn't set, or to `%APPDATA%\deploygate\token` on Windows. On macOS and Linux, the file has `0600` permissions, so only your user can read it. On Windows, it keeps the default access control of your `%APPDATA%` folder. The token is sent only to `https://deploygate.com`. The `logout` tool revokes it on the server and deletes the file. From ed2cbd6262e01ff5e334430cc0bdd52da735edb6 Mon Sep 17 00:00:00 2001 From: Yuki Fujisaki Date: Tue, 13 Oct 2026 17:47:11 +0900 Subject: [PATCH 2/3] docs: describe when build tools contact Apple and what match stores Signing uses the certificates and profiles already on the machine, and the setup skill's xcodebuild steps don't pass -allowProvisioningUpdates, so building doesn't inherently contact Apple. Say that the tools reach the network only for missing dependencies or provisioning profiles. Also say that fastlane match creates certificates and profiles through the Apple Developer Portal and stores the certificates' private keys too. Co-Authored-By: Claude Opus 5.5 --- plugin/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugin/README.md b/plugin/README.md index 31071c4..d479a7e 100644 --- a/plugin/README.md +++ b/plugin/README.md @@ -38,9 +38,9 @@ The plugin runs a local MCP server, so its tools work in Claude Code and Cowork **Skills can run your own build and signing tools.** Claude Code asks before it runs these commands, unless your own permission settings already allow them. The tools use your own accounts and configuration, and the plugin doesn't read their credentials. -- Gradle, `xcodebuild`, and fastlane (`gym`) build your app. They download dependencies, and for iOS they contact Apple to sign the build. +- Gradle, `xcodebuild`, and fastlane (`gym`) build your app. Signing uses the certificates and provisioning profiles already on your machine. The tools reach the network only when they need something they don't have, such as Gradle downloading dependencies, or Xcode or fastlane fetching provisioning profiles from Apple if your project is set up to. - For iOS Ad Hoc builds, the `setup` skill can run `fastlane register_devices` and `fastlane sigh` to register testers' devices with the Apple Developer Portal and refresh the provisioning profile. This sends the device UDIDs, the device names (which include tester names), and your Apple ID and team ID to Apple. -- For iOS CI, the `ci-setup` skill can set up `fastlane match`, which stores your signing certificates and provisioning profiles in the storage you choose: a Git repository, Google Cloud Storage, or S3. +- For iOS CI, the `ci-setup` skill can set up `fastlane match`. It creates signing certificates and provisioning profiles through the Apple Developer Portal when they don't exist yet, and stores them, including the certificates' private keys, in the storage you choose: a Git repository, Google Cloud Storage, or S3. **Stores one credential.** You sign in with a browser-based device authorization flow (`login_start`, then `login_wait`). DeployGate issues a token for this plugin, and the plugin saves it to `$XDG_CONFIG_HOME/deploygate/token`, which is `~/.config/deploygate/token` when `XDG_CONFIG_HOME` isn't set, or to `%APPDATA%\deploygate\token` on Windows. On macOS and Linux, the file has `0600` permissions, so only your user can read it. On Windows, it keeps the default access control of your `%APPDATA%` folder. The token is sent only to `https://deploygate.com`. The `logout` tool revokes it on the server and deletes the file. From 587ff6a2b1dde50ce2154c3083853eb79ed4582f Mon Sep 17 00:00:00 2001 From: Yuki Fujisaki Date: Tue, 13 Oct 2026 18:00:13 +0900 Subject: [PATCH 3/3] docs: include Development builds in the UDID registration disclosure The setup skill registers tester devices for both Ad Hoc and Development builds (fastlane sigh --adhoc or --development), and both send the same device and account data to Apple. The README named only Ad Hoc builds. Co-Authored-By: Claude Opus 5.5 --- plugin/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/README.md b/plugin/README.md index d479a7e..8e00e23 100644 --- a/plugin/README.md +++ b/plugin/README.md @@ -39,7 +39,7 @@ The plugin runs a local MCP server, so its tools work in Claude Code and Cowork **Skills can run your own build and signing tools.** Claude Code asks before it runs these commands, unless your own permission settings already allow them. The tools use your own accounts and configuration, and the plugin doesn't read their credentials. - Gradle, `xcodebuild`, and fastlane (`gym`) build your app. Signing uses the certificates and provisioning profiles already on your machine. The tools reach the network only when they need something they don't have, such as Gradle downloading dependencies, or Xcode or fastlane fetching provisioning profiles from Apple if your project is set up to. -- For iOS Ad Hoc builds, the `setup` skill can run `fastlane register_devices` and `fastlane sigh` to register testers' devices with the Apple Developer Portal and refresh the provisioning profile. This sends the device UDIDs, the device names (which include tester names), and your Apple ID and team ID to Apple. +- For iOS Ad Hoc and Development builds, the `setup` skill can run `fastlane register_devices` and `fastlane sigh` to register testers' devices with the Apple Developer Portal and refresh the provisioning profile. This sends the device UDIDs, the device names (which include tester names), and your Apple ID and team ID to Apple. - For iOS CI, the `ci-setup` skill can set up `fastlane match`. It creates signing certificates and provisioning profiles through the Apple Developer Portal when they don't exist yet, and stores them, including the certificates' private keys, in the storage you choose: a Git repository, Google Cloud Storage, or S3. **Stores one credential.** You sign in with a browser-based device authorization flow (`login_start`, then `login_wait`). DeployGate issues a token for this plugin, and the plugin saves it to `$XDG_CONFIG_HOME/deploygate/token`, which is `~/.config/deploygate/token` when `XDG_CONFIG_HOME` isn't set, or to `%APPDATA%\deploygate\token` on Windows. On macOS and Linux, the file has `0600` permissions, so only your user can read it. On Windows, it keeps the default access control of your `%APPDATA%` folder. The token is sent only to `https://deploygate.com`. The `logout` tool revokes it on the server and deletes the file.