Comparing main...card-in-payment-frames · aindeev/agent-chrome-relay · GitHub
Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: aindeev/agent-chrome-relay
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: aindeev/agent-chrome-relay
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: card-in-payment-frames
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 1 commit
  • 22 files changed
  • 2 contributors

Commits on Oct 15, 2026

  1. feat: pay with a card from 1Password, into a payment provider's frame…

    … (Stripe and the like)
    
    Chrome Relay's own commands now read and act inside other sites' frames: each gets a DevTools session of its own
    (Target.setAutoAttach), a script world of its own, and its controls join the page's snapshot as
    `in-frame (js.stripe.com)`. A click lands where the frame shows in the page, after checking nothing in the page
    covers the frame there. Head to head: chrome-relay 23 of 23, agent-browser 21 (its earlier miss on another site's
    frame was our test extension, which didn't pass frame sessions on).
    
    A 1Password Credit Card item fills like a login (op://<vault>/<card>/number, expiry, expiry-month, expiry-year, cvc,
    name), with its own rules:
    - Where: only into the checkout page itself (https) or a payment provider's frame in it (Stripe, Braintree, Adyen,
      Checkout.com, Square, PayPal, ...), as Chrome reports the frame's site; never a frame nested in another site's.
    - Which field: the number into the card number field, the code into the security-code field (autocomplete tokens,
      else names and labels). What can be refused without 1Password is refused before the person is asked.
    - The person approves every payment, naming the agent, the shop and the last four digits, even with sign-in
      approvals off; one approval covers that card on that site for 2 minutes.
    - Typed into that document only: a frame's own session, or the page's own editing command, so a focus change can't
      send it elsewhere. Masked before it's typed; the field reads back as filled from then on; the tab takes no
      screenshots until the page moves on; the audit trail has only the last four.
    Logins still never go into frames, and a login aimed at one is refused before the person is asked.
    
    `chrome-relay vault` lists cards with their last four digits.
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    aindeev and claude committed Oct 15, 2026
    Configuration menu
    Copy the full SHA
    0322319 View commit details
    Browse the repository at this point in the history
Loading