// trust — Data security
Our security program covers the sellers who use Swapt, the buyers who opt in on their pages, and the data we receive from partner platforms such as TikTok Shop, Shopify and Amazon. Every policy is published in full below and available as a PDF.
Last updated October 19, 2026
Report a security concern or ask about our program at andrew@swaptqr.com. See also our Privacy Policy.
This policy sets out how Swapt protects the confidentiality, integrity and availability of the information we hold. That includes our customers' (sellers') data, the data of buyers who opt in through sellers' Swapt pages, and data we receive from partner platforms such as TikTok Shop, Shopify and Amazon.
This policy covers:
Swapt maintains the following supporting standards. Each one is part of this policy and is binding.
| Area | Supporting document |
|---|---|
| Network security, environment isolation and perimeter protection | Network Security and Environment Isolation Standard |
| Anti-malware and endpoint protection | Endpoint Protection Standard |
| Workstation and account security baseline | Security Baseline Standard |
| Access control and least privilege | Access Control Policy |
| Data classification and encryption | Data Classification and Encryption Policy |
| Incident response | Incident Response Plan |
| Vulnerability and patch management | Vulnerability and Patch Management Procedure |
| Personal data protection, data subject requests and retention | Personal Data Protection Policy |
In summary:
Breaking this policy may lead to access being removed and disciplinary action. Any exception must be approved in writing by the Security Owner, with an expiry date and compensating controls, and is recorded in the security log.
The Security Owner reviews this policy and every supporting standard at least once a year, and after any significant incident or change to our infrastructure.
The Security Owner reviews network and firewall settings, including database network access rules, every quarter and after any infrastructure change, and records the review in the security log.
This standard applies to every laptop or desktop used to access Swapt systems, source code or data ("endpoints"). Swapt personnel work on company Apple Mac computers running a supported version of macOS. Coverage is 100% of these endpoints. A device that doesn't meet this standard may not be used to access Swapt systems.
Every endpoint runs Apple's built-in, always-on malware protection, which cannot be turned off by ordinary use:
Gatekeeper and System Integrity Protection must stay enabled. Users must not override malware warnings.
A lost or stolen device must be reported to the Security Owner immediately. The device is remotely locked or wiped through Find My, the user's account sessions and tokens are revoked, and the event is handled under the Incident Response Plan.
MFA is required and enforced on every company account that can reach systems or data:
| System | MFA |
|---|---|
| Google Workspace (email and documents) | Required |
| GitHub (source code) | Required |
| Google Cloud (application and database) | Required |
| Amazon Web Services | Required |
| Cloudflare | Required |
| Temporal and other administrative consoles | Required |
Approved methods are authenticator apps, security keys and passkeys. SMS is used only where nothing else is available.
| Role | Who | Access |
|---|---|---|
| Security Owner / Administrator | Andrew Smith | Administrative access to cloud consoles, production configuration and the database; approves all access |
| Engineer | Named engineering staff | Source code; production deploys through the approved pipeline; production data only when needed to investigate an incident or support request |
| Support / Operations | Named staff | The Swapt admin interface for assigned seller accounts; no direct database or infrastructure access |
| Contractors | As approved | Time-limited, scoped to the specific task, removed when the task ends |
The Security Owner keeps a register of who holds production, database and cloud console access.
Administrative actions in Google Cloud, AWS, Cloudflare and GitHub are recorded in those providers' audit logs. Super-admin sign-ins to seller accounts are flagged in the application.
| Class | Examples | Handling |
|---|---|---|
| Restricted | Partner API credentials (TikTok Shop, Shopify, Amazon tokens), application secrets, password hashes, data received from partner APIs | Encrypted at rest, plus application-level encryption for credentials, so they stay encrypted wherever they are stored or sent internally; access limited to the application and the Security Owner; never logged or exported |
| Confidential | Personal data of buyers who opt in (name, email, phone if provided), seller account data, order references | TLS between users and Swapt; encrypted at rest; access limited to the owning seller and authorized staff; processed only to provide the service |
| Internal | Business documents, source code, configuration without secrets | Company accounts with MFA; not shared outside Swapt without approval |
| Public | Marketing website and published documentation | No restriction |
Data from TikTok Shop is classified Restricted and used only to provide the service to the seller who authorized it. Swapt reads product, SKU and order-status data, and does not read buyer names, addresses or contact details from TikTok Shop.
This plan covers any event that threatens the confidentiality, integrity or availability of Swapt systems or data. Examples include unauthorized access, leaked credentials or tokens, malware, lost devices, data exposure, and service attacks or outages.
| Role | Person | Responsibilities |
|---|---|---|
| Incident Commander | Andrew Smith | Leads the response; decides severity, containment and escalation; owns all external communication |
| Technical responders | Engineering staff | Investigate, contain, fix and recover; keep evidence |
| All personnel | Everyone | Report suspected incidents right away; never investigate or delete evidence on their own |
If the Incident Commander can't be reached, the most senior available engineer takes the role until handover.
| Severity | Definition | Response target |
|---|---|---|
| Critical | Confirmed or likely exposure of Restricted or Confidential data (including TikTok Shop data), compromised production credentials, or a full outage | Respond immediately, within 1 hour |
| High | Suspected unauthorized access, a vulnerability being actively exploited, or a major feature unavailable | Within 4 hours |
| Medium | A contained security event with no evidence of data exposure | Within 1 business day |
| Low | Policy deviation or minor issue | Within 5 business days |
Every incident is recorded in the incident log with its timeline, severity, actions taken, the notifications sent and their timestamps, and the review. Records are kept for at least 3 years.
The plan is reviewed every year, and a tabletop exercise (for example, a leaked TikTok Shop token) is run at least once a year. The plan is updated with what we learn.
This procedure covers the Swapt application code, its third-party dependencies (npm packages), container base images, cloud configuration and company endpoints.
| Source | How it is used |
|---|---|
pnpm audit | Checks every dependency against the npm advisory database; run before each release and in the monthly maintenance pass |
| Code review | Every change is reviewed in a pull request before release, including automated review that checks for security issues such as injection, missing authorization checks and secrets in code |
| Provider advisories | Security bulletins from Google Cloud, AWS, Cloudflare, Node.js and AdonisJS are followed |
| Monitoring | Unusual errors and failures in Sentry and the platform logs are investigated as possible exploitation |
| External reports | Researchers, partners and customers can report issues to andrew@swaptqr.com |
Each finding is logged and rated using its CVSS score, adjusted for how it affects Swapt: whether the vulnerable code is reachable, whether it is exposed to the internet, and what data is at risk.
| Rating | Typical CVSS | Fix target |
|---|---|---|
| Critical | 9.0 to 10.0, or actively exploited | 7 days, or immediate mitigation |
| High | 7.0 to 8.9 | 14 days |
| Medium | 4.0 to 6.9 | 30 days |
| Low | Below 4.0 | 90 days, or the next scheduled update |
In October 2026 we tightened authorization on unauthenticated endpoints, made sign-in answers identical for unknown accounts, made webhook signature checks mandatory in every environment, stopped partner API keys from appearing in logs, and moved super-admin sign-in to Google accounts with 2-Step Verification.
This policy describes how Swapt collects, uses, shares, keeps and deletes personal data, including any data obtained through TikTok Shop APIs.
For sellers who use Swapt, Swapt acts as a service provider (processor). We process buyers' personal data only on the seller's instructions and to provide the Swapt service.
We share personal data only with the infrastructure providers needed to run the service (Google Cloud, Cloudflare, AWS, Temporal and Sentry), under their data processing terms, and with integrations a seller connects on purpose (for example their own Klaviyo account). We disclose data to authorities only where the law requires it.
Personal data is protected under the Information Security Policy: TLS for all traffic to and from Swapt, encryption at rest, least-privilege access with MFA, separation between sellers, and monitoring.
We help sellers and TikTok Shop respond to buyers' requests to access, correct or delete their personal data. We act on a request within 30 days, or sooner if the seller or the law requires it. Requests can be sent to andrew@swaptqr.com.
Suspected breaches are handled under the Incident Response Plan. Affected sellers and TikTok Shop are notified without undue delay, and within 72 hours of confirming a breach that involves their data.
Everyone with access to personal data is briefed on this policy when they join and once a year. The policy is reviewed at least once a year.
Security contact: andrew@swaptqr.com