How we protect your data
Draft for review. Not in effect yet: these terms are being checked and will be published here.
Last updated: October 23, 2026
What most customers ask about is their customer list. This page explains what we do with it and how we protect it, in plain terms. It describes what's true today. We'll update it as things change.
Your customer list
- When you upload a spreadsheet, we read only three columns: customer name, status and account number. Contact names, phones, emails and everything else in the file are never read into TradeGuild.
- Rows that look like a person instead of a business are skipped. They are never stored.
- We don't keep the file. Only the matched business names are saved to your account.
- Your list is used only to build your own weekly list. It is never shown to another customer or used for one, and we never sell or share it.
- Every time the app reads or saves data, it uses the account of the person signed in. It never takes an account number from the request. Our automated tests check that one account can't see or change another account's data.
Signing in
- There are no passwords to steal or reuse. You sign in with a one-time link or a 6-digit code that we email you.
- A link works once, for 30 minutes. A code works once, for 15 minutes, with 5 tries, and only in the browser that asked for it.
- We store links and codes only in scrambled form. A copy of our database wouldn't let anyone sign in.
- We limit how many sign-in emails can be sent for each email address, network and device. That stops guessing and email floods.
- You stay signed in on your devices for up to a year. "Sign out everywhere," on the Account page, ends every session at once.
- Every form in the app is protected against cross-site request forgery.
Payments
Card details go straight to Stripe's own payment pages. They never pass through our server or get stored there. When Stripe sends us a message, we check its signature before we act on it.
Between you and us
- Everything is served over HTTPS, with certificates from Let's Encrypt. Browsers are told to always use HTTPS for our sites.
- The app's pages tell your browser to load scripts, styles and fonts only from us. The only outside content is the map images from OpenStreetMap.
- Other sites can't embed our pages.
The server
- TradeGuild runs on one server at Oracle Cloud, in Chicago.
- The app runs as its own restricted user. It has no administrator rights, and it can't change anything except its own database folder. The database file can be read only by the app and by an administrator.
- Only web traffic (ports 80 and 443) and SSH (port 22) can reach the server from the internet. SSH accepts keys only, never passwords, and nobody can log in directly as root.
- Security updates install every day, and the system's core (the kernel) gets security patches without a restart.
- Keys and other secrets are kept in files that only an administrator can read. They are never in our code.
Backups and monitoring
- The database is backed up every night. Each backup is checked for damage and kept for 14 days. Only the administrator account can read the backups.
- Every Monday, we restore the latest backup in a separate place and check that every record reads back correctly.
- The server checks itself every 2 minutes, and a separate service outside it checks every 30 minutes. Problems are emailed to us right away.
Logs
The app doesn't keep a log of requests. Our web server keeps a request log for 14 days, with the IP address, the page and the browser type. Sign-in links are removed from it. Our logs never contain sign-in codes, sign-in links or payment keys.
Before anything leaves
Every page and email passes an automated check before it goes out. The check blocks anything that would show a person's name or a non-business phone number from the public records, or from a person's name that was in your spreadsheet.
Who can get to your data
TradeGuild is a small operation. Two operators can reach the server and its database: Khaled Messai, who owns TradeGuild, and the AI assistant built on Anthropic's Claude that helps him run it. Both connect only with SSH keys. We look at account data only to run the service, fix problems or answer your requests.
What we don't have yet
To be straight about it:
- No outside security audit or certification, such as SOC 2.
- No second sign-in factor beyond your email.
- Our nightly backups are stored on the same server. They are copied somewhere else only by hand, to the owner's computer. Automatic copies to separate storage are next on our list.
- We run on one server. If it fails, the service is down while we restore it.
If something goes wrong
If we learn that someone got into customer data, we'll email the affected customers promptly. We'll tell them what happened and what we're doing about it, and we'll meet any legal deadline for notice.
Reporting a security problem
If you find a security issue, email info@tradeguild.io. Please give us a chance to fix it before you tell anyone else. While testing, please don't access other people's data or disrupt the service. We'll reply.