Hyperswitch with VGS as an external card vault: what changes for your team
If you run self-hosted Hyperswitch and already tokenize cards in VGS, or you need a vault vendor that uses proxy-based tokenization, the VGS connector changes where card data sits in your payment flow. The connector stores card data in VGS and references it inside Hyperswitch through an alias token, using the ExternalVaultInsert and ExternalVaultRetrieve flows of the ExternalVault interface. Hyperswitch documents this as one of three self-hosted vault models: the native Hyperswitch Vault operated in-house under PCI DSS, an external PCI vault provider such as VGS or Tokenex, and orchestration with the SaaS Hyperswitch Vault. The decision turns on two questions: where your card data already lives, and what your team must operate and evidence once the vault is in place.
Operationally, the change shows up in credentials and ownership before it shows up in code. The VGS connector needs three values: the VGS OAuth2 client ID, the client secret and the vault ID. Store all three in your secrets manager, not in configuration files, and name an owner for the VGS account, the client secret and its rotation schedule. The docs note that sandbox vault IDs do not work in production, so your go-live plan needs a production vault ID, a separate credential set and a verified cutover step. Confirm with Juspay and VGS which Hyperswitch components still hold card data in your configuration, including whether the card vault service and the encryption service remain in your deployment path and what they must still protect.
The routing of card data is the second decision. The Hyperswitch docs suggest VGS when the VGS transparent proxy should forward tokenized requests to processors. In that model, the proxy handles detokenization on the way out, which changes your network egress rules, processor allowlists, latency profile and error handling. In the other model, Hyperswitch retrieves the card data and calls the processor directly. Test both paths in a sandbox before choosing one. Also plan for VGS being unavailable: insert and retrieve calls will fail, so define retry limits, what happens to in-flight payments, and how saved-card and recurring payments behave during an outage. Ask the vendor to document timeout and retry behavior in writing.
PCI DSS scope is the third decision, and an external vault does not remove your obligations. PCI DSS v4.0.1 is the only active version of the standard, and it applies to any entity that stores, processes or transmits cardholder data or could affect the security of the cardholder data environment. The PCI Security Standards Council does not enforce compliance, so your acquirer and payment brands set your validation requirements. Ask your Qualified Security Assessor to map every data flow across Hyperswitch, VGS, your network and your processors before anyone claims a scope reduction. Your validation will rest on a Report on Compliance or a Self-Assessment Questionnaire with an Attestation of Compliance. DeployOpen can prepare systems, controls and evidence for that assessment, but it does not issue attestations or certificates.
What you need in place before connecting Hyperswitch to VGS
Connecting Hyperswitch to VGS touches the Router, the card data flow and your PCI DSS scope, so several inputs must be settled first. The items below cover the deployment, credentials, network path, ownership and assessor engagement that the connector depends on. Work through them in order before any production configuration begins.
Running self-hosted Hyperswitch
The Router, Scheduler, PostgreSQL and Redis must be running in infrastructure you control before the VGS connector is configured. Hyperswitch documents Kubernetes deployment with Helm charts, and the Control Center and SDK versions must match the Hyperswitch release you run. Before starting, confirm the release version and its compatibility matrix for Control Center and web client versions on the Hyperswitch releases page, then pin that version for the whole rollout.
VGS production credentials
The VGS connector needs three values: the OAuth2 client ID, the client secret and the vault ID. Confirm that all three come from the production vault and nothing else. Ask VGS to confirm the access scopes needed for the ExternalVaultInsert and ExternalVaultRetrieve flows before you request credentials, so the first production test does not fail on permissions.
Sandbox vault ID separation
The Hyperswitch VGS documentation notes that sandbox vault IDs do not work in production, so a sandbox value copied into production configuration will fail. Keep sandbox and production credentials in separate configuration sets, and check that the production vault ID appears only in the production deployment. Record which vault ID each environment uses so a later review can confirm the sandbox value was never reused.
Network path from Router to VGS
The Router must reach VGS endpoints over an outbound path that your firewall, proxy and egress rules allow. Document the source addresses, destination hosts, ports and any TLS inspection before testing, and confirm whether the path crosses a shared egress point used by other systems. Run the insert and retrieve calls from the Router's own network segment so test results match production behavior.
Named credential owner
One named person owns the VGS credentials, their rotation schedule and the list of people who can read them. That owner records when each secret was last rotated, approves access changes and handles revocation if a team member leaves or a secret is exposed. Without a named owner, the connector often breaks at rotation time because no one knows where the secret is stored or who may change it.
QSA or assessor engaged early
Engage your Qualified Security Assessor, or your internal assessor, before the architecture is fixed. Agree in writing which systems fall inside the cardholder data environment when VGS holds the card data and Hyperswitch holds only alias tokens, and which evidence the assessor will need. DeployOpen prepares systems and evidence, but the assessor issues the Report on Compliance or the Attestation of Compliance.
How the ExternalVaultInsert and ExternalVaultRetrieve flows move card data
The ExternalVaultInsert and ExternalVaultRetrieve flows decide which systems ever hold a primary account number, so they set the boundary that your PCI DSS scope analysis starts from. In this model, the VGS connector implements Hyperswitch's ExternalVault interface. On the first payment that saves a card, the card data is sent to VGS through the insert flow. VGS stores it and returns an alias token. Hyperswitch then records that alias against the customer's payment method, so the design intent is that its databases hold the alias and not the card number. Read the connector documentation for your release to confirm which request fields carry card data at each step and whether any of them are written to logs before they reach VGS.
When a later payment or a saved-card operation needs the card, Hyperswitch reads the stored alias from its payment method record and calls the retrieve flow with that alias. Confirm in the connector documentation whether the retrieve response returns card data to the Hyperswitch router or whether the card data is handled inside VGS and only referenced by the router. The answer changes which Hyperswitch hosts, memory paths and logs are in scope, so record it in your data flow diagram before you size the environment. Also confirm how the flow behaves for card-on-file payments, recurring charges and any operation that touches a network token, since each may follow a different path.
The VGS transparent proxy is optional. The Hyperswitch docs suggest VGS when the transparent proxy should forward tokenized requests to processors, so it is most relevant when you want VGS to substitute the stored card data on the outbound request. If you enable it, the processor connection becomes part of the cardholder data path, and your scope analysis must include the proxy configuration, the processors it can reach and the network routes between them. Confirm the supported processors, how substitution is logged, and whether the proxy can be used for every payment method your business accepts. Do not assume the proxy covers every processor in your Hyperswitch routing rules until the connector documentation confirms it.
Before go-live, check where the alias and not the card number is held, and where a card number could still appear. Hyperswitch stores its data in PostgreSQL and uses Redis for caching and the scheduler queue, so test that no card data reaches those stores, the application logs, webhook payloads or Control Center views. Confirm the three VGS credentials (the OAuth2 client ID, client secret and vault ID) and verify that the production vault ID is used, because the docs note that sandbox vault IDs do not work in production. Finally, the PCI DSS assessment itself is performed by a Qualified Security Assessor or through a Self-Assessment Questionnaire under the current version, PCI DSS v4.0.1, and this section does not determine your final scope.
Configuring the VGS connector in Hyperswitch, step by step
This sequence takes a self-hosted Hyperswitch deployment from an agreed vault design to a verified card insert, retrieve and authorization through VGS. Each step ends with a check the team can record in its security and assessment file. Run the steps in order, and keep card data out of any production path until the non-production checks pass.
Confirm the vault model choice
Before anyone creates a vault, the platform team, the security lead and the PCI assessor agree on which of the three Hyperswitch vault models applies, and record the reason in the design file. The choice determines whether card data leaves the in-house PCI boundary and how the assessor will scope the cardholder data environment. Ask the assessor to confirm in writing how the external vault changes the scope, and name the owner of the VGS account. Done means a signed decision record that names the model, its owners and the assessor's agreement to review the design.
Create the production vault and OAuth2 client
The VGS administrator creates the production vault in the VGS account and an OAuth2 client with the permissions the insert and retrieve flows need, as confirmed with the VGS documentation. Record the vault ID, client ID and client secret as they are issued. Do not reuse sandbox values, because the Hyperswitch VGS documentation notes that sandbox vault IDs do not work in production. Done means a token request made with the new client returns a valid access token for the production vault, and the administrator confirms the client's permissions in the VGS console.
Store the three credentials in the secrets store
Place the client ID, client secret and vault ID in the secrets manager that your deployment already uses, and reference them from the Hyperswitch deployment by name. Keep the values out of values files, Helm overrides, container images, source repositories and CI logs. Limit read access to the service account used by the router. Done means the deployment resolves the secrets at runtime, and a search of the repositories and rendered manifests finds none of the three values.
Add the VGS provider configuration
Using the external vault provider configuration in your Hyperswitch release, add the VGS connector entry to the router configuration. Point its credential fields at the secret references from the previous step, using the vault ID for the environment you are configuring. Confirm the exact key names and file layout against the VGS connector page in the Hyperswitch docs for your version, since configuration formats can change between releases. Start with the non-production environment and apply production values only after step six passes. Done means the router starts cleanly and its startup output shows no credential values.
Route a test card through the insert flow
In the non-production environment, send a test card through a payment request that triggers the ExternalVaultInsert flow, using test card numbers from your processor or the VGS sandbox. Watch the router logs and the VGS audit trail while the request runs. Done means the insert returns an alias token and the Hyperswitch payment record stores that alias, not the card number. If the call fails, the expected result is a logged error that names the failed operation and contains no card number, CVV or credential. Fix the configuration and repeat the test before moving on.
Retrieve the alias and confirm authorization
Run a payment that uses the stored alias so the ExternalVaultRetrieve flow fetches the card data from VGS for the processor. Confirm the retrieve returns a usable token and that a test authorization through the processor is approved. Search the router, scheduler and any other service logs for card numbers and credentials. Done means an approved authorization that references the alias, and a log search that returns no card data. Record the request IDs, the alias identifier and the log search results as evidence for the assessor.
How VGS aliases, credentials and environments map to Hyperswitch objects
This table maps each VGS credential, alias and vault to the Hyperswitch object or deployment setting it must match. Read each row as one pairing that causes errors when mixed up, such as a sandbox vault ID in production. Confirm exact field and configuration names against the current Hyperswitch documentation before you configure anything.
| Item | Maps to in the Hyperswitch deployment | Owner | Rotation trigger |
|---|---|---|---|
| VGS OAuth2 client ID | Connector credential entry for VGS, stored under a named secret in your secret manager and injected into the router | Platform engineering | Client recreated in VGS or moved to a new account |
| VGS client secret | Connector credential entry for VGS, stored in the secret manager and injected at runtime, never in Control Center screenshots or tickets | Security engineering | Scheduled rotation, suspected exposure, or access change for an operator |
| VGS vault ID | Environment-specific configuration value that selects one vault for the deployment | Payments platform lead | Vault recreated or replaced; confirm the ID matches the target environment |
| VGS alias token | Reference stored on the Hyperswitch payment method record, pointing to the card held in VGS | Payments engineering | No credential rotation; changes when the card is re-inserted or deleted in VGS |
| Sandbox vault | Non-production environment only, including staging and test pipelines | QA and integration lead | Sandbox vault reset or recreated by VGS |
| Production vault | Production deployment only, with its own credentials and environment configuration | Payments platform lead with compliance owner | Vault migration, new vault provisioning, or a change in PCI scope |
What this deployment model changes for PCI DSS scope
An external vault does not remove your PCI DSS obligations. The standard applies to any entity that stores, processes or transmits cardholder data or sensitive authentication data, and to any entity that could affect the security of the cardholder data environment. Moving card storage to VGS changes where the data sits, but it does not change whether your organization, or the self-hosted Hyperswitch stack you operate, falls in scope. The PCI SSC maintains the standard but does not enforce it. Your payment brands and acquirer decide who must validate compliance and how, so that is the first party to ask.
The scope question shifts from "where is the card vault?" to "where could a full card number appear?" Trace the path through the Hyperswitch Router during the ExternalVaultInsert and ExternalVaultRetrieve calls, then through the Scheduler and its queue, Redis caches, PostgreSQL tables and replicas, application and access logs, error traces, webhook payloads, and the Control Center and support tooling your staff use to look up payments. For each component, record whether card data can appear, even briefly, and whether it persists. Illustrative example: a debug setting that writes request bodies to a log store would bring that log store into scope even though VGS holds the vaulted data.
Document VGS's share of the controls in writing. Request VGS's current Attestation of Compliance and its responsibility matrix, and confirm that the attestation covers the specific services you will use, including the vault and any transparent proxy that forwards tokenized requests to processors. Check the date and scope of that AOC against the services in your contract. Your own assessment should reference VGS's attested responsibilities, not restate them from memory. The Hyperswitch docs state that in the self-hosted, in-house PCI model the merchant carries full responsibility for PCI DSS and data handling, so every control VGS does not cover in writing stays with your team.
Use PCI DSS v4.0.1, the only active version, for any new assessment. Version 4.0 was retired on 31 December 2024. Validation runs through a Report on Compliance completed by a Qualified Security Assessor, or through a Self-Assessment Questionnaire, and each route ends in an Attestation of Compliance. Certificates are not recognized as validation. Which route applies depends on your transaction volume and channels, and your acquirer or a QSA must confirm the scope decision before go-live. If you consider the customized approach for any requirement, it is available only to entities with mature security and risk management, and it requires documented evidence that the stated objective is met in a different way.
Securing the VGS credentials, the proxy path and the Hyperswitch deployment
The VGS connector and the Hyperswitch services around it form one control surface. The cards below cover where the VGS credentials live, how they rotate, what the Router can reach, what must stay out of logs and webhooks, and who can change connector settings in the Control Center.
Store the OAuth2 client secret centrally
The VGS connector needs a client ID, a client secret and a vault ID. Keep the client secret in a managed secrets store and out of Helm values files, and grant read access only to the Router workloads that call VGS. Confirm with your platform team that the Scheduler and other pods cannot read the same secret, and review that grant during each access review.
Rotate credentials with a written procedure
Rotating the VGS client secret should not cause an outage, so write the procedure before it is needed. Document who issues the new secret in VGS, where it is stored, the order in which Router deployments pick it up, and how the old secret is revoked. Rehearse the steps in the sandbox first, then record the outcome so the next rotation follows the same path.
Restrict Router egress to VGS
Only the Router should need outbound access to VGS for insert and retrieve calls, so limit its egress to the VGS endpoints for your tenant. Enforce the rule with network policies or egress gateway controls, and ask VGS to confirm the exact hostnames and ports your vault uses. Test the rule by attempting a blocked destination from a Router pod, then confirm that the connector still works.
Keep card data out of logs and webhooks
Insert and retrieve requests carry card data or alias tokens, and error handling can echo request content into logs. Set log levels and filters so VGS connector payloads are not written to application logs or traces, and review what your observability stack retains. Check the webhook payloads your systems receive for card fields and confirm that alias tokens are the only card reference they contain.
Control who changes connector settings
The Control Center can change connector configuration, including the VGS connector, so changes to credentials and routing should belong to a small, named group. SSO uses OpenID Connect only, SAML is not supported, and there is no JIT or SCIM provisioning. Roles are managed inside Hyperswitch and are not mapped from the identity provider, and users must be invited first, so each access review must cover the Hyperswitch invitation list as well as identity provider groups.
Separate sandbox and production vault IDs
The VGS documentation states that sandbox vault IDs do not work in production, so each environment needs its own vault ID and credential set. Keep the sandbox and production connector configurations apart in your deployment tooling, and store their secrets in separate stores. Before each release, check that production Router pods reference only the production vault ID.
Common VGS integration failures, their likely cause and the first fix to try
This table lists the five VGS integration failures teams hit most often when Hyperswitch calls VGS as an external vault, with the probable cause, what to check and a first fix. Work down the rows in request-path order: credentials first, then vault scope, network and saved payment methods. Confirm any timeout values and error codes against the VGS and Hyperswitch documentation before changing configuration.
| Failure | Probable cause | What to check | First fix to try |
|---|---|---|---|
| Authentication errors | The OAuth2 client ID or client secret is wrong, mistyped or was rotated in VGS without updating Hyperswitch. | Router logs for the token request to VGS, the client ID shown in the VGS dashboard and the date the client secret last changed. | Re-enter the client ID and secret in the Hyperswitch connector configuration, confirm whether a Router reload is needed, then retry one insert. |
| Production calls rejected | A sandbox vault ID is configured in production, and the Hyperswitch VGS documentation says sandbox vault IDs do not work there. | The vault ID in the connector configuration against the vaults listed in the production VGS account, and which environment the value came from. | Replace the vault ID with the production vault ID and confirm the credentials come from the same production account. |
| Insert succeeds, retrieve fails | The alias was created in one vault, but the retrieve call uses a different vault ID or credentials. | The vault ID on the insert and retrieve calls in Router logs, and which vault the alias appears in on the VGS dashboard. | Use one vault ID for both flows, then retest retrieve with an alias created in that vault, or re-insert the card if the alias belongs elsewhere. |
| Network timeouts between Router and VGS | Outbound traffic from the Router network to VGS is blocked, slowed or dropped by a firewall, proxy or DNS rule. | Router logs for timeout messages on ExternalVault calls, outbound firewall, proxy and DNS rules for Router hosts, and whether timeouts are steady or intermittent. | Allow outbound access from Router hosts to the VGS endpoints your account uses, then confirm timeout settings against VGS documentation. |
| Alias tokens missing from saved payment methods | The insert returned an alias, but the save step did not persist it, often after a failed or partial flow. | Failed or partial attempt records in the database, Router logs for the save step after insert, and whether the connector is set for the vault role. | After fixing credentials and vault scope, run a test save with a new test customer and confirm the external vault connector is set for that merchant profile. |
How to test the insert and retrieve path before production
The purpose of this test plan is to prove two things before go-live: that card data enters VGS on insert and never persists in Hyperswitch, and that the alias VGS returns can be retrieved for payments and saved-card reuse. Start in a sandbox where the Hyperswitch router, the Control Center and the VGS connector are configured with the three VGS credentials: the OAuth2 client ID, the client secret and the vault ID. Confirm that every value belongs to the sandbox environment end to end, because the VGS docs note that sandbox vault IDs do not work in production. Write each case as a numbered test with preconditions, the input, the expected alias behavior, the expected Hyperswitch record and the evidence to capture.
Begin with the core flows. For a successful insert, submit a test card through the client SDK, confirm that VGS returns an alias through the ExternalVaultInsert flow, and check that the Hyperswitch payment method record holds only that alias. For retrieval, run an authorization that uses the stored alias so the ExternalVaultRetrieve flow supplies card data to the processor, then confirm the payment completes. For a declined or invalid card, submit a processor test number that produces a decline and a malformed number that fails validation. Confirm that the customer sees a clear error, that the processor response is recorded, and that no alias is persisted for the failed attempt. Confirm with VGS and each processor which test numbers apply to your account.
Next, test the failure paths that operations will meet after go-live. Rotate the OAuth2 client secret in the sandbox, then run an insert and a retrieve with the old value. Confirm that the error is explicit and that your runbook names who can issue and deploy the new secret. Repeat with a vault ID from another environment, which should fail rather than succeed silently. For a network interruption, drop connectivity between the Hyperswitch router and VGS during an insert, then during a retrieve. Check whether the client retries, whether a second alias is created for one customer action, and whether a partial payment record remains in PostgreSQL. Finally, charge a card saved in an earlier session. This test depends entirely on retrieval working after a separate insert, so it shows whether the stored reference stays usable.
After every test run, search for card numbers rather than waiting until the end of the plan. Use the test card numbers in each format the client might send, including with spaces and separators. Search the router and scheduler logs, Control Center event data, webhook payloads, error traces, Redis entries and PostgreSQL tables, including replica and backup copies where you have access. Add a distinctive value to the test cardholder name and search for that too, because the name is cardholder data that should also stay out of these stores. Treat any match as a defect, fix it and rerun the affected test. Record the search scope, the queries, the timestamps and the results, and make sure the evidence itself contains no card data.
Store evidence in a form the assessor can review: the test plan with case IDs, the Hyperswitch and Control Center versions under test, configuration snapshots with secrets redacted, the VGS environment and vault identifiers, API responses or screenshots, log search outputs and a defect log showing retests. Map the results to the PCI DSS requirements that your scope depends on, and agree the evidence format with your Qualified Security Assessor before testing starts, since the assessor decides what is sufficient. Sandbox results do not prove production behavior. Production uses different credentials, a different vault ID and live processor connections. Before go-live, repeat the core flows, meaning insert, retrieve, decline, saved-card payment and the card number search, with production credentials in a controlled window. Have the on-call team present and agree the rollback decision in advance.
Questions teams ask before connecting Hyperswitch to VGS
What drives the effort to connect Hyperswitch to VGS?
The effort depends on how much the connector has to cover, not on the VGS account alone. The main drivers are the number of payment methods and processors that Hyperswitch will route to, the number of environments (usually development, staging and production, each with its own vault ID and credentials), and how much card data already sits in VGS that must be referenced or migrated. The scope review also takes time because it decides which systems touch cardholder data and what evidence an assessor will need. Ask that the written scope list every processor, payment method, environment and existing VGS alias, since each one changes the test matrix and the cutover plan.
Can our in-house team connect Hyperswitch to VGS without outside help?
Yes, a team comfortable with Kubernetes and secrets management can usually configure the VGS connector itself, but the scope decision needs an assessor. The configuration involves the external vault settings, the three VGS credentials (the OAuth2 client ID, the client secret and the vault ID), and deployment values for the cluster. Your engineers must keep those secrets out of logs, repositories and plain-text chart values. What they cannot settle alone is whether the design keeps the surrounding systems out of PCI DSS scope. A Qualified Security Assessor documents that conclusion in a Report on Compliance or a Self-Assessment Questionnaire, so involve one before cutover, not after.
What does the work need from our team before it starts?
The work needs four things from your side. First, vault access: someone with administrative rights in VGS must create or confirm the credentials and vault IDs for each environment. Second, named credential owners who approve use of the client ID, client secret and vault ID and who rotate them. Third, a test environment, such as a non-production Kubernetes cluster with a sandbox vault, so insert and retrieve flows can be tested before production data moves. Fourth, an assessor engaged early to review data flows and the scope decision. Also provide the Hyperswitch version you run, the processors you connect and your current network and access diagrams.
Does storing cards in VGS take us out of PCI DSS scope?
Not automatically. PCI DSS applies to entities that store, process or transmit cardholder data, and to entities that could affect the security of the cardholder data environment. Moving card storage to VGS changes which systems hold card data, but the Hyperswitch services, the networks between them, the systems that handle tokens and any proxy flows may still affect that environment. The payment brands decide which entities must validate, and the PCI SSC does not enforce compliance itself. Under PCI DSS v4.0.1, the only active version, your assessor records the result in a Report on Compliance or Self-Assessment Questionnaire with an Attestation of Compliance. A certificate alone does not validate compliance.
What must a written scope for this work list?
A written scope should name the work and the boundaries. List the processors and payment methods by name, the environments in scope, and the existing VGS data that will be referenced or migrated. Describe the insert and retrieve flows, and state whether the VGS transparent proxy forwards requests to processors. Name every system in the data path and mark which ones are excluded and why. Assign ownership of the three VGS credentials, the assessor's role and the deliverables, such as a scope diagram, data flow documentation and control evidence. Include test cases, the cutover and rollback plan, the Hyperswitch version covered, and a change process for adding processors later.
What should we ask for in a quote for this work?
DeployOpen works on fixed scope, so the quote should follow the written scope and restate it. Ask for the deliverables and the acceptance tests that close each one, the client inputs and their owners, and the assumptions behind the estimate. Separate one-time implementation from anything recurring, such as ongoing support or a retainer, and confirm how VGS charges apply to your account, since those are paid to VGS and not through this engagement. Ask how new processors or payment methods are priced as change requests. Confirm which items the assessor performs and which your team performs, so the quote does not hide a gap in the PCI DSS work.
How should we handle VGS credentials and sandbox testing?
Start by keeping each environment on its own credentials. The VGS documentation states that sandbox vault IDs do not work in production, so the production connector needs a production vault ID and its own client credentials. Store the client ID, client secret and vault ID in your secrets manager and inject them at deploy time instead of writing them into Helm values. Test insert and retrieve in the sandbox first, including alias handling, error responses, retries and what appears in logs. Then repeat the critical flows against production in a controlled cutover window with a documented rollback path.
When is VGS the right external vault for Hyperswitch?
VGS fits best when your card data is already tokenized in VGS, when you need a specific vault vendor that uses proxy-based tokenization, or when you want the VGS transparent proxy to forward tokenized requests to processors. The Hyperswitch documentation lists these as the situations that suggest VGS. If none of them apply, compare the option with the native Hyperswitch vault, where the merchant carries full responsibility for PCI DSS certification and data handling. Either model needs an assessor to confirm scope. Decide the vault model before the connector build starts, because changing it later affects the data flows, credentials and assessment.
How DeployOpen scopes, builds and supports the VGS integration
DeployOpen plans, builds and supports self-hosted Hyperswitch with VGS as an external card vault inside your own infrastructure. Scope, deliverables and timelines are agreed in writing before work starts, covering the VGS connector, its insert and retrieve flows and the evidence your QSA will need. Ongoing support is available as a retainer.
How we scope
- A written scope fixes which Hyperswitch components, VGS connections and processors are in the engagement before work starts.
- Scoping records the VGS vault IDs, OAuth2 client credentials and environments, keeping sandbox and production separate.
- The scope lists every system that touches card data, as input to your QSA's PCI DSS scope review.
How we build
- Configure the VGS external vault connector in Hyperswitch using the ExternalVault interface, with credentials held in your secrets management.
- Build and test the ExternalVaultInsert and ExternalVaultRetrieve flows, confirming alias tokens resolve to stored cards for each processor route.
- Where the transparent proxy forwards tokenized requests to processors, test those paths separately from the vault calls.
How we hand over
- Deliver the connector configuration, deployment code, test results and runbooks for the VGS vault path in your repositories.
- Document the insert and retrieve data flows, showing which services see card data and which see only alias tokens.
- Hand over configuration records and test logs for your QSA, who completes the assessment; DeployOpen does not issue reports.
How we support
- Ongoing support, upgrades and testing for the VGS integration are available as a retainer, scoped in writing.
- Hyperswitch releases ship roughly monthly, so the retainer can include checking connector compatibility at each upgrade.
- Changes to VGS credentials, vault IDs or sandbox-to-production moves are tested before they reach live card traffic.
Sources and further reading
- Hyperswitch docs: VGS ↗
- Hyperswitch docs: Self-hosted orchestration with external or third-party PCI vault ↗
- PCI SSC: PCI Data Security Standard ↗
- PCI SSC FAQ 1220: compliance certificates ↗
- PCI DSS v4.0 Self-Assessment Questionnaire D for Service Providers ↗
- PCI SSC blog: Just Published: PCI DSS v4.0.1 ↗

