Card Vault

How to Securely Store Credit Card Information: A Business Guide

Learn how to securely store credit card information: what PCI DSS lets you keep, where cards should never go and how a card vault lets staff use cards safely.

AK Abhilash Kumar Oct 24, 2026 20 min read
On this page

    Enigma Vault

    Secure your cards.
    Protect your data.
    Keep it out of your AI.

    Data tokenization that keeps your applications working, so a breach exposes nothing worth stealing.

    • Free Lite tier, no contract
    • PCI DSS Level 1, SOC 2 Type II
    • Billed through AWS Marketplace
    Request a demo

    To store credit card information securely, a business captures cards through a secure form or phone system, replaces each card number with a token, keeps the real number in a PCI-certified vault and never stores the CVV.

    Plenty of businesses need a customer's card long after the first conversation.

    A travel agent books an independent hotel three weeks after the client approves the trip. A private club charges dues every month, and a law firm draws down a retainer. A clinic runs a patient's payment plan, while a property manager holds a card for a security deposit.

    The card has to be usable later. Keeping it safe in the meantime is where most teams get stuck.

    Card photos arrive on WhatsApp. Authorization forms pile up in an inbox. Numbers get typed into CRM notes or read aloud on recorded calls. Owners building their own booking app don't want a card number anywhere near their server, yet staff still need the card when a supplier asks for it.

    We hear these questions regularly, from small travel agencies to growing software platforms. In this guide, we'll cover what PCI DSS lets you store, where cards should never sit and how to keep cards usable without letting them touch your systems.

    What Credit Card Information Can a Business Store?

    A business can store the card number, cardholder name, expiration date and service code if they're protected under PCI DSS, but it can never store the CVV, PIN or full magnetic stripe data after authorization.

    PCI DSS splits card data into two groups. Cardholder data can be stored when it's protected. Sensitive authentication data can't be stored at all once a payment is authorized, even in encrypted form.

    Data elementCan it be stored?What PCI DSS requiresHow it works in practice
    Card number (PAN)YesMust be made unreadable wherever it's stored, and shown with no more than the first six and last four digitsA booking app keeps tok_c7Rn4Wz1Hd and "Visa ending 1111" while the real number sits in a vault
    Cardholder nameYesNeeds protection when it's kept together with the card numberA club's member record shows the name, and only the vault links that name to a card
    Expiration dateYesFalls under the same protection as the card number it belongs toThe vault keeps the date so next month's dues charge goes through without asking the member again
    Service codeYesProtected alongside the card number, though few merchants ever need itMost phone and online businesses never collect it at all
    CVV or CVCNoMay be held only until the payment is authorized, then removed, even if it was encryptedA vault can keep the code for the first charge and delete it within minutes
    PIN or PIN blockNoNever kept by the merchant under any circumstancesPhone and online businesses don't handle PINs, since they're entered on card-present terminals
    Full magnetic stripe or chip dataNoCan't be retained once the transaction is authorizedA store's terminal passes it to the processor, and nothing is saved on the merchant's side

    Two more rules shape every storage decision. A displayed card number can show the first six and last four digits at most. Stored card data also needs a defined retention period, so nothing stays longer than the business needs it.

    The full requirements sit in the PCI SSC document library.

    Where Should Credit Card Information Never Be Stored?

    Credit card information should never be stored in paper forms, email, spreadsheets, CRM notes, call recordings, chat tools or a company's own application database, because none of them is built to protect card data.

    Most card leaks start with a shortcut. Someone needs the card later, so it gets saved wherever is quickest. Here's where cards usually end up, what that causes and how tokenizing the card changes the picture.

    Where it gets storedReal-world exampleWhat happens because of itHow tokenizing the card fixes it
    Paper authorization formsA hotel's front desk keeps signed forms from corporate travel bookers in a binderAnyone near the desk can read, copy or photograph the cardThe booker enters the card on a secure link, and the hotel keeps a token with the signed record
    Email inboxesA travel agency's clients email card details for each tripThe number sits in inboxes, sent folders, backups and forwarded threads for yearsThe client enters the card once on a hosted form, and only the token reaches the agency
    SpreadsheetsA private club tracks members' cards for monthly dues in a shared sheetFiles get downloaded, shared and synced to personal laptopsEach member's dues charge runs from a token, and the sheet holds only the last four digits
    CRM or booking notesA law firm pastes a client's retainer card into the matter notesEvery user who opens the record can read the full numberThe matter record stores a token that's useless to anyone browsing it
    Call recordingsA home services dispatcher repeats the card back to the callerThe number lands in audio files and transcripts that stay searchableThe caller types the card on their keypad, so nothing sensitive is spoken
    Chat and messaging appsA property manager receives a tenant's card photo for a deposit on WhatsAppThe image stays on a personal phone and in cloud backupsA secure link replaces the photo, and the tenant record holds a token
    Your own app databaseA small agency stores cards in the database behind its WordPress booking siteServers, logs and backups all fall into PCI scope, and a breach exposes every cardThe app stores tokens, while the cards sit in a vault outside your environment

    That last row surprises many owners. A small agency building its own booking platform on WordPress or Replit often assumes encryption in its own database is enough. It isn't, because the application still handles the card number, and that pulls the whole stack into PCI DSS.

    The pattern is the same in every row. The card lives where people and tools can reach it. Tokenizing at the moment of capture moves the card into a vault built for it, and leaves your team with a reference that can't be misused.

    How to Securely Store Credit Card Information: Step-by-Step

    Securely storing credit card information means capturing the card outside your systems, tokenizing it instantly, encrypting it inside a vault, saving only the token and controlling how the card is charged, revealed and deleted.

    Before any card is stored, confirm you actually need it for a later charge, and record what the customer agreed to. Then the card moves through a vault in eight steps. Here's how it works with Enigma's Card Vault.

    Step 1: Capture the Card Through a Secure Channel

    The card should go from the customer straight to the vault. There are three common ways to do that:

    • Hosted or embedded form: A card form loaded from the vault sits inside your website or checkout as an iframe, so the number is typed into the vault's page, never yours.
    • Phone keypad: For phone bookings, the caller types the card on their keypad through an IVR connector such as Twilio Pay, and agents never hear it.
    • Server-side API: Platforms with their own capture flow send the card to the vault in one authenticated call.

    A travel agency taking a cruise deposit by phone and a SaaS platform adding card-on-file to its checkout use different channels, but in both cases the card skips their staff and servers.

    Step 2: Tokenize the Card the Moment It's Captured

    As soon as the card reaches the vault, it's swapped for a token. With a hosted form, the token comes back to your page through a browser callback, so your backend only ever sees something like tok_c7Rn4Wz1Hd.

    You can watch this happen yourself. Try the Card Vault live demo with the test card 4111 1111 1111 1111, and see the token come back in place of the number.

    Step 3: Encrypt and Store the Card Inside the Vault

    Here's where the card actually lives. Inside the vault, each card field is encrypted with AES-256, using a unique initialization vector per field. Every customer has its own encryption keys in a managed secrets store, rotated on a schedule and never shared with another customer.

    Tenants are isolated from one another, and the vault runs in US and EU regions. Your team never manages a key, which removes one of the hardest parts of PCI DSS from your plate.

    Step 4: Save Only the Token in Your Own Systems

    Your CRM, booking tool or billing system stores the token, the card brand and the last four digits. That's enough for a clinic's front desk to confirm "the Visa ending 1111" with a patient.

    If an older system rejects anything that doesn't look like a card number, a format-preserving token keeps the first six and last four digits and passes the same Luhn check, so nothing downstream breaks.

    Step 5: Handle the CVV Separately and Let It Expire

    The security code can help authorize the first charge, but PCI DSS forbids keeping it afterward. In Card Vault, the CVV is held encrypted for 30 minutes at most, then deleted.

    When a supplier asks for the code on a later booking, a CVV-only hosted form collects it again at that moment.

    Step 6: Charge the Card Without Touching It

    When it's time to bill, your app sends a request with placeholders where the card number, CVV and expiry would go. The vault's payment proxy fills in the real values and forwards the charge to your gateway, whether that's Authorize.net, Stripe, Braintree or PayPal.

    A property manager's monthly rent run works this way. The rent goes through, and no one in the office or the software ever sees the tenant's card.

    Step 7: Control Who Can Retrieve or Reveal the Card

    Every request to the vault uses OAuth2 credentials scoped to specific actions, and every request is logged. Most services only need to store cards and charge them.

    When a person needs the full number, such as a travel agent typing a card into a hotel's portal, the reveal happens inside the vault's own interface, behind multi-factor sign-in, and each reveal is recorded. Pulling raw card numbers into your own app is possible, but it brings that app back into PCI scope.

    Step 8: Set an Expiry and Delete Cards You No Longer Need

    A card collected for one booking shouldn't stay on file for years. Each stored card can carry an expiry, from 60 seconds up to seven years, and cards can be deleted on request. Once this flow is in place, ask your acquirer or QSA which self-assessment questionnaire fits your setup. Treat any shorter questionnaire as something they confirm, whatever a vendor's marketing says, ours included.

    Tokenization vs Encryption vs Truncation: Which Storage Method Is Best?

    Tokenization is the best storage method for most businesses, because it removes the card number from company systems, while encryption keeps it in place and truncation or hashing make it unusable for later charges.

    PCI DSS accepts four ways to make a stored card number unreadable. The easiest way to see the difference is to store the same card, 4111 1111 1111 1111, each way:

    MethodWhat sits in your databaseWhat a stolen copy gives an attackerCan you charge it later?
    EncryptionCiphertext such as 9f3a7c2e81b4d6f0, plus a key somewhere in your environmentThe card, if the key leaks tooYes, after decrypting
    Tokenizationtok_c7Rn4Wz1HdA random string; the card sits in a separate vaultYes, through the vault
    Truncation411111******1111Partial digits onlyNo
    One-way hashingA fixed value such as a3c91f07be2d84e6c5f2A value attackers may crack by guessing, since card numbers follow known patternsNo

    Now picture a clinic's billing database being copied in a breach.

    With encryption, the attacker holds ciphertext and goes looking for the key. That key often lives on the same server, in a configuration file or in the hands of the developer who set it up. Find it, and every card in the table opens.

    With tokenization, the attacker holds tok_c7Rn4Wz1Hd and thousands like it. Each one is random, with no mathematical link to a card. The vault that holds the real numbers was never part of the breach.

    That's the core difference. Encryption keeps the card and its key inside your environment, so every system and person near either one stays in PCI scope. Tokenization moves the card out entirely, which is why it suits businesses that need to charge cards again without running a full security program.

    The same approach sits behind credit card tokenization more broadly.

    How Different Industries Store Credit Card Information Securely

    Businesses store credit card information securely by matching the capture channel to how cards arrive, whether that's a phone booking, an intake link or a checkout form, then keeping only tokens in their own systems.

    Every industry collects cards a little differently. The storage pattern stays the same: capture outside your systems, tokenize, keep the token.

    IndustryHow cards usually arriveWhere they end up todaySecure storage pattern
    Travel agencies and tour operatorsPhone calls, emails and booking formsInboxes, CRM notes and supplier portalsHosted form or secure link, token on the booking, vault reveal for supplier portals
    Hotels and hospitality groupsThird-party authorization forms from assistants and event plannersEmail attachments and front-desk bindersBranded intake link with e-signature, token on the reservation
    Private aviation, yacht charter and clubsCards collected over years for charters and duesSpreadsheets and legacy systemsBulk import into the vault, charges through the existing processor
    Clinics and dental practicesPhone calls and paper intake formsPractice notes and call recordingsKeypad capture or secure link, token for payment plans
    Law firms and accounting practicesRetainer requests by emailMatter notes and billing inboxesSecure link, token on the matter, charges through a proxy
    Property managementDeposit and rent cards by text or formPhones and property software notesSecure link, token on the tenant ledger
    Home services and field teamsDispatcher calls and technician devicesCall recordings and job notesKeypad capture or payment link, token on the job
    Contact centers and collectionsAgents taking cards on recorded callsAudio, transcripts and agent desktopsIVR capture, token in the case system
    SaaS platforms and marketplacesMerchants adding cards on file for billingThe platform's own databaseEmbedded form, token in the app, proxy to any gateway

    A travel agency and a SaaS platform look nothing alike, but both end up in the same place: the card in a vault and a token everywhere else.

    How to Store Credit Cards Collected by Phone, Email or Authorization Forms

    Cards collected by phone, email or authorization forms should be captured through a phone keypad system, a pay-by-link page or a secure intake link that sends the number straight to a vault instead of to staff.

    Remote card collection is normal in the US. Travel advisers, hotels, clinics and home services teams take cards by phone or form every day. These mail order and telephone order (MOTO) payments are legitimate, but the capture path decides how much risk follows.

    Phone payments: When a customer reads a card number aloud, it lands in the agent's ears, the call recording and often the CRM. Keypad entry through an IVR keeps the number away from all three. Enigma's Twilio Pay connector works this way, sending the card to the vault and the token back to your system.

    Emailed cards and photos: Ask customers to stop emailing cards, and send a secure link instead. A hosted payment page captures the card and returns a token.

    Card authorization forms: Hotels often receive these from assistants or corporate travel teams booking for someone else. A signed PDF with the card written on it is still a card in an inbox. A branded intake link lets the client enter the card and sign the authorization in one place, with no account to create, so the signed record and the token sit together. It's the same model behind secure client intake forms.

    Manual entry: Typing a card into a general-purpose browser or CRM doesn't reduce PCI scope just because it's manual. Only an approved, isolated setup changes that, and your acquirer or QSA confirms it.

    How to Store Cards on File for Recurring and Future Charges

    Cards on file for recurring and future charges should be stored as tokens with recorded customer consent, charged without the CVV and kept current when banks reissue them.

    Storing a card for later is common, but card network rules expect a clear record of what the customer agreed to.

    • Consent first: Record the amount or billing terms, the schedule and how the customer can cancel.
    • Charge type: Flag whether the customer started the charge, such as approving a booking deposit, or the business did, such as a monthly dues run.
    • CVV rules: The PCI Security Standards Council is direct about this in its FAQ on card-on-file and recurring transactions: "These values are not needed for card-on-file or recurring transactions," and "storage for these purposes is prohibited under PCI DSS Requirement 3.2." Customer consent doesn't change that.
    • Card updates: Reissued or expired cards break stored payments, so plan for a card update process or network tokens.

    A dental group running payment plans shows why consistency matters too. When the same card always maps to the same token, the billing team can spot duplicate signups and keep a patient's charges linked without anyone seeing the number. Deterministic tokens like these are a core part of card vault tokenization.

    How Can Staff Use a Stored Card Without It Touching Your Servers?

    Staff can use a stored card without it touching company servers by charging through a payment proxy that fills in the card inside the vault, or by viewing it in a vault-hosted screen that logs every reveal.

    This is the question we get most often from travel agencies. A client authorizes the agency to book an independent hotel or a cruise line on their behalf. The supplier has no API, so someone has to type the card into the supplier's portal.

    The owner wants two things at once: staff who can use the card when needed, and an app that never sees it.

    There are two safe paths.

    Path 1, charge through a proxy: When the payment goes to a gateway such as Stripe or Authorize.net, nobody needs to see the card. Your app sends the token, and a payment proxy fills in the card details inside the vault before forwarding the request.

    Path 2, reveal inside the vault: When a supplier needs the card typed in by hand, an authorized staff member opens it in a vault-hosted screen. In Enigma's Customer Vault, staff sign in with passkeys or an authenticator app, access is limited by role, and every reveal is logged against the person who made it. The card is shown in the vault's interface and never travels through your WordPress site or custom app.

    Human access still needs house rules. Train staff never to copy a revealed card into email, chat or a screenshot, and tie each reveal to a booking, an amount and the client's authorization.

    There's also a third option that looks tempting and usually isn't. Pulling raw card numbers into your own application through an API gives your developers control, but it also brings that application back into PCI scope, which is the outcome most small agencies are trying to avoid.

    Can Stored Cards Work With More Than One Payment Provider?

    Stored cards can work with more than one payment provider when they're held in an independent card vault, because processor-held tokens usually work only with the processor that issued them.

    Many businesses start by saving cards with their payment processor. It works until they want a second processor, a better rate or a new market. Then they learn the tokens can't move, and every customer has to re-enter a card.

    QuestionProcessor's vaultIndependent card vault
    Who holds the card?The payment processorA separate vault provider
    Can you use another gateway?Usually not without a migrationYes, through a gateway proxy
    Switching processorsEvery card has to move or be re-collectedA configuration change
    Staff access to cardsLimited to the processor's toolsControlled reveal and logging
    Best fitOne processor, standard online checkoutCard-on-file, several gateways, staff bookings

    A processor's vault is often enough for a business with one processor and a standard online checkout. The independent vault earns its place once cards are reused across gateways, suppliers or staff workflows.

    Network tokens from Visa and Mastercard are another option. They keep cards current when banks reissue them, and many businesses use them alongside a vault.

    With Enigma Vault, your cards never live with the processor in the first place, so switching processors becomes a configuration change. Teams already storing cards with another tokenization provider can plan a card-on-file migration with us, and if those tokens are vaultless, the same phased steps apply as when you migrate from vaultless tokenization to a vault.

    Which PCI SAQ Applies When You Store Credit Card Information?

    The PCI SAQ that applies when you store credit card information depends on where cards are captured and stored, with SAQ A possible when a compliant vault handles every card function and SAQ D when your systems store card data.

    Small businesses validate PCI DSS compliance with a self-assessment questionnaire (SAQ). The right one depends on your setup, and your acquirer or QSA has the final say.

    SAQTypical setupWhat it means for card storage
    SAQ ACard-not-present merchants that fully outsource card capture and storage to compliant third partiesYour systems never store, process or transmit card numbers
    SAQ A-EPE-commerce sites that outsource payment but control the page that loads the payment formYour website can affect card security, so more controls apply
    SAQ B-IPStandalone, PCI-approved payment devices that connect over IP and store no card dataStaff key cards into an approved device, never a computer
    SAQ C-VTStaff enter one card at a time into an isolated, third-party-hosted virtual terminalWorks only when the computer is kept apart from other business use
    SAQ DBusinesses that store, process or transmit card data on their own systemsThe broadest questionnaire, with every PCI DSS requirement

    Storing cards in your own database almost always lands a business in SAQ D. Capturing cards on vault-hosted forms and keeping only tokens is how most small businesses aim for a much shorter questionnaire.

    PCI DSS Requirement 3 also asks for four things whenever card data is stored: a retention policy, no sensitive authentication data, masked display and card numbers made unreadable. Encryption adds key management duties on top.

    Common Mistakes Businesses Make When Storing Credit Card Information

    Common mistakes when storing credit card information include keeping the CVV, saving cards in CRM notes, emailing authorization forms, encrypting cards in a home-built database and tying every card to one processor.

    • Keeping the CVV "just in case": A hotel saves the code to avoid calling the guest again. It's prohibited, consent or not.
    • Saving cards in booking or CRM notes: A front-desk agent pastes a card into a reservation note, and every user with access can now read it.
    • Emailing card authorization forms: A signed PDF with a card number sits in three inboxes and a backup.
    • Encrypting cards in your own database: A platform team adds encryption and assumes it's compliant, but its servers, logs and keys are all in scope now.
    • Locking every card to one processor: A subscription business can't add a cheaper gateway without asking thousands of customers for their cards again.
    • Letting staff read cards over the phone: A clinic's billing calls end up in recordings that store card numbers for years.
    • Skipping retention rules: Cards for a single booking stay on file long after the trip ends.

    How Enigma Vault Helps Businesses Store Credit Card Information Securely

    Enigma Vault gives small businesses and growing platforms one place to keep cards. You keep tokens and masked details, and we keep the card.

    Capture and Tokenize Cards With Card Vault

    Card Vault takes cards through hosted and embedded forms in 13 languages, a Twilio Pay phone connector or one API call, and returns a token in a single step. Tokens are random by default, and Luhn-passable or deterministic tokens are there when your systems need them.

    Secure Staff Access With Customer Vault and Agent Vault

    Here's how a booking works in Customer Vault:

    1. The client opens a branded intake link, enters the card and signs the authorization.
    2. Your booking app stores the token, while the card stays in the vault.
    3. A staff member signs in with a passkey, reveals the card for the supplier and the reveal is logged.

    Operators with thousands of cards on file can add Agent Vault, which brings bulk import, a branded card-management experience for account holders and enterprise single sign-on for staff.

    Charge Through the Gateway You Already Use

    Our payment proxy forwards charges to Authorize.net, Stripe, Braintree, PayPal or any REST-based gateway. For gateways with strict signing rules, requests can be signed with HMAC-SHA256 or OAuth 1.0a.

    Move Cards From Your Current Provider

    In one private aviation deployment, existing cards were imported into the vault in bulk and every charge kept running through the operator's processor. The cards moved into certified custody, and the operation didn't change. If your cards sit with a processor or another vault today, talk to us about card-on-file migration.

    Enigma Vault Solution and Pricing

    Card Vault planMonthly priceIncluded requestsOverage per requestIncludes
    Lite$0, free forever1,000 per month$0.08Tokenization, gateway proxy and community support
    Plus$49.9920,000 (roughly 200 to 300 daily transactions)$0.04Ephemeral key sharing and email support
    Premium$249.99250,000 (roughly 2,000 daily transactions)$0.02Highest request volume and priority support

    Our platform runs on PCI DSS Level 1 and SOC 2 Type II certified infrastructure. Plans are billed through AWS Marketplace, and Customer Vault is priced by engagement. See the pricing page or request a demo to walk through your workflow with our team.

    AK
    Abhilash Kumar Chief Growth Officer

    Abhilash Kumar is Chief Growth Officer at Enigma Vault, where he leads growth strategy, market positioning, and partnership development. He brings experience across B2B SaaS marketing, product marketing, brand building, and demand generation, with a career spanning technology companies and communications agencies.

    View full profile

    Frequently asked questions

    Can We Store the CVV for Later Bookings or Recurring Charges?
    No. PCI DSS prohibits storing the CVV after authorization, even with customer consent. When a later booking needs the code, collect it again through a secure CVV-only form that deletes it shortly after use.
    Can Staff View a Full Card Number Without It Passing Through Our Server?
    Yes. A vault-hosted reveal shows the card to authorized staff inside the vault's own interface, behind passkeys or MFA, with every view logged. Your website or booking app only ever handles the token.
    Which PCI SAQ Applies if a Vault Stores Our Cards?
    It depends on the full setup. Card-not-present businesses that capture cards on vault-hosted forms and store only tokens often aim for SAQ A. Your acquirer or QSA confirms the final questionnaire for your setup.
    Can Cards in a Vault Be Charged Through Stripe or Other Processors?
    Yes, when the vault is independent. A payment proxy fills in the card at charge time and forwards it to Stripe, Authorize.net, Braintree or any REST-based gateway, so cards aren't tied to one processor.
    Can We Move Stored Cards From Our Current Tokenization Provider?
    Usually, yes. Cards can be exported by the current provider and imported into the new vault in bulk, then charged against new tokens. Plan the transfer with both providers so card data moves directly and securely.