Skip to content

docs(fill): typed-input privacy stops at agent-device surfaces - #3719

Merged
thymikee merged 1 commit into
mainfrom
maint/3261-xctest-privacy-boundary
Oct 16, 2026
Merged

thymikee merged 1 commit into
mainfrom
maint/3261-xctest-privacy-boundary

Conversation

@thymikee

@thymikee thymikee commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

Summary

States the boundary the reporter proved in #3261: the privacy controls for typed input (fill --text-stdin, --record-as) keep the literal out of agent-device's own responses, diagnostics, and recorded scripts, but XCTest writes its own diagnostic logs and .xcresult bundle on iOS — on a simulator and on a physical device — and typed text can appear there. Per the maintainer decision on the issue, this is documentation only; prevention stays open research, so this uses Refs, not Fixes.

Touched files: 4 (one help line, its pinning test, and two docs pages). Same sentence in all three places. No setting is claimed to prevent it.

The privacy controls for typed input (--text-stdin and --record-as) keep the literal out of
agent-device's own responses, diagnostics, and recorded scripts. They do not rewrite what the
platform records: on iOS, XCTest writes its own diagnostic logs and its .xcresult bundle, and
typed text can appear in both, on a simulator or a physical device.

Validation

Docs and help only, so no runtime behavior changes and no device run applies.

  • pnpm check:affected --run --head 293c63e617c02977613577356fdc80126b373c43 — all runnable checks passed (format, lint, typecheck, layering, fallow, build, vitest-related, command-docs, docs-links, docs-prose).
  • Help-text pin (src/commands/schema/cli-help-topics.test.ts): fails on base (cli-help.ts reverted → AssertionError: The input did not match /keep the literal out of agent-device's own responses, diagnostics, and recorded scripts/), passes on head.
  • Website build and check:doc-links ran clean locally for the new /docs/security-trust link.

Unverified: whether a runner setting can keep the value out of the native logs (the issue's open research), and the same wording's fit for tvOS/visionOS/macOS targets, which this change deliberately does not name.

🤖 Generated with Claude Code

View guided diff Turn on auto-fix

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

No issues found across 4 files

View guided diff | Turn on auto-fix | Re-trigger cubic

@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-10-16 14:43 UTC

@github-actions

Copy link
Copy Markdown
Contributor

Size Report

Metric Base Current Diff
Installed (including dependencies) 5.30 MB 5.30 MB +439 B
Package (unpacked) 5.30 MB 5.30 MB +439 B
Package (download) 1.59 MB 1.59 MB +135 B

Startup median (7 runs, lower is better):

Scenario Base Current Diff
CLI --version 21.7 ms 21.1 ms -0.6 ms
CLI --help 64.4 ms 59.4 ms -5.0 ms

@thymikee

Copy link
Copy Markdown
Member Author

The PR is ready at 293c63e. Not blocking: website/docs/docs/security-trust.md:51 says the .xcresult bundle sits under the Apple runner's derived directory, but the repo only passes -derivedDataPath and never -resultBundlePath, so that location rests on xcodebuild's default; it also says only "on iOS" while the same runner serves macOS and tvOS, so "on Apple targets" or no location would be safer, and you can take or leave this. I did not run xcodebuild, so I did not confirm that XCTest logs or .xcresult bundles contain typed text, and I did not read the redaction code for every agent-device surface; the claim about agent-device's own responses, diagnostics, and recorded scripts relies on the existing --text-stdin documentation. There are no conflicts. The Smoke Tests are still queued; the diff changes only help text, docs and one help test, so it does not touch the route that job exercises, and nothing else needs to happen before merge except waiting for that job.

@thymikee thymikee added the ready-for-human Valid work that needs human implementation, judgment, or maintainer merge label Oct 16, 2026
@thymikee
thymikee merged commit 59fdf00 into main Oct 16, 2026
20 of 21 checks passed
@thymikee
thymikee deleted the maint/3261-xctest-privacy-boundary branch October 16, 2026 14:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-human Valid work that needs human implementation, judgment, or maintainer merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant