Privacy Policy
Last updated November 4, 2026
Data handling in plain words
Who can open a file depends on where it is. Demo files and normal parts can be opened by our support team; ITAR vault parts can't be opened by anyone at QuotedPart.
- Where it is stored
- Encrypted at rest on AWS in the US, by our database provider Convex (us-east-1).
- Who can open the files
- Your team, and our small support team only to run, support, secure or improve QuotedPart, for example to look into a problem you report (Terms §10). A buyer sees only the quote page you send.
- AI
- Anthropic's Claude reads drawings and RFQ emails; neither Anthropic nor we train AI on them. The text it read is kept in our analytics (PostHog, EU) to check accuracy; the files never go there.
- Readable without a passphrase
- Everything, to the people above. There is no passphrase.
- Session replay
- Our analytics (PostHog, EU) records sessions on the site and in the app, with passwords masked; replays are kept up to 90 days.
- How long it is kept
- An unused demo shop may be deleted after 30 days, or now if you email us. A shop's data stays while the shop exists and is deleted within 30 days of the owner's request.
- Where it is stored
- Encrypted with AES-256-GCM in your browser before upload. The same US backend stores only that ciphertext.
- Who can open the files
- Only your team, with the vault passphrase. QuotedPart never receives the passphrase, the recovery key or the unwrapped key, so nobody at QuotedPart can open vault parts.
- AI
- Our AI provider never receives vault parts. Optional: Claude on Amazon Bedrock in your own AWS GovCloud (US) account, sent straight from your browser; we never see those drawings or what it read.
- Readable without a passphrase
- Part name and number, quantities, prices, lead times, the quote's status and the customer, because quotes and orders need them.
- Session replay
- Off on the devices of a shop with the vault on, with autocapture and automatic screenshots; its AI logs keep no request or answer text.
- How long it is kept
- The same as normal parts. If both the passphrase and the recovery key are lost, nobody can open the vault parts.
Export-controlled data goes only in the vault (Terms §9). This is a summary; the Terms, Privacy Policy and DPA are the binding text. More: security and data handling, how the ITAR vault works.
This policy explains how Helios One Oy (business ID 3596623-5, Espoo, Finland, "we") handles personal information in connection with QuotedPart: our website quotedpart.com, the QuotedPart app, the RFQ and quote pages that shops share with their customers, and the QuotedPart MCP server that AI assistants use to price parts (see AI assistants and MCP).
Who is responsible
- We are the controller for account and team details, billing, support and feedback, security logs, and the analytics we collect on our website, in the app and on shops' RFQ and quote pages.
- For personal data a shop puts into QuotedPart about its customers and contacts (RFQs, quotes, orders, customer records), the shop is the controller and we process it on the shop's behalf under the Data Processing Addendum. If you are a shop's customer and want to access or delete that data, contact the shop. We will help it respond.
What we collect
- Account details: name, email address, password (stored only as a secure hash), role, and your shop's name, address, phone, website and logo.
- Billing details: Stripe collects your card, billing name, address and any tax ID. We store your Stripe customer ID and subscription status, and never receive full card numbers.
- Shop content: CAD models, drawings, RFQ emails and attachments forwarded to your shop's address, quotes, prices, customer names and contact details, orders and purchase order documents.
- From shops' customers: when you submit an RFQ or accept a quote on a shop's page, your company, name, email, message, files, PO number and PO file, and when you open a quote link.
- Communications: emails to support and feedback sent from the app, including any screenshot you attach.
- Technical data: IP address, browser and device details, request logs and error reports, used for security and troubleshooting.
- Ad clicks: when you arrive from one of our Google search ads, the ad's click ID and whether you later start a trial. See Cookies below.
- Usage data, session replay and surveys: we use PostHog (EU cloud) on our website, in the app and on shops' RFQ and quote pages to record page views, clicks, performance, errors and session replays, and to show short surveys in the app. Replays capture what is shown on screen, everything typed into forms, including on shops' RFQ and quote pages, the browser console, and the page's network requests and responses. Passwords are masked, and secret quote and invite links and keys are redacted. Card details are entered on Stripe's pages and are not recorded. When you are signed in, this data and your survey answers are linked to your account ID, name, email and shop.
- AI logs: the text we send to our AI provider and its answers, such as RFQ email text and what was read from a drawing, with passwords and keys redacted. They are stored in PostHog and linked to the user and shop. File contents (PDF or image data) are not logged.
How we use AI
QuotedPart uses Anthropic's Claude API to read: drawings when they are added to a part (including drawings from RFQ pages and forwarded emails), RFQ emails forwarded to a shop's address and RFQ text pasted into the app, and quote PDFs and answers given during pricing setup. Our AI provider never receives ITAR vault parts. Anthropic processes this data as our service provider, does not use it to train its models, and keeps it only for a limited period under its commercial terms. We don't use your content to train AI models either. We review AI logs to measure and improve accuracy. AI output is a suggestion that the shop reviews; we don't make automated decisions about people.
AI assistants and MCP
You can price parts from an AI assistant such as ChatGPT, Claude, Codex or another MCP client through the QuotedPart MCP server (quotedpart.com/mcp), directly or with the QuotedPart plugin. This requires an existing QuotedPart account: the assistant sends you to quotedpart.com to sign in, and you allow the assistant on a consent screen. It then prices parts in your shop, as you, at your shop's own rates.
- Linking: when you allow an assistant, we give it an access token for your shop, valid for one hour, and a refresh token it uses to renew it. The link ends after 30 days without use. We store only hashes of these tokens, together with the link: the name the assistant registered with us, your account and shop, and when it was linked and last renewed. The tokens also stop working if you leave the shop or your role there can no longer create quotes.
- What the assistant learns about you: an identifier for your QuotedPart account that never changes and means nothing outside QuotedPart. If it asks for your email address (ChatGPT does), the consent screen says so, and the assistant then receives your account's email address and whether it is verified. ChatGPT uses its domain so that a company's ChatGPT Enterprise workspace can control which workspaces link accounts with the company's email addresses. Assistants don't get your name, password, or anything about the other people in your shop.
- What the server receives: the files the assistant sends for pricing (STEP, IGES, DXF or PDF, up to 40 MB each), sent inline, uploaded through a one-time upload link, or as a link that our server downloads (public internet addresses only), and the choices in each tool call, such as material, process and quantities. These are processed to price the part.
- What it doesn't receive: your account or identity at the assistant provider, or your conversation with the assistant. It receives only what the assistant puts into a tool call.
- What is stored: each estimate is saved as a quote in your shop, with its parts, the files and what was measured or read from them, like a quote made in the app. These quotes are shop content: you can change or delete them in the app, and they are kept and deleted with the rest of your shop's data (see How long we keep it). The quote link the assistant gets (quotedpart.com/assistant/quotes/…) opens the quote only for people signed in to your shop.
- A file uploaded through create_upload is held temporarily in Netlify Blobs. That temporary copy is deleted when estimate_price reads it, before pricing. An upload that is never used is deleted within about 40 minutes of being created. Files sent as a link or inline don't go through this temporary storage.
- PDF drawings are read with Anthropic's Claude API as described above, and these reads are part of the AI logs, linked to you and your shop.
- The assistant provider (for example OpenAI or Anthropic) receives the tool results, such as prices, the cost breakdown, your shop's materials and markup when the assistant asks for them, and the quote link, and handles them and your conversation under its own terms and privacy policy.
- Your IP address is used only in the server's memory, for two rate limits: on file uploads, and on registering new assistant apps for sign-in (estimates are limited per account). The MCP server never writes it to storage or logs. Netlify, our host, also applies its own per-address request limit and processes your IP address as it does for all traffic to our website.
- You can unlink an assistant at any time in QuotedPart under Integrations, AI assistants. Its tokens stop working at once, and the quotes it made stay in your shop. Removing QuotedPart in the assistant ends the link too if the assistant revokes its token with us; otherwise the link ends after 30 days without use.
Connected Gmail and Outlook inboxes
A shop member can connect the Gmail or Outlook inbox their RFQs arrive in (Settings › RFQ intake). QuotedPart then finds the RFQs in it and makes them into quotes, with no forwarding rule. Each person connects their own inbox. This is separate from signing in with Google or Microsoft.
- What we access: read-only access to that one mailbox, through Google's gmail.readonly permission or Microsoft Graph's Mail.Read permission, plus the sign-in permissions that tell us its address and keep the connection (openid and email; for Microsoft also User.Read and offline_access). These permissions cover the whole mailbox, since neither Google nor Microsoft offers an inbox-only one. QuotedPart reads only the inbox folder: the last 3 days when you connect, then new mail about every 2 minutes. If Google or Microsoft can no longer tell us where we left off, we read the last 3 days again, as on connecting; nothing already decided comes in again. Mail sent from the connected address itself is skipped.
- How we pick out RFQs: our server reads each new message to decide. A message is looked at more closely only if it has a drawing, model or archive attached (PDF, STEP, IGES, DXF, DWG, Parasolid, SOLIDWORKS, STL or ZIP) or words like "RFQ" or "quote". For those, the attachments are downloaded into our server's memory and checked for ITAR, EAR and CUI export-control markings, along with the subject, text and file names. Then Anthropic's Claude, as our service provider, answers one question: is this a request for a price on parts to be made? It receives the sender, subject, date, text and attachment names, not the files. Anthropic doesn't use it to train its models, and the text of this check is not kept in our AI logs (only its size, cost and outcome). Mail with export-control markings never goes to the AI: it counts as an RFQ when it has a drawing and RFQ words. When the AI can't answer, the same rule decides.
- What we keep: only mail that is an RFQ becomes a quote. Its email and attachments are stored in your shop and read by AI exactly like an RFQ forwarded to your shop's address (see How we use AI; this read is part of the AI logs). Marked mail is handled as forwarded mail is: sealed in the shop's ITAR vault if it has one, otherwise we keep only a note of who sent it, when, its subject, the markings and the file names, never its text or files. An RFQ that must be sealed while the shop's vault hasn't been unlocked yet is held, not stored: we keep its record (below) and read it again by its ID once the vault is unlocked, without asking the AI again.
- The same RFQ can arrive twice, forwarded to your shop's address and found in your inbox. To make one quote of it, we keep with each emailed RFQ's quote its message ID and, for mail with a drawing, model or archive that was found in your inbox or forwarded to your shop's address naming its original sender (never sealed or export-marked mail, nor files you drop in), a one-way fingerprint (a SHA-256 hash of its subject, its files, the inbox's address and the buyer's address). A fingerprint matches another copy only within 4 days.
- For every other message we keep only a decision record: the message's ID in your mailbox, the decision (an RFQ, not an RFQ, removed with "Not an RFQ", or held for the vault), when, and sometimes a short reason such as "sent by you". Never its text or attachments. When a message looked like an RFQ but wasn't taken as one (the AI said no, or, when the AI wasn't asked or couldn't answer, it lacked a drawing plus RFQ words), the record also keeps its sender and subject, so RFQ intake can list what was skipped and you can bring one in with "This was an RFQ".
- "Not an RFQ" on a quote from your inbox deletes the quote, that email's files, its bell notifications and the message IDs and fingerprint kept with the quote, and the message's record says so. A file also used elsewhere in your shop (on another quote, or as its logo or Excel template) stays. So that it doesn't come back, also after you disconnect and connect again, your shop keeps the message IDs of that email, of any copy of it and of any email added to that quote (the IDs only). Other traces stay: a line in your shop's activity log with the quote's title, the AI log of the quote's read (see How we use AI) and, if your shop has a webhook, the rfq.received event we sent to it, kept in its delivery log. Emails already sent about it, such as a new-RFQ email, aren't recalled.
- QuotedPart never sends, deletes, moves or marks your mail. It asks only for read-only permissions, so it can't.
- When Google or Microsoft turns a connect down, we keep the outcome for the person who tried (for example, that a Microsoft 365 admin has to approve it) and when, so RFQ intake can show the admin approval link again after a reload; never their message. It is replaced by the next try and deleted when that person connects an inbox.
- To show the right Connect button first, we look up where your email domain's mail is hosted: its public mail (MX) record, through Google's or Cloudflare's public DNS service, and Microsoft's public sign-in lookup. Only the domain is sent and kept, never your address.
- The access and refresh tokens Google or Microsoft give us are encrypted (AES-256-GCM) before they are stored, are used only to call Google or Microsoft, and are never sent to your browser.
- Disconnecting: in Settings › RFQ intake, by the person who connected the inbox or a shop owner. We stop reading it at once, also in the middle of a check, and delete its tokens and its decision records; quotes already made stay in your shop. Kept for the shop: the message IDs of RFQs marked "Not an RFQ" (above), a record that this inbox (its address) was disconnected and when, so connecting it again counts as a reconnect, and the activity-log lines saying when it was connected and disconnected. For Gmail we also revoke Google's grant, so QuotedPart leaves your Google Account. Microsoft has no way for an app to do that itself: remove QuotedPart at myapps.microsoft.com (work or school account) or account.live.com/consent/Manage (Outlook.com, Hotmail, Live). If you remove QuotedPart on Google's or Microsoft's side first, we stop when our access is next renewed (within about an hour), delete the tokens and tell the person who connected it and the shop's owners.
- Inbox mail that became a quote is shop content: it is stored with the rest of your shop's data in the United States and deleted with it (see How long we keep it). Deleting the shop also deletes its connected inboxes, their tokens and decision records, the message IDs and fingerprints, the kept "Not an RFQ" message IDs, the disconnect records, the turned-down connects, its bell notifications and its webhook's delivery log. Our product analytics events record connects, connects that didn't go through, an inbox's reading starting over and each quote an inbox made, never the mail's content; session replays show what is on your screen, as described above.
- QuotedPart's use and transfer of information received from Google APIs to any other app will adhere to the Google API Services User Data Policy, including the Limited Use requirements.
Why we use it
For people in the EU, EEA and UK, the legal basis is shown in brackets.
- To provide QuotedPart, including sign-in, billing and support (contract).
- To process shop content on the shop's instructions (as processor under the DPA).
- To keep the service secure and prevent abuse (legitimate interests).
- To understand how QuotedPart is used, fix problems and improve accuracy, using analytics, session replay and AI logs (legitimate interests). You can object.
- To measure which of our search ads lead to trial sign-ups (legitimate interests; in the EEA, UK and Switzerland only with your consent to ad storage).
- To send service emails such as password resets, invites, trial reminders and billing notices (contract).
- To meet accounting, tax and other legal obligations (legal obligation).
We don't sell personal information and don't show ads in QuotedPart. We advertise on Google Search and measure which ads lead to sign-ups, as described under Cookies. If we send product news, every message lets you unsubscribe.
Who we share it with
- Service providers listed below, under contracts that limit their use of the data to providing their service to us.
- Services a shop chooses to connect, such as QuickBooks Online, Fulcrum and ProShop, at the shop's direction, and AI assistants you link to your account (see AI assistants and MCP).
- A shop's customers, who see the quotes and messages the shop sends them.
- Professional advisers, authorities when the law requires, and a successor in a merger or acquisition, who must keep protecting the data as this policy says.
Providers that process shop content and other personal data for us:
| Provider | Purpose | Location |
|---|---|---|
| Convex, Inc. | Database, file storage and backend functions, on Amazon Web Services | United States (AWS us-east-1) |
| Netlify, Inc. | Hosting and delivery of the website and web app; the MCP server for AI assistants (Netlify Functions) and its temporary file uploads (Netlify Blobs) | United States, global CDN (MCP server: AWS us-east-2) |
| Anthropic, PBC | Claude API: reading drawings, RFQ emails and quote PDFs | United States |
| Plus Five Five, Inc. (Resend) | Sending email (quotes, invites, notices) and receiving RFQ emails forwarded to shops | United States |
| PostHog, Inc. | Product analytics, session replay, error reports and AI request logs (EU cloud) | European Union (Frankfurt) |
| Google (Google Workspace) | Our email, for support requests and feedback notices | European Union and United States |
| Slack Technologies | Internal notifications of feedback sent from the app | United States |
Providers for our own billing and ad measurement:
| Provider | Purpose | Location |
|---|---|---|
| Stripe (Stripe Payments Europe, Ltd. and affiliates) | QuotedPart subscription billing and card payments | Ireland and United States |
| Google LLC (Google Ads) | Measuring which of our search ads lead to trial sign-ups (conversion measurement, including enhanced conversions with a hashed sign-up email) | United States |
Cookies and similar technologies
The app stores your sign-in session in your browser; it is needed for the app to work. PostHog stores an identifier in a cookie and local storage to recognize repeat visits for analytics. You can block or clear them in your browser; blocking analytics doesn't affect how QuotedPart works.
Google Ads (as of September 26, 2026): when you arrive from one of our Google search ads, Google's tag (gtag.js) can store the ad's click ID in a first-party advertising cookie (_gcl_aw, Google's conversion linker), so that a trial sign-up afterwards is counted for that ad. We use it only to measure which ads lead to trial sign-ups, not to build profiles or show you ads. For visitors in the EEA, UK and Switzerland, Google Consent Mode keeps ad storage denied, so this cookie is not set there without consent. We also use Google Ads enhanced conversions: when you start a trial, your sign-up email is hashed (SHA-256) in your browser and the hash is shared with Google LLC, only with that trial sign-up and only outside the EEA, UK and Switzerland, so Google can attribute the sign-up to the ad you clicked. Google acts as our processor for this under the Google Ads Data Processing Terms. Otherwise Google processes this data under its own terms as described at policies.google.com/technologies/ads.
International transfers
We are based in Finland. The QuotedPart database and files are hosted in the United States (Convex on AWS us-east-1), and several providers are in the United States. Analytics data is stored in the EU. For personal data transferred from the EU, EEA, UK or Switzerland to the United States, we rely on the provider's certification under the EU-US Data Privacy Framework (and its UK and Swiss extensions) where available, and otherwise on the European Commission's Standard Contractual Clauses.
How long we keep it
- Shop content and account data: while the shop exists. After a trial or subscription ends, the shop stays read-only so you can export your data or subscribe again. Quotes made through an AI assistant are shop content.
- We delete a shop and its data within 30 days of the owner's deletion request. We may also delete a shop that has been read-only for more than 12 months, after emailing the owner at least 30 days in advance. Guest demo shops may be deleted after 30 days without use. Quotes priced through an AI assistant before sign-in was required, and never moved into an account, are kept until you ask us to delete them: email support@quotedpart.com with the quote link or quote ID.
- Links to AI assistants: until you unlink the assistant or it goes 30 days without use. We then delete the link and its token hashes.
- Deleting a quote or part removes it from the app. Its files are kept with the shop, because copied quotes share them, and are deleted with the shop.
- Session replays: up to 90 days. Other analytics events and AI logs: as long as they are useful for improving QuotedPart. When we delete a shop, we also delete the analytics data linked to it and its users.
- Billing and accounting records: as long as Finnish accounting law requires, generally 6 to 10 years.
- Support emails and feedback: as long as needed to handle them and improve the product.
- Deleted data can remain in our providers' backups for a limited period until it is overwritten.
Your rights
- You can ask us to access, correct, export or delete your personal information. Much of this is available in Account settings; otherwise email support@quotedpart.com. We answer within one month.
- In the EU, EEA and UK you can also restrict or object to processing, including analytics based on legitimate interests, and complain to the Finnish Data Protection Ombudsman (tietosuoja.fi) or your local data protection authority.
- US residents have the rights their state law provides, such as the rights to know, access, correct and delete personal information. We don't sell or share personal information for targeted advertising, so there is nothing to opt out of. You can use an authorized agent, and we may need to verify your identity. If we decline a request, you can appeal by replying to our decision. We don't discriminate against anyone for using these rights.
- If your data is in a shop's content (for example an RFQ you sent a shop), contact that shop first.
Security
Data is encrypted in transit and at rest by our hosting providers. Each shop's data is kept separate by access checks on every request, passwords are stored as secure hashes, quote and invite links use long random tokens, and staff access is limited to what is needed to run the service. The files and technical data of ITAR vault parts are encrypted in the shop's browser before upload, and we hold only that ciphertext. If a breach affects your personal information, we will tell you without undue delay.
Children
QuotedPart is a business service and is not meant for anyone under 16. We don't knowingly collect their personal information.
Changes
We will post any update here with a new date, and email shop owners about material changes.
Contact
Helios One Oy, business ID 3596623-5, Espoo, Finland. support@quotedpart.com.