Privacy Policy
Last updated: May 25, 2026
The short version
Your resume is processed in memory on our servers and never written to a database. The only things we keep (optionally, with your consent) are your email address and a temporary copy of your generated ZIP file so we can email it to you. We never sell your data.
What we collect and why
Resume content
When you upload a resume, we extract its text server-side to generate your portfolio. The raw file and extracted text exist only for the duration of that single request and are discarded immediately afterwards. We do not log, index, or store resume content.
Generated portfolio ZIP
After generation we upload your ZIP to Vercel Blob (a cloud storage service) so we can email you a persistent download link. The file is stored at a private, random URL. We do not automatically delete it on a schedule, but it contains only the data already in your resume and is not linked to any personal identifier other than the URL itself.
Email address
If you choose to enter your email in the post-generation prompt, we store it in Resend (our email service provider) and use it to send you the portfolio download link and a brief deploy guide. You can unsubscribe from any future emails at any time using the link in any email we send.
Analytics
We use Vercel Analytics to collect anonymous, aggregate pageview and Web Vitals data. No cookies are set. No personal information is collected. Data is used solely to understand which pages people visit and how the site performs.
AI processing — Anthropic Claude
Portly uses the Claude API, provided by Anthropic, PBC, to process your resume. We make three API calls and are deliberate about what is sent in each:
- Step 1 — Extraction: Your full resume text is sent to Claude to parse it into structured data (name, experience, skills, projects, etc.). This is the only step where raw resume content — including contact details — is transmitted.
- Step 2 — AI Polish (optional): If you enable this feature, your experience bullets and summary are sent for rewriting. Contact details (email, phone, location) are stripped before this call and never sent — only your professional content (job titles, bullet points, project descriptions) is transmitted.
- Step 3 — SEO metadata: Only your name, job title, top skills, and summary are sent to generate a page title and description. No contact details are included.
Anthropic does not use API inputs to train their models by default. Their data handling is governed by the Anthropic Privacy Policy. By using Portly, you agree to Anthropic's terms as they apply to API usage.
Third-party services
Data retention
- Resume text: Not retained. Discarded after each request.
- Generated ZIP: Stored in Vercel Blob until manually deleted. No automatic expiry.
- Email addresses: Retained in Resend until you unsubscribe or request deletion.
- Analytics: Aggregate, anonymous. Retained by Vercel per their policy.
- Rate limit counters: Stored in Upstash Redis. Expire after 1 hour.
Your rights
You can request deletion of your email address or any stored portfolio ZIP at any time by emailing hello@useportly.dev. We will action requests within 30 days.
Changes to this policy
We may update this policy as the product evolves. Material changes will be noted at the top of this page with a revised date.
Contact
Questions? Email hello@useportly.dev.