{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Overview","siteUrl":"https://developer.flute.com","description":"Documentation and API reference for integrating Flute payment processing.","lang":"en-US","llmstxt":{"hide":true,"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"overview","__idx":0},"children":["Overview"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Flute supports merchants to import their customer vault tokens from their previous processor."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The process uses PGP (Pretty Good Privacy), an industry encryption standard."," ","This includes files and transaction data, ensuring confidentiality and trust during transmission."," ","PGP encryption ensures that only Flute can read it."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The PGP protocol or PGP-encrypted files are not used with the API suite directly."," ","This process is used only to send Flute data files."," ","PGP-encrypted files may be sent through conventional, non-encrypted email."," ","The encryption occurs within the file."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"pgp-encryption-keys","__idx":1},"children":["PGP Encryption Keys"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["PGP uses a pair of encryption keys."," ","They are used together to encrypt your files."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The encryption keys are: A private key and a public key."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The private key is the only key that can decrypt your files."," ","The private key is kept secret by Flute."," ","That means no one other than Flute has access to this private key."," ","This ensures that only Flute will be able to decrypt the file."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The public key is used to encrypt your files."," ","It is unique to and specific to only Flute."," ","Files encrypted with the Flute key can only be decrypted by Flute."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["As the name implies it is intended to be shared with others."," ","For example, it's posted on this page, allowing anyone to encrypt files to Flute."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"flute-public-key","__idx":2},"children":["Flute Public Key"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following is the Flute public key."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["1) Create the Flute public key file ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"Copy the entire Flute public key file below, not modifying any characters within it."]},{"$$mdtype":"Tag","name":"details","attributes":{},"children":[{"$$mdtype":"Tag","name":"summary","attributes":{},"children":["Flute Public Key File"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["-----BEGIN PGP PUBLIC KEY BLOCK-----"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["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"," ","qxAPURnD"," ","=rg5c"," ","-----END PGP PUBLIC KEY BLOCK-----"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["2) Save the file ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"A naming format such as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["flute-public-key.asc"]}," is common."," ","Although they may be named for your convenience."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"installing-encryption-software","__idx":3},"children":["Installing Encryption Software"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Encrypting files require encryption software."," ","There are several packages available, and you may select the PGP-compliant one that fits your needs."," ","The examples show here are from ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["GnuPG"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To install, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://www.gnupg.org/download"},"children":["GnuPG"]},", in the ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["GnuPG binary releases"]}," section. ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"Select the download for your operating system. ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"Run the application to install it."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["3) Importing the public key ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"This procedure needs to be done only once per session. ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"Open a terminal window in the same location as the saved Flute public key file. ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"Enter: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["gpg --import flute-public-key.asc"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"fingerprint","__idx":4},"children":["Fingerprint"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A PGP fingerprint is a short, unique identifier for the public key."," ","It is an important security feature."," ","It verifies the public key being used is identical and unaltered to the one Flute provided."," ","A conformed match between the fingerprint and the public key assures the public key is correct."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["There is no need to save the fingerprint to a file."," ","During the process, you will need to compare the PGP fingerprint display with the one posted here."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Flute PGP fingerprint: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["C4C8 7B88 59C3 0208 3600 2DB2 5676 214E 735F 7F56"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["4) Validate the fingerprint. ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"enter: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["gpg --fingerprint"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This returns a display such as:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"pub   rsa4096 2024-01-01 [SC]\n      1234 ABCD 5678 EFGH 9012 IJKL 3456 MNOP 7890 QRST\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The bottom string is the fingerprint."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Compare that value with the Flute PGP fingerprint from earlier. ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"If the two match exactly (ignoring spaces), the public key is valid for Flute. ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"If the two are not exact matches (except for spaces), the public key is not valid for Flute."," ","Check that the public key was copied and pasted correctly and try again."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"encrypting-files","__idx":5},"children":["Encrypting Files"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following procedure encrypts a file."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For simplicity, ensure the Flute public key file (named earlier as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["flute-public-key.asc"]},") and the files to be encrypted are in the same directory."," ","Files must be encrypted individually."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["5) Encrypt a file. ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"Assume the file is named ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["MyPaymentCards.csv"]}," ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"Enter: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["gpg --encrypt --recipient \"Flute\" MyPaymentCards.csv"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This produces a file named ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["MyPaymentCards.csv.gpg"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["That file is now fully encrypted."," ","It may be sent to Flute by any means such as a conventional email application or a file transfer protocol application."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Flute representatives will decrypt it for further processing."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The original file (such as ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["MyPaymentCards.csv"]},") remains unchanged."," ","The encrypted file (such as ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["MyPaymentCards.csv.gpg"]},") is no longer needed for this process."," ","It may be managed as your policy dictates, including deleting the file."]}]},"headings":[{"value":"Overview","id":"overview","depth":1},{"value":"PGP Encryption Keys","id":"pgp-encryption-keys","depth":3},{"value":"Flute Public Key","id":"flute-public-key","depth":3},{"value":"Installing Encryption Software","id":"installing-encryption-software","depth":3},{"value":"Fingerprint","id":"fingerprint","depth":3},{"value":"Encrypting Files","id":"encrypting-files","depth":3}],"frontmatter":{"title":"Importing Customer Vault Tokens","description":"Using PGP to import customer vault tokens","seo":{"title":"Overview"}},"lastModified":"2026-06-04T22:05:58.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/launch/importing-customer-tokens","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}