SFTP Data Integration

Connect to Cable's SFTP server to securely deliver data files for Automated Assurance

Cable’s SFTP integration allows you to deliver data files directly to a dedicated, secure SFTP server. Once uploaded, Cable automatically processes your files and loads the data into your dedicated dataset for assurance checks.

This guide walks you through connecting to Cable’s SFTP server, configuring SSH key authentication, preparing your data files, and optionally encrypting them with PGP.

This guide assumes your Cable onboarding is complete and you have received your SFTP connection details from your Cable point of contact. If you haven’t started onboarding, reach out to your Cable contact to get started.

How It Works

You upload CSV data files to Cable’s SFTP server using SSH key authentication. Cable processes the files automatically — validating, transforming, and loading the data into your dedicated dataset. Your data is stored in isolation on a dedicated, secure directory.

Prerequisites

Before you begin, make sure you have:

  • SFTP connection details from your Cable point of contact (hostname and username)
  • An SSH key pair (see Step 1 below if you don’t have one)
  • Your data files in CSV format
  • (Optional) A PGP key pair if you want to encrypt files before upload

Step 1: Generate Your SSH Key Pair

Cable uses SSH public key authentication for SFTP connections.

Generate a new key pair

If you don’t already have an SSH key pair for this integration, generate one:

$ssh-keygen -t ed25519 -C "yourorg-cable-sftp" -f ~/.ssh/cable_sftp

This creates two files:

  • ~/.ssh/cable_sftp — your private key (keep this secret, never share it)
  • ~/.ssh/cable_sftp.pub — your public key (share this with Cable)

We recommend Ed25519 keys for their security and performance. If your systems require RSA, use at least 4096 bits: ssh-keygen -t rsa -b 4096 -C "yourorg-cable-sftp" -f ~/.ssh/cable_sftp

Share your public key with Cable

Send the contents of your public key file to your Cable point of contact:

$cat ~/.ssh/cable_sftp.pub

The output looks like: ssh-ed25519 AAAA... yourorg-cable-sftp

Never share your private key. Only share the .pub file. If you suspect your private key has been compromised, generate a new key pair immediately and notify your Cable point of contact.

Step 2: Connect to Cable’s SFTP Server

Connection details

Your Cable point of contact will provide:

SettingValue
HostnameProvided during onboarding
Port22
UsernameYour assigned SFTP username
AuthenticationSSH public key

Test your connection

$sftp -i ~/.ssh/cable_sftp -P 22 youruser@your-cable-hostname

A successful connection shows the sftp> prompt. Type exit to disconnect.

Verify the server’s host key

On your first connection, your SFTP client will prompt you to verify the server’s host key fingerprint. Contact your Cable point of contact to confirm the fingerprint matches before accepting. This protects against man-in-the-middle attacks.

After verifying the host key once, your client stores it in ~/.ssh/known_hosts. Future connections will verify automatically. If the key changes unexpectedly, your client will warn you — contact Cable before proceeding.

Step 3: Prepare Your Data Files

File format

Cable accepts CSV files with the following requirements:

  • UTF-8 encoding
  • Header row with column names
  • One record per line
  • Standard CSV escaping (quote fields containing commas or newlines)

File naming

Use descriptive filenames that include the data type and date:

accounts_comprehensive_2025-06-15.csv
transactions_daily_2025-06-15.csv

Zip files are not supported. Upload CSV files individually. If you have multiple files, upload them one at a time or use your SFTP client’s batch upload feature.

Folder structure

Upload files directly to your SFTP root directory, or organise them into subdirectories if instructed by your Cable point of contact. Your Cable contact will confirm the expected folder structure during onboarding.

Step 4: PGP Encryption (Optional)

If your security policy requires file-level encryption in addition to SSH transport encryption, you can PGP-encrypt your files before uploading. Cable will automatically detect and decrypt PGP-encrypted files.

How to encrypt a file

  1. Obtain Cable’s PGP public key from your Cable point of contact
  2. Import the key into your PGP keyring
  3. Encrypt your CSV files before uploading:
$gpg --encrypt --recipient "Cable" --output accounts_2025-06-15.csv.pgp accounts_2025-06-15.csv
  1. Upload the .pgp file via SFTP (Cable strips the .pgp extension after decryption)

PGP encryption is optional. Cable’s SFTP server uses SSH for transport encryption and your data is stored in isolation. PGP adds an additional layer of encryption for the file contents at rest.

Step 5: Upload and Verify

Upload files

Connect to the SFTP server and upload your files:

$sftp -i ~/.ssh/cable_sftp youruser@your-cable-hostname
$sftp> put accounts_comprehensive_2025-06-15.csv
$sftp> put transactions_daily_2025-06-15.csv
$sftp> exit

For batch uploads, you can use mput or script the upload:

$sftp -i ~/.ssh/cable_sftp -b - youruser@your-cable-hostname <<EOF
$put accounts_comprehensive_2025-06-15.csv
$put transactions_daily_2025-06-15.csv
$EOF

Verify receipt

After uploading, contact your Cable point of contact to confirm the files were received and processed successfully.

Data Processing

After upload, Cable automatically:

  1. Validates your files (format, encoding, structure)
  2. Parses your CSV files using the header row to identify columns — no schema configuration is required on your end
  3. Loads the data into your dedicated dataset, where it is available for automated assurance checks

Your Cable point of contact will confirm when data appears in your dataset and walk you through the available assurance checks.

If Cable cannot process a file (for example, due to encoding errors or missing headers), your Cable point of contact will notify you with details about the issue so you can correct and re-upload.

Automating File Delivery

Once your integration is tested and working, you can automate file delivery using any SFTP client or scheduled job:

  • Cron + sftp/scp: Schedule uploads from a Linux/macOS server
  • Managed file transfer (MFT): Tools like GoAnywhere, Globalscape, or Axway
  • Verafin / other platforms: Configure your platform’s SFTP export to point at Cable’s server

Ensure your automation uses the same SSH key and targets the correct hostname and username.

Common Questions

What happens if I upload the same file twice?

Cable deduplicates data during processing. Re-uploading a file will not create duplicate records in your dataset.

What if an upload fails partway through?

Re-upload the file. Cable processes complete files only — partial uploads are ignored.

Is there a file size limit?

There is no hard limit, but files over 1 GB may take longer to process. If you regularly produce very large files, talk to your Cable point of contact about splitting them into smaller batches.

Can I upload from multiple systems?

Yes. You can connect from any system that has your SSH private key. Use the same username and key pair for all connections.

How do I correct data after uploading?

Upload a new file with the corrected data and notify your Cable point of contact.