Privacy statement
Last updated 7 October 2026.
Who runs Pinloop
Andrew Allen builds and runs Pinloop. Send questions about this page to andrew@pinloop.ai. Send requests about your own information to the same address.
What Pinloop stores about you
- Your account. Pinloop stores your email address and the date you created the account. You sign in with Google, with GitHub, or with a 6-digit code sent to your email address, and the first time you sign in your account is created. Pinloop gives you no way to set a password. The only accounts that have a password are demonstration accounts that Pinloop creates itself for companies reviewing the product. If you sign in with a code, Pinloop asks Resend to send that email to you. Resend keeps a record of the emails it sends, which includes your email address and the message itself. If you sign in with Google or with GitHub instead, Pinloop receives your name, your email address, and your profile picture, and nothing else.
- Your time zone. When you open Pinloop, your browser tells Pinloop your time zone, and Pinloop stores it so that a schedule you set, such as applying every weekday at 3 p.m., runs at that time where you are. You can change it in the chat.
- Your schedules. If you ask Pinloop to apply to jobs on a schedule, Pinloop stores the schedule and a record of each run: when it ran, how many jobs it applied to, and the summary it sent you.
- Your profile documents. You write these yourself. They hold your background, your preferences, your constraints, your instructions for writing applications, and your instructions for judging postings. You can read them back, change them, or delete them at any time.
- Your sign-up answers. Pinloop stores your answers to the sign-up questions about your job search: your goal, when you want an offer by, how long you have been looking, about how many applications you have sent, what is slowing you down, and how many applications a week you want to send. Pinloop shows them back to you at the end of sign-up and uses the weekly number to suggest a plan. No AI model reads them.
- Your resume. If you upload a resume, Pinloop stores the PDF file. Pinloop also stores the text it read out of that file when you uploaded it.
- Tailored resumes. If resume tailoring is on, Pinloop stores the copy of your resume it rebuilds once to tailor from, as text and as a PDF file. For each application, it stores the tailored resume it uploaded, as a PDF file, and the list of what it changed. You can turn resume tailoring off in Settings.
- Your lists and your saved commands. Pinloop stores the named lists of job postings you build. Pinloop also stores the command sequences you save, the schedules that run them, and the standing searches that watch for new postings.
- Judgments. An AI model reads a posting against your profile and writes a verdict. Pinloop stores that verdict, the model’s written reasoning, the name of the model, what the call cost, and the time. For a rating, Pinloop also stores the model’s answer to each question it was asked. Pinloop stores verdicts you write yourself the same way, and marks them as yours.
- Your subscription. If you pay for Pinloop, Stripe takes the payment and Pinloop keeps a record of it. Pinloop stores the identifier Stripe uses for you as a customer, whether your subscription is live, and the dates of the month you have paid for. It also stores which of the three plans the subscription is on, its state (in trial, paid up, card declined or cancelled), when your free trial started, and the identifier Stripe uses for the subscription. Pinloop stores no card number and never sees one.
- How much you have used. Pinloop stores several counts for your account: how many postings have reached your account this month or this day, how many judged postings you have from Pinloop's AI, whether quickly or in full, how many searches by meaning you have run, and how many times you have pulled new postings or asked how many postings match a search. Pinloop reads these counts to decide when your account has used what it is allowed for that period.
-
Answers Pinloop wrote for you. When Pinloop writes an answer to a written
question on one of your applications, such as “Why do you want to work here?”,
it keeps that answer with the application. While you have the application open to review
it, Pinloop reads what that answer’s box holds, and when you send the application
after changing an answer, Pinloop saves your version in your
written-answersprofile document, so later answers start from your wording. You can read, change or delete that document like any other. - Why an application was handed back. When Pinloop stops before finishing an application and hands it back to you, it keeps a record of why for 30 days, holding the last steps it took on the form, a small picture of the page where it stopped, and the questions it asked you with the answers you gave, which OpenAI’s model compares with your profile to tell whether Pinloop should have known them; passwords and codes typed into forms are never kept in it.
The job postings themselves are not personal information. Every account searches the same worldwide collection of postings.
Once a posting reaches your account — through a search, a pull, a saved list, or a judgment — Pinloop keeps a permanent record that it is yours. After that, opening it again is free, and the record stays even if you change plan or cancel your subscription.
When you connect an AI app to Pinloop, Pinloop stores the app’s name, the website it sends you back to, what you approved it to do, and the credentials Pinloop issued to it. You can see every connected app and disconnect any of them at pinloop.ai/account, and a disconnected app is refused on its next request. What a connected app reads from your account passes to the company that runs that app, under that company’s terms.
Gmail. If you connect your Gmail, Pinloop reads it only to find the codes and confirmation links employers email you during an application, and enters them into that application. Pinloop never sends, changes or deletes your email, and does not store your email. Pinloop connects to Gmail through Composio. Composio keeps a log of each request, including the text of the email that was read, for up to one year. Composio says it does not use Google user data to train AI models. You can disconnect Gmail at any time in Settings or in your Google account.
Where Pinloop keeps your information
Pinloop keeps your information on servers in the United States. These companies hold parts of it:
- Supabase stores the database, your resume file, and the login service.
- Resend delivers the sign-in code emails and the email Pinloop sends after a schedule you set applies to jobs for you, and keeps a record of each one it sends, including your email address.
- Fly.io runs the Pinloop server.
- Stripe takes the payments, and only if you choose to pay for Pinloop. Stripe holds your card details, your payment history and your receipts under its own terms.
- OpenRouter passes AI model requests to the model companies.
- Sentry receives a report each time the Pinloop server hits an error, so that the error gets noticed and fixed. What is in that report is written out below, under “When something breaks”.
- OpenAI runs the models that read postings against your profile and fill in your applications.
- Anthropic runs the model that writes answers to written questions on your applications.
- E2B runs the cloud computers where Pinloop fills in your applications. Your resume file and the forms being filled are on those computers while Pinloop works on them.
- Voyage AI runs the model that matches postings by meaning.
- Google and GitHub confirm who you are, and only if you choose to sign in with one of them.
- Cloudflare answers the question of which machine pinloop.ai is. Your requests do not pass through Cloudflare.
- Composio connects Pinloop to your Gmail, and only if you choose to connect it. Composio keeps a log of each request for up to one year.
What Pinloop sends to AI models, and when
Pinloop rates every job posting it hands you as soon as the posting arrives. Otherwise Pinloop sends something to an AI model only to do what you asked for: a command you run, a schedule or a standing search you set up, or an application you start. Here is what each of them sends.
- Rating a posting. When a posting reaches your account, Pinloop sends the posting, the words of your resume and your other profile documents to OpenAI’s GPT-6 Luna model. It does not send your filling instructions or your saved answers to application questions. The model answers whether the posting breaks any of your rules and how well it fits you. When your rules set a lowest pay, Pinloop sends your rules document to the same model once, to read that number.
- Judging a posting in full. Pinloop sends your profile documents, your resume PDF file, and the job posting to OpenAI’s GPT-6 Luna model, directly. Pinloop prints the name of the model it used on every judgment it stores, so you can always see which model read your profile.
- Screening many postings quickly. Pinloop sends your instructions and the postings’ plain stored facts to the same model, the same way. Pinloop does not send the posting description text. Pinloop does not send your resume file.
- Searching by meaning. Pinloop sends your search words to Voyage AI’s embedding model, through OpenRouter. That is what matches postings by meaning instead of by exact words. You can ask Pinloop to build the search text out of your own profile documents. Pinloop then sends that text, and prints it for you before and after it sends it.
- Filling an application. When you apply to a job through Pinloop, OpenAI’s GPT-6 Luna model fills in the employer’s form on a cloud computer. Pinloop sends it your profile documents, the text of your resume, your instructions for filling applications, and pictures of the form as it fills it.
-
Tailoring your resume. If resume tailoring is on, Pinloop sends your resume
PDF file once to OpenAI’s GPT-6 Luna model, which copies it into Pinloop’s
resume layout. Then, for each application, Pinloop sends that copy, the job posting, your
profile documents and your
resume-tailoringinstructions to Anthropic’s Claude Haiku model, which picks and rewords what goes on the page using only what they hold. Pinloop uploads the result to the employer’s form in place of your original resume. -
Writing answers to written questions. When the form asks a written
question, such as “Why do you want to work here?”, Pinloop sends the question, the
job posting, your profile documents, the text of your resume, your instructions for filling
applications and your
written-answersdocument to Anthropic’s Claude Haiku model, which writes the answer from them. Pinloop then types that answer into the form.
If Anthropic’s service is unavailable or over its limit when Pinloop tailors your resume or writes an answer to a written question, Pinloop sends the same things to OpenAI’s GPT-6 Luna model instead, which does the same job.
When you upload your resume while signing up, Pinloop sends its text to OpenAI to fill in your contact details and address.
When you answer a question Pinloop handed back to you during an application, Pinloop later sends that question, your answer and a copy of your profile documents to OpenAI’s GPT-6 Luna model, to check whether your profile already held the answer.
OpenAI, Anthropic, Voyage AI, and OpenRouter each hold what Pinloop sends them. Each one holds it under its own terms, for as long as those terms say. Pinloop sends what you write and what you store to no company other than the ones named on this page.
Paying for Pinloop
Stripe processes every payment to Pinloop. Your card details go to Stripe and never to
Pinloop. The card form on the Pinloop payment page is drawn by code from Stripe running in
your browser, and what you type into that form travels from your browser straight to Stripe.
Pinloop stores the identifier Stripe uses for you as a customer, whether your subscription is
live, and the dates of the month you have paid for. It also stores which plan you are on, its
state, when your free trial started, and the identifier Stripe uses for your subscription. Stripe sends the receipt for every
charge. Cancelling a subscription, replacing a card and reading past charges all happen on
Stripe pages, which Pinloop opens for you when you run
pinloop billing.
What Pinloop does not do
Pinloop does not sell your information. Pinloop does not rent or trade it. Pinloop shows no advertising. Pinloop trains no AI model on your profile or your resume, and the AI companies Pinloop sends them to are not allowed to train on them either. Pinloop does not read your files or your calendar. Pinloop reads your email only if you connect Gmail, as described under Gmail. No account can read another account’s information.
Deleting your information
You can delete any profile document. When you delete your resume, Pinloop deletes the stored file as well as the row that points at it. You can delete any saved list, saved command sequence, schedule, standing search, or stored judgment. Pinloop removes anything you delete this way from the database.
You can delete your whole account yourself. Sign in at pinloop.ai/account. From there you can download everything Pinloop holds about you as a single file, and you can delete your account. Deleting removes everything stored in the account, and it cannot be undone. It also asks PostHog to delete everything PostHog holds under your account ID, including the records described under Analytics and any recording of your sign-up; PostHog finishes that deletion in the background. Pinloop keeps only a count that an account was deleted, with its plan and how long it existed, and not its account ID. If you are paying for Pinloop, your subscription is cancelled before anything is deleted and you will not be charged again; refunds are not automatic, so email andrew@pinloop.ai and ask. You can still email that address instead and have the account deleted by hand. Pinloop keeps anything you do not delete for as long as your account exists.
You can also ask what Pinloop stores about you, ask for a copy of it, or ask for a correction. Send those requests to the same address.
This website
The pages at pinloop.ai set no cookies, with two exceptions. While you approve an AI app’s connection to your account, Pinloop sets cookies that tie your approval to the request that app started. They are used for nothing else. The home page sets one cookie for PostHog, described under Analytics below. The typefaces every page is drawn in are served by the Pinloop server itself, so no other company is asked for them. The privacy page and the terms page run no scripts and load nothing from any other website. The home page runs a script of its own that draws the job board, and PostHog’s script, which it loads through pinloop.ai’s own address. Each row on that board shows the logo of the employer who posted the job, and those logos are pictures kept at Amazon Web Services rather than copied onto pinloop.ai, so your browser fetches each one from Amazon Web Services and Amazon Web Services sees the internet address it was fetched from. The sign-in page, the page you are sent back to after signing in, the account page, the page where you approve an AI app, and the page shown after a payment each run a script written by Pinloop and load nothing from any other website. The payment page runs a script from Stripe, loaded from js.stripe.com, which draws the card form you type your card into. Apart from the home page, no page at pinloop.ai runs analytics or tracking of any kind, and the Pinloop server keeps no request log of its own. Fly.io runs the machine, and records the connection information that any web host records, including the internet address a request came from.
Analytics
Pinloop uses PostHog, a product analytics company, to count how many people reach each step of signing up and where they stop, and to find out when something in Pinloop breaks or costs more than it should. Three places send information to PostHog: the home page at pinloop.ai, the sign-up pages at app.pinloop.ai (the questions, and the steps after you create your account, including the page Google sends you back to when you connect Gmail during sign-up), and the plans page at the end of sign-up. No other page sends anything to PostHog. That includes the main screen, your applications, your resume, your settings, the sign-in page, the account page, and the pricing, privacy and terms pages.
What is sent: which of those pages and sign-up screens you viewed and which ones you finished; the type of browser and device you use, its screen size, language and time zone; the address of the page that sent you to Pinloop, and the campaign labels in the link you followed, if it had any; and an identifier kept in a cookie on pinloop.ai and in your browser’s storage, so that a visit to the home page and a later sign-up count as the same visitor. Addresses are sent without anything after a question mark. On the plans page, it also includes the plan that was picked for you, the number of applications a week you chose during sign-up, and the plan you start a trial on. Once you have created an account, your Pinloop account ID is sent too, with whether you signed up with Google or with an email code, so that what you did before signing up is joined to your account. Your account ID is a random string of letters and numbers. Your name and your email address are never sent.
During the sign-up questions and the steps after you create your account, PostHog also records how the pages are used: what appears on the screen, where the pointer moves and what is clicked, and how the page changes. Everything typed into a box is hidden in your browser before the recording leaves it, so PostHog receives asterisks instead of what you typed. Your name, your email address and your resume’s file name are hidden the same way wherever they appear on the screen, and your answers about where you can work, your gender and your race are left out of the recording entirely. Nothing is recorded on the home page, on the opening screen before the questions start, on the plans page, or on any page after sign-up.
Your browser sends all of this to pinloop.ai’s own address, never straight to PostHog, and the Pinloop server passes it on. The Pinloop server passes on your internet address with it, and PostHog keeps that address with the information and uses it to work out roughly where you are, such as your country, region and city. No sign-in cookie or pass is ever passed on. PostHog stores the information in the United States.
The Pinloop server also sends PostHog a short record each time it finishes a piece of work for you or something in it goes wrong: when a form fill ends, when an application is sent, stopped or archived, when a review window closes, when a chat reply finishes or a chat message is refused, when jobs are brought in, rated or judged, when a saved search or schedule runs, when your resume is read or tailored, when your free trial starts, when a payment goes through, when you start a checkout, change or cancel your plan, or your payment status changes, when you reach a limit of your plan, and when a page of the Pinloop web app could not reach the Pinloop server. Each record carries your account ID, your plan, numbers such as how long the work took, how many items it covered and what it cost Pinloop, and short fixed codes such as why a form fill stopped or which hiring website a form was on. It never carries your resume, your answers, what you type in the chat, the text of a job posting, what you searched for, your name, your email address, anything about your card, or any picture of a screen.
During sign-up, the sign-up pages also tell PostHog when a step could not be saved, when a sign-in code could not be sent or was not accepted, when a resume upload failed, and when the card form did not load, each with a short code for what went wrong and never what you typed. If a sign-up page hits an error in its own code, the kind of error and the place in Pinloop’s code are sent, without the error’s words.
When something breaks
When something you run makes the Pinloop server hit an error, the server sends a report about that error to Sentry, a company whose whole job is collecting crash reports so that the person running a product finds out about a fault instead of waiting to be told. Andrew reads those reports.
The report holds the error itself, the place in Pinloop’s own code it happened, which
address on the server was being called, the version of the pinloop command you
have installed, and your account id. Your account id is a random string of letters and
numbers, not your email address. It is in the report so that a fault hitting one account can
be told apart from a fault hitting everybody.
The report deliberately does not hold what you sent or what was sent back to you, your sign-in pass, the words you searched for, your profile documents, your resume, or your internet address. Pinloop strips all of that out of every report before it leaves the server, rather than trusting Sentry’s own settings to leave it out. Sentry keeps a report for 30 days on the plan Pinloop uses.
Security
Everything that travels between your browser or your terminal and the Pinloop server goes over an encrypted connection, and a request that arrives unencrypted is sent to the encrypted address instead. Your information is stored in a database run by Supabase. Your resume file is kept in a private storage area there, which means it has no web address anybody can open: the only thing that can read it is the Pinloop server, using a key that never leaves the server. Every question Pinloop asks the database carries the account identifier the server read out of your sign-in pass, never one that came in with the request, so one account cannot reach another account’s information. Your card details are held by Stripe and never by Pinloop.
If you find a security fault in Pinloop, write to andrew@pinloop.ai. That address is also published at pinloop.ai/.well-known/security.txt, which is where a security researcher looks for it.
If Pinloop learns that someone got access to your data who should not have, Pinloop will email the address on your account without undue delay and say what was affected.
Who may use Pinloop
Pinloop is not for anyone under 18. Do not create an account if you are under 18.
Changes to this statement
This page changes when what Pinloop does with your information changes. The date at the top changes with it. Pinloop will email you before a change takes effect, if that change would use your information in a way this page does not now allow.