You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 89f3f1b
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: vaults/1password.mdx
+34-31Lines changed: 34 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -46,8 +46,10 @@ KERNEL-hosted collection works for any user and is the fallback. create a `crede
46
46
brokered approval uses 1Password's
47
47
[Agentic Autofill](https://www.1password.dev/agentic-autofill/partners). the user
48
48
reviews each access request in the 1Password app on their own device and chooses
49
-
which logins to grant. the 1Password browser extension, which KERNEL takes care of loading into
50
-
the vault-attached browser, then fills the granted login into the page. credential values are never returned by KERNEL’s api or passed through your application or model context. check 1Password's
49
+
which logins to grant. KERNEL creates the access request and reads its status from
50
+
1Password directly, so no browser is involved until you fill. the 1Password browser
51
+
extension, which KERNEL takes care of loading into the vault-attached browser, then fills
52
+
the granted login into the page. credential values are never returned by KERNEL’s api or passed through your application or model context. check 1Password's
51
53
[supported accounts, vaults, and apps](https://www.1password.dev/agentic-autofill/partners#supported-today)
52
54
before you plan a rollout.
53
55
@@ -89,8 +91,8 @@ the login values. then:
89
91
90
92
1. create a `credential_account` item to link the user's 1Password account. see [connect a 1Password account](#connect-a-1password-account).
91
93
2. create a `credential` item with `account` set to that item's key to describe the login you need. see [define a login request](#define-a-login-request).
92
-
3.in a vault-attached browser, invoke `1pw_create_access_request`, give the user the approval link, and poll `1pw_access_request_status`. see [request access and hand off approval](#request-access-and-hand-off-approval).
93
-
4. once the user approves, invoke `1pw_fill` on that item in a browser session. see [fill and submit](#fill-and-submit).
94
+
3. invoke `1pw_create_access_request`, give the user the approval link, and poll `1pw_access_request_status`. neither needs a browser. see [request access and hand off approval](#request-access-and-hand-off-approval).
95
+
4. once the user approves, create a vault-attached browser and invoke `1pw_fill` on that item. see [fill and submit](#fill-and-submit).
94
96
95
97
#### Your own OAuth client (advanced)
96
98
@@ -105,8 +107,8 @@ then:
105
107
106
108
1. create a `credential` item with the user's `access_token` and `integration_key` to describe the login you need. see [use your own oauth client](#use-your-own-oauth-client).
107
109
2. before each task, refresh the access token on your backend and send it with `1pw_update_access_token`. see [replace a stored access token](#replace-a-stored-access-token).
108
-
3.in a vault-attached browser, invoke `1pw_create_access_request`, give the user the approval link, and poll `1pw_access_request_status`. see [request access and hand off approval](#request-access-and-hand-off-approval).
109
-
4. once the user approves, invoke `1pw_fill` on that item in a browser session. see [fill and submit](#fill-and-submit).
110
+
3. invoke `1pw_create_access_request`, give the user the approval link, and poll `1pw_access_request_status`. neither needs a browser. see [request access and hand off approval](#request-access-and-hand-off-approval).
111
+
4. once the user approves, create a vault-attached browser and invoke `1pw_fill` on that item. see [fill and submit](#fill-and-submit).
110
112
111
113
on either path, if a step doesn't produce a usable login,
112
114
[fall back to KERNEL-hosted collection](#fall-back-to-kernel-hosted-collection).
if approved.type !="credential"or approved.state.provider !="1password":
677
680
raiseRuntimeError("unexpected item")
@@ -744,7 +747,7 @@ disconnects; see 1Password's
744
747
745
748
## Limitations
746
749
747
-
-**not secret isolation:** for each access request, status check, and fill, KERNEL gives the extension inside the attached browser access to the connected account or supplied token, and it doesn't remove the extension afterward. use a dedicated browser for 1Password operations, don't give untrusted automation access to it, and don't load extensions you don't trust alongside it. the filled values are in the page between fill and submit.
750
+
-**not secret isolation:** for each fill, KERNEL gives the extension inside the attached browser access to the connected account or supplied token, and it doesn't remove the extension afterward. access requests and status checks don't involve the browser. use a dedicated browser for 1Password operations, don't give untrusted automation access to it, and don't load extensions you don't trust alongside it. the filled values are in the page between fill and submit.
748
751
-**private vaults only, no passkeys:** 1Password's api can grant only logins stored in the user's private, non-shared vault, and it doesn't support passkeys. see 1Password's [supported list](https://www.1password.dev/agentic-autofill/partners#supported-today).
749
752
-**grants expire:** 1Password grants last 30 days at launch and end sooner if the connection ends. `ready` doesn't expire with them; see [how long a grant lasts](#how-long-a-grant-lasts).
750
753
-**up to five logins per item:** each `credential` item carries one to five https login entries.
0 commit comments