diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index b4fea93..e857f5b 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,2 +1,2 @@ -# Update the reviewer when repository ownership is transferred. +# Braden remains a maintainer with write access in the Voiceflow organization. * @Bradenream diff --git a/CHANGELOG.md b/CHANGELOG.md index f6e82b6..e8a5e3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ changes; an entry is not proof that a GitHub release or marketplace listing exis ## 0.4.2 — Unreleased +- Update package and support links for the transfer to `voiceflow/agent-plugins`. - Attribute the MIT license and package authorship to Voiceflow, Inc. - Include the license in every standalone skill, native package, and website bundle. - Add public support, security reporting, contribution, and conduct guidance. diff --git a/README.md b/README.md index 996d3b0..fb2ef4a 100644 --- a/README.md +++ b/README.md @@ -7,9 +7,9 @@ build, customize, test, and improve Voiceflow agents. Setup chooses the connecti that works in your current app, reuses existing access, and asks you to complete browser sign-in only when needed. -**Status: beta.** Use the default branch for the development preview. -The repository remains under Bradenream while it is prepared for transfer to -Voiceflow. There is no published marketplace listing or website setup URL yet. +**Status: beta.** Maintained in the [Voiceflow organization](https://github.com/voiceflow/agent-plugins). +Use the default branch for the development preview. There is no published +marketplace listing or website setup URL yet. See [compatibility](docs/compatibility.md) for tested and experimental paths. ## Get started diff --git a/SECURITY.md b/SECURITY.md index 65e2c22..a09c00d 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -8,7 +8,7 @@ repository's URL, affected package version or commit, a synthetic reproduction, impact, and a way to contact you. Do not put exploit details in a public issue. Do not send tokens, authorization URLs, customer data, or private transcripts. -You can also [report a vulnerability privately on GitHub](https://github.com/Bradenream/agent-plugins/security/advisories/new). +You can also [report a vulnerability privately on GitHub](https://github.com/voiceflow/agent-plugins/security/advisories/new). The email route works independently of that repository setting. Follow Voiceflow's published disclosure policy. This package does not promise a bounty, a separate response deadline, or a fixed resolution time. For non-sensitive follow-up, diff --git a/SUPPORT.md b/SUPPORT.md index cc0fe07..a9e944c 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -2,7 +2,7 @@ | What you need | Where to go | | --- | --- | -| Setup, skills, installers, or a broken guide in this package | [Open a repository issue](https://github.com/Bradenream/agent-plugins/issues/new/choose) | +| Setup, skills, installers, or a broken guide in this package | [Open a repository issue](https://github.com/voiceflow/agent-plugins/issues/new/choose) | | A Voiceflow how-to or troubleshooting answer | Ask your assistant to consult the Voiceflow Knowledge MCP, or read the [docs](https://www.voiceflow.com/docs) | | Account, billing, access, or a Voiceflow product problem | [support@voiceflow.com](mailto:support@voiceflow.com), the contact listed in the [Voiceflow docs](https://www.voiceflow.com/docs/documentation/introduction) | | A possible vulnerability | Follow [SECURITY.md](SECURITY.md); report it privately | @@ -14,7 +14,7 @@ Voiceflow product support arrangements. If access to the repository is restricte use the support contact above and include its URL. Before reporting a package problem, check [compatibility](docs/compatibility.md) -and [existing issues](https://github.com/Bradenream/agent-plugins/issues). +and [existing issues](https://github.com/voiceflow/agent-plugins/issues). Include the package version, client and OS, what you expected, what happened, and the smallest synthetic reproduction. Remove credentials, authorization URLs, workspace/project IDs, transcripts, and private source from attachments. diff --git a/docs/releasing.md b/docs/releasing.md index 2e4f275..81e561b 100644 --- a/docs/releasing.md +++ b/docs/releasing.md @@ -2,10 +2,12 @@ ## Ownership and maintenance +The repository is owned by the [Voiceflow organization](https://github.com/voiceflow/agent-plugins). The package is MIT-licensed, copyright Voiceflow, Inc. Braden Ream -([@Bradenream](https://github.com/Bradenream)) currently maintains this repository; -`.github/CODEOWNERS` routes reviews to that account until transfer. The GitHub -location does not change the package's copyright holder. +([@Bradenream](https://github.com/Bradenream)) remains a maintainer with write +access; `.github/CODEOWNERS` routes reviews to that account. Changes to team +access, administrator permissions, and repository security settings belong to +the organization's administrators. This is beta software. Fixes target the newest tagged release; older releases and edited forks have no guaranteed backports. Before the first release, the @@ -68,12 +70,14 @@ Confirm the rules in GitHub after enabling them. Written policy or a CODEOWNERS file alone is not enforcement. Publication, transfer, and changing a paid plan are separate owner decisions. -GitHub Actions policy now permits GitHub-owned actions and repository-local +The required GitHub Actions policy permits GitHub-owned actions and repository-local workflows, requires full commit-SHA action pins, keeps default tokens read-only, and disallows workflow approval of pull requests. Expand the allowed publishers only after reviewing a concrete dependency. Approval for all outside-contributor workflows, native secret scanning/push protection, and private vulnerability -reporting are enabled. These settings do not create a paid subscription. +reporting must remain enabled. An organization administrator must verify settings +that are not visible to write-access maintainers after a transfer; a successful +CI run does not prove those settings. These settings do not create a paid subscription. ## Prepare a release @@ -145,10 +149,11 @@ references after repository publication, transfer, or URL changes. Keep experime only expand claims after actual host acceptance. Use the [website publishing contract](website-publishing.md) for the separate site rollout. -Transfer to Voiceflow when approved. Update repository/issue links, reviewer +After any future transfer or rename, update repository/issue links, reviewer ownership, and GitHub metadata, then verify redirects and fresh installs. Keep plugin name `voiceflow`, marketplace name `voiceflow-plugins`, and skill names -stable. Marketplace submission is independent of repository publication. +stable. Do not recreate the repository at its previous location: that removes +GitHub's redirect. Marketplace submission is independent of repository publication. Docs requests use the existing Knowledge MCP logging, as explained in [measurement](measurement.md); releases do not add a separate analytics service. diff --git a/docs/security-checks.md b/docs/security-checks.md index d937551..6dcb9a8 100644 --- a/docs/security-checks.md +++ b/docs/security-checks.md @@ -80,11 +80,13 @@ to make CI green. Rerun the full scan after remediation. ## GitHub protections -CI starts after a push; it cannot block the initial upload of a secret. GitHub -secret scanning, push protection, and private vulnerability reporting are enabled. +CI starts after a push; it cannot block the initial upload of a secret. Require +GitHub secret scanning, push protection, and private vulnerability reporting. The default branch requires a pull request, the security and three-platform checks, and resolved review threads; force pushes and deletion are blocked. The owner's sole-maintainer policy does not require an independent approval. -All outside contributors' workflows require approval before running. +Require approval before running all outside contributors' workflows. See [release policy](releasing.md). These settings are separate from this code -and are not enforced by a policy file or CODEOWNERS alone. +and are not enforced by a policy file or CODEOWNERS alone. After a transfer, +an administrator must confirm any settings hidden from write-access maintainers; +see the [transfer verification](../evals/reports/2026-10-17-transfer.md). diff --git a/evals/reports/2026-10-17-transfer.md b/evals/reports/2026-10-17-transfer.md new file mode 100644 index 0000000..66d80e1 --- /dev/null +++ b/evals/reports/2026-10-17-transfer.md @@ -0,0 +1,62 @@ +# Voiceflow organization transfer verification — 2026-10-17 + +Public repository: [voiceflow/agent-plugins](https://github.com/voiceflow/agent-plugins). +Anonymous installation source: +[`f9e1fe8d2cd4d23f6cfb678214ccbbf7cc806769`](https://github.com/voiceflow/agent-plugins/commit/f9e1fe8d2cd4d23f6cfb678214ccbbf7cc806769), +package candidate **0.4.2**. The owner completed the transfer; verification did +not change repository access, organization policies, or customer accounts. + +## Public access and installation + +- The old repository API address resolves to `voiceflow/agent-plugins`. +- Cloned the new public HTTPS address in a clean child environment with no + GitHub credential variables, disabled global/system Git configuration and + credential helpers, and terminal authentication prompts disabled. +- Retrieved the README and all 66 plugin files from commit-pinned raw GitHub + URLs without authentication. All 67 responses were HTTP 200 and matched the + anonymous checkout byte for byte. +- Validated all sixteen skills, manifests, checksums, and local references. +- Installed all sixteen standalone skills for Claude, Codex, and Cursor into + disposable directories. Every file matched the source; repeat installation + was unchanged, and removal left no managed files behind. +- Native Codex and Claude installations in disposable configurations reported + the enabled plugin. All sixteen skills, Markdown references, license notices, + and both docs MCP configurations matched the anonymous checkout. + +No real client profile, sign-in session, or customer project changed. Cursor +runtime discovery remains unverified. Package installation does not establish +fresh-account onboarding, future-conversation skill selection, or marketplace +publication. Website publication remains separate. + +## Repository checks + +- [CI under the new owner](https://github.com/voiceflow/agent-plugins/actions/runs/39001041716) + passed security and Linux, macOS, and Windows checks on the source above. +- Active rules applying to `main` still require pull requests, stale-review + dismissal, resolved review threads, all four strict checks bound to GitHub + Actions, and protection against force pushes and branch deletion. +- The existing policy still requires zero independent approving reviews, per + the owner's earlier decision. Agent-driven merges still require explicit + owner approval. +- Private vulnerability reporting is enabled. +- CODEOWNERS has no reported errors; Bradenream retains write access and remains + the named code owner. No new team or collaborator was granted access. +- The accompanying link/ownership cleanup passed local validation, all 80 tests, + the package build, and scans of fetched history, working files, and generated + packages with zero findings. + +## Administrator verification still required + +The authenticated account has write access, not administrator access, after the +transfer. GitHub does not expose the following settings to this connection: + +- Secret scanning and push protection configuration, and open secret alerts. +- Actions publisher restrictions, full-SHA pin enforcement, default token + permissions, PR approval permissions, and outside-contributor approval policy. +- Ruleset bypass actors. The ruleset response omits this field for this access + level; omission is not evidence that the bypass list is empty. + +An organization administrator must confirm these against the +[required protection policy](../../docs/releasing.md#public-repository-protections). +Successful CI and clean local scans do not prove the hidden settings. No missing +permission was bypassed or treated as evidence that a protection was disabled. diff --git a/voiceflow/plugin.json b/voiceflow/plugin.json index b735b99..ffa8b5f 100644 --- a/voiceflow/plugin.json +++ b/voiceflow/plugin.json @@ -8,7 +8,7 @@ "name": "Voiceflow, Inc." }, "homepage": "https://www.voiceflow.com/docs", - "repository": "https://github.com/Bradenream/agent-plugins", + "repository": "https://github.com/voiceflow/agent-plugins", "keywords": [ "voiceflow", "agents",