LogoLogo
Explore with DeepWikiJoin Slack CommunityContact Us
  • About Hyperswitch
    • Introduction
    • Payments Suite
    • Payments Modules
      • Cost Observability
      • Revenue Recovery
      • Vault
        • Server to Server Vault tokenization
        • Vault SDK Integration
      • Intelligent Routing
      • Reconciliation
        • Getting Started with Recon
      • Alternate Payment Method Widgets
        • Hyperwidget Integration Guide
    • Roadmap - Q2 2025
      • Previous Roadmap - Q1 2025
      • Previous Roadmap - Q4 2024
      • Previous Roadmap - Q3 2024
      • Previous Roadmap - Q2 2024
      • Previous roadmap - Q1 2024
      • Previous roadmap - Q4 2023
  • Use-Cases
    • For SaaS Businesses
    • For B2B SaaS Businesses
    • For E-Commerce Businesses
    • For Marketplace/Platforms
  • Explore Hyperswitch
    • Payment Orchestration
      • Accept Payments
        • Connectors
          • Activate Connector on Hyperswitch
          • Try a Payment
          • Available Connectors
            • ACI
            • Adyen
            • Airwallex
            • Authorizedotnet
            • Bambora
            • Bank of America
            • Billwerk
            • Bluesnap
            • Braintree
            • Checkout
            • Coinbase
            • Cybersource
              • Apple Pay
              • Google Pay
            • dLocal
            • Fiserv
            • GlobalPayments
            • GoCardless
            • Klarna
            • Mollie
            • MultiSafepay
            • Nuvei
            • OpenNode
            • Paypal
            • PayU
            • Prophetpay
            • Rapyd
            • Shift4
            • Stripe
            • TrustPay
            • Volt
            • Worldline
            • Worldpay
            • Zen
            • Netcetera
              • Authenticating Payments via Netcetera Through HyperSwitch SDK
        • Setup Payment Methods
          • Cards
          • Wallets
            • Apple Pay
              • Web Domain
              • iOS Application
            • Google Pay
            • PayPal
          • Pay Later
          • Banks
            • Bank Debits
            • Bank Redirects
            • Bank Transfers
            • Open Banking
          • Crypto
          • Test Credentials
        • Payment Links
          • Configurations
          • Create Payment Links
          • Secure Payment Links
          • Setup Custom Domain
        • Save a Payment Method
        • Manual Capture
        • Incremental Authorization
        • Tokenization & Card Vault
          • Network Tokenisation
        • Supported Payment Workflows
        • Co-badged Cards
        • Webhooks
      • Process Payouts
        • Getting Started with Payouts
        • Using Saved Payment Methods
        • Smart Router for Payouts
        • Smart Retries in Payout
        • Payout Links
      • Smart Routing
        • Rule Based Routing
        • Volume Based Routing
        • Default Fallback Routing
      • Smart Retries
        • 3DS Step-up Retries
      • 3DS / Strong Customer Authentication
        • Setting up 3DS Decision Manager
        • Native 3DS Authentication
        • External Authentication for 3DS
      • Fraud & Risk Management
        • Activating FRM in Hyperswitch
        • Fraud Blocklist
      • Subscriptions
        • PG Agnostic Card Forwarding
        • Zero Amount Authorization
      • Split Payments
        • Stripe Split Payments
        • Adyen Split Payments
        • Xendit Split Payments
    • Checkout Experience
      • Customizable and Native Integrations
        • Web
          • Node And React
          • Customization
          • Error Codes
          • Node and HTML
          • Vanilla JS and REST API Integration
        • Android
          • Kotlin with Node Backend
          • Customization
          • Features
        • iOS
          • Swift with Node Backend
          • Customization
          • Features
        • React Native
          • React Native with Node Backend
          • Card Widget
          • Customization
        • Flutter
          • Flutter with Node Backend
          • Customization
        • Headless SDK
        • Server Setup
      • Click To Pay
        • Visa Click to Pay: V1 to V2 Migration
      • Payment Methods Management
    • Payment Operations
      • Managing Accounts and Profiles
        • ⚙️Control Centre Account setup
        • Hyperswitch Account Structure
      • Manage Your Team
      • Analytics & operations
        • Exporting payments data
      • Disputes / Chargebacks
      • Surcharge
        • Surcharge Setup guide
      • Multi-Tenancy
      • Data migration
        • Import data to Hyperswitch
        • Export data from Hyperswitch
    • Security and Compliance
      • PCI Compliance
      • Data Security
      • GDPR compliance
      • Identity and Access Management
    • E-commerce Platform Plugins by Hyperswitch
      • 🔌WooCommerce Plugin
        • Setup
        • Roadmap
        • Compatibility
        • FAQs
      • Saleor App
        • Setup
      • Automatic Tax calculation for Express Checkout wallets
  • Hyperswitch open source
    • Overview
      • Run Hyperswitch Locally Using Docker
        • Run Additional Services
      • Development Environment Setup
        • Backend
          • Configure and Run the Application
          • Try out APIs
        • SDK (Frontend)
        • Control Center
    • Deploy on AWS
      • Deploy on AWS using CloudFormation
      • Component-wise Deployment
        • Deploy app server
        • Deploy Control Center
        • Deploy web client
          • Production ready deployment
          • Integrate web client on your web app
          • Playground deployment for prototyping (optional)
        • Deploy Card Vault
          • Production ready deployment on AWS
          • Cloud setup guide
    • Deploy on Kubernetes
      • Deploy on GCP Using Helm Charts
      • Deploy on Azure Using Helm Charts
    • Exploration Guide
    • Account setup
      • Using Hyperswitch Control Center
      • Test a payment
      • Using postman
    • Troubleshooting
  • Testing Payments
  • Check list for Production
    • Going live
      • For SaaS Setup
      • For On-Prem Setup
        • Monitoring
        • PCI compliance
          • Get started
          • Completing the SAQ
        • Data Security
        • Updates
  • Learn more
    • API Reference
    • Connectors Supported
    • SDK Reference
      • React
      • JS
      • Custom Events
    • Hyperswitch architecture
      • Router
      • Storage
      • A Payments Switch with virtually zero overhead
    • Payment flows
    • Blog
  • Community Guidelines
Powered by GitBook

Compliance

  • Vulnerability Disclosure
  • PCI DSS 4.0
  • ISO 27001:2022

Community

  • Slack
  • Discord
  • GitHub Discussion
On this page
  • Benefits of Our Security Framework
  • Handling Sensitive Data
  • Data Encryption Overview
  • Key Management System (KMS) Encryption
  • Key Manager Service Encryption
  • Concealing Sensitive Data in Logs

Was this helpful?

  1. Explore Hyperswitch
  2. Security and Compliance

Data Security

Comprehensive measures safeguarding Data Integrity within Hyperswitch

Last updated 3 months ago

Was this helpful?

At Hyperswitch, we prioritize data security and adhere to PCI DSS standards to protect sensitive information. Our platform is engineered with a robust multi-layered encryption framework to secure sensitive data, including API credentials, RSA certificates, database passwords, and Personally Identifiable Information (PII), throughout its lifecycle.

Benefits of Our Security Framework

  • Compliance and Trust: We comply with PCI DSS 4.0 and ISO 27001:2022 standards, ensuring international best practices for data protection.

  • Enhanced Data Security: Hyperswitch employs advanced encryption layers to secure data during transmission and storage.

  • Fraud Prevention: Through secure card vaulting and tokenization, we minimize fraud risks.

  • Operational Transparency: With merchant-specific encryption, we ensure your data remains confidential and protected.

Handling Sensitive Data

The Hyperswitch application employs multiple layers of encryption to safeguard sensitive card information during transmission between components as explained below. Our security framework is designed to meet PCI standards, ensuring maximum protection and confidentiality for all card-related data.

1. Accepting Card Data

Card information is initially received from the Hyperswitch SDK. This data is encrypted using SSL/TLS protocols, ensuring end-to-end encryption during transmission between the SDK and the Hyperswitch backend. This guarantees that sensitive card data is secure from the point of collection.

2. Storing Card Data (Vaulting)

When a payment is made using a saved card, the card details are securely stored in the Hyperswitch Card Vault. This process involves multiple steps to ensure the confidentiality and integrity of the data:

Card Data Preparation:

  • Signing for Integrity: The Hyperswitch App Server signs the card details using its private key, ensuring the data has not been altered.

  • Encryption for Confidentiality: The signed details are encrypted using the public key of the Card Vault (locker), securing the data during transmission.

Data Storage Process:

  1. Validation: The Hyperswitch Card Vault validates the signed data using the public key of the Hyperswitch App Server. This step ensures the integrity of the transmitted data.

  2. Decryption: The Card Vault decrypts the received data to make it usable for storage.

  3. Secure Storage:

    • The decrypted data is re-encrypted internally using AES encryption.

    • This securely encrypted data is then stored in the database.

    • The database itself is encrypted at rest, providing an additional layer of security for the stored information.

3. Using Card Data for Analytics and Payment Operations

To provide insights and analytics without compromising sensitive information, only partially masked card details (e.g., the first 4 and last 4 digits) are sent to the Hyperswitch Control Centre. This approach offers merchants a high-level view of transactions while preserving customer confidentiality.

Data Encryption Overview

At Hyperswitch, we place the utmost importance on safeguarding sensitive data, including external API credentials, customer information, and card details. Our application employs a multi-layered encryption approach to ensure security during data transmission and storage.

  • Masked Transmission: All sensitive data remains masked during transmission and is never permanently stored on local systems.

  • Multi-Layered Encryption: Data is encrypted at every critical juncture, ensuring robust protection against breaches.

Key Management System (KMS) Encryption

Hyperswitch employs AWS Key Management System (KMS) to securely manage sensitive keys required for the application’s operation.

  1. Startup Encryption: Sensitive keys, such as database passwords and RSA certificates, are encrypted at the startup.

  2. Secure Storage: These encrypted keys are securely stored in environment variables or configuration files, ensuring their confidentiality and protection against unauthorized access.

Key Manager Service Encryption

Merchant-Specific Encryption

Hyperswitch utilizes a Key Manager Service to ensure the secure generation and storage of a unique Data Encryption Key (DEK) for each merchant.

These merchant-specific DEKs undergo further encryption using a secrets manager, such as AWS KMS, to provide an additional layer of security.

Data Encryption for Each Merchant Account

Data associated with individual merchant accounts is encrypted using the unique DEK for that merchant. This approach ensures robust protection of:

  • Connector API Keys: Critical credentials for third-party integrations.

  • Confidential Merchant Information: Business-sensitive data that needs stringent security.

  • Customer Personally Identifiable Information (PII): Data such as customer names, email addresses, and other sensitive details.

The encryption process ensures:

  • Data Segmentation and Authorized Access Only: Each merchant's data is encrypted with their specific DEK, ensuring that each set of data remains protected and is accessible only to authorized parties associated with that merchant. Data can only be decrypted by entities possessing the appropriate credentials tied to that merchant's DEK.

Concealing Sensitive Data in Logs

At Hyperswitch, we take extra care to protect sensitive information, even in system logs. Our application framework uses a wrapper type to classify all sensitive data as Secret.

  • Leveraging Rust's Advantages: Hyperswitch uses Rust, a strongly typed programming language, to create a robust mechanism (Secret<T>) for handling sensitive data.

  • Masked Logging: Instead of exposing sensitive details such as passwords or Personally Identifiable Information (PII), we log only the data type (e.g., *** alloc::string::String ***).

  • Source-Level Protection: By masking sensitive data at its source, we ensure that sensitive information is never inadvertently exposed, even in debug outputs or logs.

Database at Rest Encryption

At Hyperswitch, we encrypt database instances in our cloud-hosted environments to protect sensitive information, including card details and merchant data. For self-hosted setups, we recommend adopting similar encryption practices to ensure robust security.

For more technical details about how the Hyperswitch Card Vault manages encryption and decryption, you can visit the .

Hyperswitch Card Vault GitHub repository