AI agent instructions
AI agent instructions
Prerequisites
- An Evervault app with Browser Tokens, and its app ID and API key.
- The data to fill, encrypted with Evervault (for example with Card Collection).
- The hostnames that receive the data: the payment provider or iframe host, not only the merchant’s site, or for a login, the host the login form posts to. They must be HTTPS hosts: Evervault’s browser proxy only handles
CONNECTtunnels, so it rejects plain-HTTP requests even with a valid token. - For the example below:
httpxin Python, or the built-infetchin Node.
Map Evervault’s values to the secret entry
EachPOST /browser-tokens call returns the stand-ins (data[].value) and a proxyConfiguration for Evervault’s browser proxy. Use it like this:
The tokens and the proxy password stop working when the
ttl expires. Evervault accepts a ttl of at most 900 seconds (15 minutes) and answers 400 to a higher value, so create tokens just before the agent fills them, or create a new batch and a new session when it runs out.
If the password is wrong or has expired, Evervault refuses the connection (407) and requests to the listed hosts fail. Requests to every other host keep working. See If your secret proxy is unavailable.
If you save the configuration in the console with the Evervault preset, save the server, username (your app ID), CA certificate and hosts, and send only the password with each session.
Share the exit IP
By default, Evervault sends requests to the listed hosts from its own datacenter IP addresses, so the listed hosts see a different IP address than the rest of the session’s browsing. To give every host the same IP, send Evervault’s outgoing traffic through Notte’s proxy gateway withproxySettings of type: "custom":
- Mint a gateway credential with a
sticky_sessionand acountry. - Pass it in
proxySettingswhen you create the tokens:
- Start the session with the same
sticky_sessionandcountryon itsnotteentry.
Evervault accepts egress credentials of up to 256 characters, and the gateway username grows with your
sticky_session. Keep sticky_session to 32 characters or fewer: a 14-character value gives a username of about 150 characters.Mask real values in responses
Evervault’s browser proxy does not replace real values in responses, and Notte does not change responses either. A listed site that sends a real value back, such as an endpoint that echoes the card number, returns the real value to the browser. Only list hosts that do not return the values you swap. See Mask real values in responses.Example
This example fills a card number and CVV onapi.stripe.com, with Evervault’s egress going through the session’s exit:
data[].value. Evervault swaps them for the real values only on requests to api.stripe.com.
Passwords and other credentials
Browser Tokens are not limited to cards. Evervault’s docs list passwords, account credentials, recovery codes, one-time backup codes and API keys among the values they can stand for, with thecredential.password category for passwords. Create the tokens the same way, and set permissions[].target and hosts to the host that receives the login request, which is often a separate auth domain. See What you can swap.
- Evervault’s docs do not describe computing a value at request time, so a TOTP code that changes every 30 seconds needs a custom proxy or a Notte vault.
- Some sites encrypt values in the page before sending them, so the request carries no token to swap. Evervault notes that some payment provider flows need shims, which it manages. Test each site first. See Values the page encrypts before sending.