Skip to main content

Sub-processors

Last updated: May 2, 2026

JobMason uses the third-party sub-processors below to deliver the Service. Each is bound by a written data-processing agreement and processes personal data on our instructions only. We will update this page and notify subscribed customers before adding a new sub-processor that processes personal data. For more on how data flows between us and these providers, see our Privacy Policy.

ProviderPurposeRegionData processed
Vercel AI GatewayRoutes AI generation and extraction requests to the model providers belowUnited StatesCandidate profile fields, job descriptions, and generation prompts/outputs in transit to the selected model provider
Google (Gemini)Primary AI model for resumes, cover letters, emails, Q&A answers, and profile/job structuringUnited States (Google Cloud)Candidate profile fields and job descriptions you submit for generation or extraction
OpenAIContent moderation on user-submitted text; fallback AI generation when the primary model is unavailableUnited StatesModeration: text snippets you submit. Generation fallback (via Vercel AI Gateway): candidate profile fields and job descriptions. Not used for foundation-model training under the OpenAI API data-use policy.
Xiaomi (MiMo)Fallback AI generation when primary and secondary models are unavailableChina (via Vercel AI Gateway routing)Candidate profile fields and job descriptions submitted for generation
ApifyLinkedIn job-posting scraping when you submit a LinkedIn job URLEuropean Union (Czech Republic)LinkedIn job URL; returned job title, company, and description from the public listing
ExaFetches public page text when you import a profile from a LinkedIn profile URLUnited StatesLinkedIn profile URL; public page text retrieved from that URL (professional history visible on the page)
FirecrawlServer-side scraping of public job-posting URLs you submit (non-LinkedIn listings)United StatesJob-posting URL and public page content retrieved from that URL (job titles, descriptions). LinkedIn job URLs are handled by Apify instead. No candidate profile data is sent directly.
PostHogProduct analytics, funnel events, and error/exception trackingUnited StatesUsage events, pseudonymous user identifier, email and name on sign-in, IP address, device/browser metadata, and exception payloads
PolarSubscription billing, payment processing, and customer-portal functionalityUnited StatesEmail, billing/payment metadata, customer + subscription identifiers
ResendTransactional email (verification, password reset, system notifications)United StatesRecipient email address, message contents, delivery metadata
NeonManaged PostgreSQL database (primary data store)United States, EU on requestAll primary application data - user, profile, Mason Pack, generation, resume rows
Cloudflare R2Object storage (profile photos and document assets)Global edgeProfile photos and other private uploaded assets
VercelApplication hosting, edge delivery, request logs, observabilityUnited States (functions); global CDNRequest metadata, IP address, user-agent, runtime logs
Better Auth (self-hosted)Authentication library running on our infrastructureSame region as our applicationNo external data flow - runs in-process within our app
Google (OAuth)Optional OAuth sign-inGlobalStandard OAuth handshake + the profile fields you authorize during sign-in
UpstashRedis (rate-limiting, ephemeral storage)United States, EUHashed user / IP identifiers used as rate-limit keys; no message contents

Notification & objection: subscribed customers will receive at least 30 days' notice before we engage a new sub-processor that processes personal data. If you have a reasonable basis to object, contact contact@vantaso.org and we'll work with you to address it before the new sub-processor goes live.