When you connect an integration tool to your ecommerce stack, you are handing that vendor the keys to your business. Access to your orders, customer records, financial data, and inventory. If that vendor handles your credentials carelessly, anyone could read your customer data, delete records, or pull financial reports you never intended to share.
Most businesses never ask the right questions before signing up. This post covers exactly what to ask, why it matters, and what a secure answer looks like, using our own security posture at Connex as the benchmark.
The core risk: An access token is essentially a special password that grants read/write access to your platform. Combined with a Client ID and secret, it can be used to make changes on your behalf. If those credentials are stored or transmitted carelessly, the consequences range from data leaks to complete account compromise.
Here is the checklist we recommend running through with any integration vendor before you connect.
This is the first question to ask, and the answer will tell you a lot about how seriously a vendor takes security.
An access token, combined with a Client ID and client secret, gives a vendor the ability to read and write data on your behalf. If those values are hardcoded into application source code, committed to a repository, or stored in a plain text config file, they are a breach waiting to happen.
What a bad answer looks like: "We store credentials in our database" or "they're in the config file." These are red flags.
What a good answer looks like: Credentials should be stored in environment variables or a secrets management service, never embedded in source code.
At Connex, application credentials and client secrets are maintained in Azure App Service environment variables, not in our source code. This means even if someone accessed our codebase, they would not find your credentials. Secret values are masked in the Azure Portal by default, adding another layer of protection.
The risk of hardcoded tokens is well-documented. A single exposed GitHub repository containing a hardcoded access token can result in full account compromise within minutes of discovery.
If the integration stores any of your data in a database, two follow-up questions are non-negotiable.
A firewall around the database ensures that only authorized systems inside the vendor's infrastructure can query it. Without one, a misconfigured server or exposed port could allow anyone on the internet to attempt a direct connection.
Ask specifically: "Is your database protected by a network-level firewall? Who can access it from outside your infrastructure?"
A good vendor will confirm that database access is restricted to internal application servers only, with no public-facing endpoints.
Even if someone were to obtain a copy of the database files, encryption at rest makes that data unreadable without the correct decryption keys.
What to ask: "Is your database encrypted at rest? What encryption standard do you use?"
At Connex, we use Azure SQL with Transparent Data Encryption (TDE) enabled by default. TDE automatically encrypts data files, log files, and backups using AES-256 encryption. You do not need to change your application to benefit from it; it operates at the storage layer.
|
Security Control |
What to Look For |
|
Database firewall |
Access restricted to internal app servers only |
|
Encryption at rest |
AES-256 or equivalent, enabled by default |
|
Encryption in transit |
TLS 1.2 or higher for all connections |
Access control is about more than just passwords. It covers how the integration handles user permissions, error recovery, and account lockouts.
This is one of the most important questions for multi-tenant SaaS integrations. If the platform serves multiple customers on shared infrastructure, there must be strict data isolation between accounts.
Ask directly: "Is this integration multi-tenant? If so, how do you ensure that User A cannot access User B's records?"
The technical answer should include row-level security or tenant-scoped queries, meaning every database query is automatically filtered by the authenticated customer's account ID. This prevents a bug or misconfiguration from leaking one customer's data to another.
Also ask: "How do you prevent SQL injection attacks?" A well-maintained integration uses parameterized queries or an ORM that handles escaping automatically. If the vendor cannot answer this question clearly, that is a serious concern.
Personally identifiable information (PII) like customer names, addresses, and email addresses is one of the most sensitive categories of data your integration will touch. You need to understand exactly how it flows.
There are two very different scenarios:
A vendor who persists PII without a clear retention and deletion policy is a liability. The right answer is either that data is not stored at all, or that there is a defined retention window with automatic deletion and documented compliance controls.
Hosting infrastructure matters. A vendor running their application on an unmanaged virtual machine with no patch schedule is a very different risk profile than one using a managed cloud platform with built-in security controls.
Managed platforms like Microsoft Azure App Service handle much of the underlying infrastructure security automatically, including patching the underlying OS and runtime. This reduces the attack surface compared to a vendor managing their own bare-metal or unmanaged VM.
At Connex, our API is hosted on Microsoft Azure App Service. For endpoint protection on any Windows-based tooling, we use Windows Defender and can provide scan reports on request.
Ask for evidence. A vendor who takes this seriously will be able to share a recent scan report or infrastructure diagram without hesitation. If they cannot, or if they seem surprised by the question, treat that as a warning sign.
A penetration test (pen test) is when a security professional attempts to break into a system, the same way a real attacker would, and documents what they find. It is one of the most reliable ways to verify that a vendor's security controls actually work under adversarial conditions.
The last question is the most revealing. Every pen test finds something. A vendor who claims a clean report without any findings is either not sharing the full picture or not testing thoroughly enough. What matters is how quickly and completely they fixed what was found.
What good looks like: A reputable vendor commissions an independent pen test at least annually, shares a summary of findings with enterprise customers on request, and can demonstrate that critical and high-severity issues were remediated before the next release cycle.
A vendor who has never been pen tested, or who cannot produce any documentation, is asking you to trust their security on faith alone. That is not an acceptable answer when your customer data is on the line.
No system is perfectly immune to a breach. What separates a responsible vendor from a reckless one is whether they have a documented, tested plan for what happens when something goes wrong.
The answers should be specific. Vague responses like "we take security very seriously" or "we would notify you promptly" are not acceptable. You want a named contact, a defined notification window (ideally within 24 to 72 hours), and a clear description of the investigation and remediation process.
Ask the vendor to walk you through their system architecture from a security perspective. A confident, security-minded team should be able to explain, without hesitation, how data moves through their system, where it is stored, who can access it, and what controls exist at each layer.
If they cannot produce a basic architecture diagram or walk you through the data flow, that gap in documentation is itself a risk signal.
Running through this checklist takes less than an hour and can save you from a vendor relationship that puts your business, and your customers, at serious risk. The best vendors will welcome these questions. They have already thought through the answers.
Use this as a reference when evaluating any integration vendor.
|
Category |
Question to Ask |
|
Credentials |
Where are access tokens, Client ID, and client secret stored? |
|
Credentials |
Are secrets stored in environment variables, not source code? |
|
Database |
Is the database protected by a firewall? |
|
Database |
Is data encrypted at rest? What standard? |
|
Access control |
What happens after 10 failed login attempts? |
|
Access control |
How are user permissions scoped in the UI? |
|
Multi-tenancy |
Can User A's actions affect User B's data? |
|
SQL injection |
How are database queries parameterized or sanitized? |
|
PII |
Is customer PII stored or just passed through? |
|
PII |
What is the data retention and deletion policy? |
|
Hosting |
What cloud platform is the application hosted on? |
|
Hosting |
Who handles anti-virus, malware, and OS patching? |
|
Pen testing |
When was the last penetration test conducted? |
|
Pen testing |
Can you share findings and remediation steps? |
|
Incident response |
What is the breach notification timeline? |
|
Incident response |
Who is the named security contact? |
If you are evaluating Connex and want to discuss any of these questions directly, contact our team. We are happy to walk through our security posture, share relevant documentation, and answer your specific concerns before you connect your first channel.