Skip to content

docs: disclose the services the skills' build and signing tools contact - #91

Merged
tnj merged 3 commits into
mainfrom
docs/disclose-skill-external-services
Oct 13, 2026
Merged

tnj merged 3 commits into
mainfrom
docs/disclose-skill-external-services

Conversation

@tnj

@tnj tnj commented Oct 13, 2026

Copy link
Copy Markdown
Member

Summary

The data handling step of the Claude plugin directory submission asks: "Does any skill send data to a service other than the declared connectors?" The accurate answer is Yes — listed in README. plugin/README.md said "The plugin contacts no other service", which is true of the MCP server but not of every skill. With the user's approval, the skills run the user's own build and signing tools, and some of those tools send data to Apple.

The README now:

  • Scopes "sends data only to DeployGate" to the MCP server.
  • Adds a section on the build and signing tools the skills run. It notes that the skills don't pre-approve these commands, so Claude Code asks first unless the user's permission settings already allow them. It lists what each tool contacts:
    • Gradle, xcodebuild, and fastlane gym download dependencies and, for iOS, contact Apple to sign the build.
    • The setup skill's iOS UDID flow (references/ios-udid.md) runs fastlane register_devices and fastlane sigh, which send device UDIDs, device names (which include tester names), and the user's Apple ID and team ID to the Apple Developer Portal.
    • The ci-setup skill can set up fastlane match, which stores signing certificates and profiles in the storage the user chooses: a Git repository, Google Cloud Storage, or S3.

This is a docs: change; it needs no release, because the directory reads the README from the tracked branch.

Test plan

  • npm test (484 tests pass)
  • claude plugin validate ./plugin passes
  • After merge, re-validate the submission in the portal and answer the data handling questions with: personal data "Reads only", skills sending data elsewhere "Yes — listed in README", retention "Longer", under 18 "No"

🤖 Generated with Claude Code

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 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 13, 2026 08:43

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The disclosure inaccurately characterizes Apple contact and omits private signing keys stored by fastlane match.

1 open finding
What changed in this PR

Clarifies data handling by documenting external services contacted by build and signing tools.

Changes:

  • Scopes DeployGate-only communication to the MCP server.
  • Documents skill-driven build, signing, UDID, and certificate workflows.
File Description
plugin/​README.md Adds external-service and signing-storage disclosures.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread plugin/README.md Outdated
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 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 13, 2026 08:47

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The disclosure incorrectly excludes the supported iOS Development-build device registration flow.

0 open findings

1 resolved since last review
Previously missed (1)

In code that hasn't changed since last review

Low severity Privacy disclosure omits Development builds and their data sharing

plugin/​README.md:42

This disclosure omits Development builds, even though the setup flow explicitly supports fastlane sigh --development and states that both Development and Ad Hoc profiles are device-scoped (plugin/skills/setup/SKILL.md:295-297, plugin/skills/setup/references/ios-udid.md:38-44). Users following that Development flow send the same device and account data to Apple, so the privacy documentation should cover both build types.

🧠 Review effort: Balanced

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 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 13, 2026 09:00
@tnj

tnj commented Oct 13, 2026

Copy link
Copy Markdown
Member Author

@copilot On the previously missed finding about Development builds (plugin/README.md:42): fixed in 587ff6a. The UDID registration line now covers both Ad Hoc and Development builds, matching the setup skill (fastlane sigh --adhoc or --development).

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The documentation accurately reflects the referenced skill behavior and addresses the prior feedback.

0 open findings

🧠 Review effort: Balanced

@tnj
tnj merged commit 92d2a2d into main Oct 13, 2026
5 checks passed
@tnj
tnj deleted the docs/disclose-skill-external-services branch October 13, 2026 09:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants