Security
How Kitiquette handles your HubSpot data: what it reads, what it keeps (very little) and how it's protected.
The short version
- Your CRM data stays in HubSpot. Products, deals, carts and line items live in your HubSpot account. Kitiquette's server reads them to answer each request and doesn't keep a copy.
- Only HubSpot can call it. Every request from the Kitiquette cards is signed by HubSpot and checked before anything runs.
- Access tokens are encrypted. The token HubSpot issues for your account is stored with AES-256-GCM encryption.
- Leaving is clean. Uninstalling stops access at once and deletes your stored tokens.
How it works
Kitiquette is a HubSpot app. Its cards run inside HubSpot, on your deal and product records. When a card needs data, HubSpot sends a signed request to Kitiquette's server, which runs on Cloudflare Workers. The server calls HubSpot's API with your account's access token, does the work (loading the catalog, checking a build, adding line items) and returns the answer. Each request uses only your own account's token.
What Kitiquette stores
| Stored | Where | Why, and for how long |
|---|---|---|
| Your account's HubSpot access and refresh tokens | Cloudflare Workers KV, encrypted (AES-256-GCM) | To call HubSpot for you. Deleted when you uninstall, or when HubSpot reports the app is no longer installed. |
| Your HubSpot account ID and plan | Cloudflare Workers KV | To apply your subscription. |
| Who used Kitiquette this month, as one-way hashes of HubSpot user IDs | Cloudflare Workers KV | To count reps for your plan. No names or emails. Each month's list expires after about 70 days. |
| Error reports | Cloudflare's logs | To fix problems: the request path, your account ID and the error message. Kept 3 days. |
Kitiquette doesn't store products, prices, deals, contacts, companies or line items. A cart in progress, the builds added and any discount approval requests are saved on the deal itself, in HubSpot properties, and the approvers you name are kept in a hidden HubSpot property, so they stay in your account. Approval emails are sent through Cloudflare's email service from notifications@kitiquette.com; we don't keep copies.
Permissions it asks for
HubSpot shows these when you install. Kitiquette doesn't read contacts, companies, emails, tickets or files.
| Permission | Used to |
|---|---|
| Products (e-commerce) | Read your products and set up the CPQ product properties. |
| Deals: read and write | Read the deal you're configuring, save the cart on it and update its amount. |
| Deal properties: read and write | Create the deal property that holds a saved cart. |
| Line items: read and write | Create the line items for a build and link them to the deal. |
| Owners and users: read | Check that a rep may change a deal (its owner or the owner's team) and that settings are changed by a super admin. |
| Currencies: read | Show prices in the deal's currency. |
Protections in place
- Signed requests. Each request must carry a valid HubSpot signature (HMAC-SHA256) made in the last 5 minutes; anything else is refused.
- Encryption. Traffic uses HTTPS (TLS) end to end. Stored tokens are encrypted with AES-256-GCM.
- Permission checks on the server. Who may add to a deal, the maximum discount and super-admin-only settings are checked again on the server, not only in the card.
- Least privilege. Only the permissions listed above; no access to contacts, conversations or files.
- Two-factor sign-in. Required on every account that runs Kitiquette: HubSpot, Cloudflare, GitHub and our email.
- Hosting. Cloudflare Workers runs the server and HubSpot hosts your data; both publish their own security and compliance reports.
Where data is processed
Cloudflare runs Kitiquette's server in its global network, so a request is handled at the Cloudflare location nearest the person using it. Your CRM data stays wherever your HubSpot account is hosted. Service providers: Cloudflare (hosting the App's server), HubSpot (this website), Google (our email) and Stripe (billing). Our Privacy policy and Data Processing Agreement have the details.
Uninstalling
A super admin can uninstall from Kitiquette's settings page or from HubSpot's Connected apps. Access stops at once and the stored tokens are deleted. Your products, the CPQ properties and every line item stay in HubSpot.
Certifications
Kitiquette doesn't hold SOC 2 or ISO 27001 certification. If your security team has a questionnaire, send it to us and we'll answer it.
Report a security issue
Email support@kitiquette.com with "Security" in the subject. We aim to reply within two business days. Please give us a chance to fix an issue before making it public.
Last updated 25 October 2026.