---
title: "AI Agent for Recruiting: Private Candidate Sourcing"
description: "An AI agent for recruiting builds candidate packets from your ATS and GitHub, preps interviews and checks onboarding portals in a private profile per recruiter."
url: "https://donutbrowser.com/ja/ai-agent-for-recruiting/"
---

1. [ホーム](https://donutbrowser.com/ja/)

2. [ブログ](https://donutbrowser.com/ja/blog)

3. AI Agent for Recruiting: Private Candidate Sourcing

# AI Agent for Recruiting: Private Candidate Sourcing

October 14, 2026

ai-agents recruiting hr

**An AI agent for recruiting gathers the evidence for a hiring decision from the ATS, scorecards, portfolios and admin portals into a packet that a person reviews. Run it in Donut Browser in each recruiter’s own profile, read GitHub through its API, leave LinkedIn to the recruiter, and keep every stage change and candidate message with a person.**

Candidate data is personal data, and an agent copies it into every tool it touches. Donut Browser is the most private anti-detect browser: the desktop app collects no telemetry, needs no account for local use, and stores profiles, cookies and history on your disk. It contains no AI model. You bring the agent, such as Claude Code, Codex or Cursor, and you choose the model provider that reads what the agent sees.

This guide covers candidate packets, sourcing on LinkedIn and GitHub, interview scheduling prep and onboarding checks, and where the candidate data goes at each step.

![Diagram: the agent reads the ATS record, scorecards and portfolio in the recruiter's Donut Browser profile, and reads GitHub through its API. The recruiter reads LinkedIn by hand. The agent returns a packet with source links and the hiring team decides. Profiles stay on the recruiter's disk, the Donut app sends no telemetry, and the model provider sees only what the agent sends.](https://donutbrowser.com/img/blog/ai-agent-for-recruiting.svg)

## What can an AI agent do for recruiting?

An agent helps where the evidence for a decision is split across systems that do not share an API. Four tasks fit well:

ATS record, scorecards, résumé, portfolio, linked GitHub repos

| Task | What the agent reads | Output | Who decides |
| --- | --- | --- | --- |
| Candidate packet |  | A packet with source links and missing items | The hiring team |
| Interview scheduling prep | Interview plan, calendars, the candidate’s availability | Proposed slots and a draft invite | The coordinator sends |
| Onboarding readiness | Offer, HRIS, identity provider, device and payroll portals | A readiness map with blockers | People Ops changes access |
| Weekly checks | A recorded recipe on a schedule | Run results for the agent to summarize | The recruiter |

The [AI agents use case](https://donutbrowser.com/use-cases/ai-agents) shows the same tools for other teams.

## How does an agent build a candidate packet?

Debriefs stall when the signal is spread across ATS notes, scorecards, a résumé, a portfolio and code samples. The agent can open each source and show where each fact came from.

Give it the role and the interview stage. In the recruiter’s profile, it opens each candidate’s ATS record, résumé and scorecards, lists missing feedback, opens the portfolio link the candidate supplied, and takes a screenshot when the page changed after the last interview. It returns one packet per candidate with a scorecard table, a missing-feedback list, source links and questions for the debrief.

```
Use the Donut profile "Recruiter A". For each finalist for Product
Designer in the ATS, open the profile, résumé, scorecards and the
portfolio link they gave us. List missing scorecards, screenshot
changed portfolio pages, and draft 4 debrief questions from the
interview notes. Read only. Do not change any candidate's stage.
```

Treat candidate files as untrusted input. A résumé or a portfolio page can hold hidden text written to steer an AI model, such as an instruction to rate the candidate highly. Give the agent a recruiter role in the ATS without admin rights, and have a person read the packet before anyone acts on it.

## Can an AI sourcing agent use LinkedIn and GitHub?

Both platforms limit automated use, and the limits differ.

LinkedIn’s help page on [automated activity](https://www.linkedin.com/help/linkedin/answer/a1340567) says: “we don’t allow the use of third-party software or browser extensions that scrape, modify the appearance of, or automate activity on LinkedIn’s website.” Section 8.2 of its [User Agreement](https://www.linkedin.com/legal/user-agreement) also forbids software or bots that “scrape or copy the Services, including profiles”. An agent that searches LinkedIn or reads profiles breaks these terms in any browser. Let the recruiter read LinkedIn by hand, and let the agent copy into the packet only the LinkedIn URL the candidate gave in the application.

GitHub draws the line at purpose. Section 7 of the [GitHub Acceptable Use Policies](https://docs.github.com/en/site-policy/acceptable-use-policies/github-acceptable-use-policies) says you may not use its information “for spamming purposes, including for the purposes of sending unsolicited emails to users or selling personal information, such as to recruiters, headhunters, and job boards.” Section 8 adds that you “will only use that personal information for the purpose for which that User has authorized it.” Mining GitHub for cold outreach addresses fails both tests.

What works is narrower: read the repositories that an applicant linked. GitHub’s policy separates scraping from “the collection of information through our API”, so use the API. Claude Code and Codex can call the GitHub CLI directly, for example `gh api users/<login>/repos`, and summarize languages, recent activity and the projects the candidate named. No browser is needed for that step.

## How does an agent prepare interview scheduling?

Scheduling prep is a matching problem across pages. The agent reads the interview plan and the candidate’s stage in the ATS, the interviewers’ free time in the calendar, and the availability the candidate sent. It proposes three slots, flags interviewers who already have the most interviews that week, and drafts the invite and the candidate email. The coordinator checks and sends.

Watch the time zones. Donut matches each profile’s timezone to its proxy’s exit IP, so a calendar opened in a profile with a proxy in another region shows that region’s time. Have the agent write every slot with its UTC offset, or open the calendar in a profile whose network matches the recruiter’s office.

## How does an agent check onboarding portals?

Onboarding breaks when one detail changes and several admin pages need to follow. A start date moves, or the laptop request has an exception. The agent can check the signed offer, the HRIS record, the identity provider, the device portal and payroll, and build a readiness map with the system, its state, the blocker, the owner, a source link and a screenshot of each blocker. It does not create or change accounts.

When a portal asks for a one-time code, the agent calls `request_human_help`. You enter the code in the same profile on the desktop, and the agent continues. Keep HR admin consoles in a People Ops profile of their own, so admin sessions never share cookies with the sites the agent reads for research.

For a check that repeats every week, such as next week’s start dates against the HRIS and the device portal, you can record a recipe: you do the task once in the profile’s browser, and Donut writes down the steps. Passwords are never recorded, and a replay uses no model tokens. Solo can run a saved recipe on a schedule on Donut’s remote fleet; running one on demand or on your own computer needs Pro. A recipe run stores its transcript, extracted values and any screenshots in Donut’s cloud, so for HR records, have Claude Code write a Playwright script for the same check and run it with your own scheduler. The results then stay on your disk.

## Why is candidate data a privacy problem for AI tools?

Under the GDPR, [personal data](https://gdpr-info.eu/art-4-gdpr/) is “any information relating to an identified or identifiable natural person”. A candidate packet is personal data from the first line. Four GDPR rules touch agent workflows directly. This is not legal advice; ask your data protection officer about your setup.

- [Article 5(1)(c)](https://gdpr-info.eu/art-5-gdpr/) requires data to be “adequate, relevant and limited to what is necessary”. Put into the packet only what the decision needs.

- [Article 14](https://gdpr-info.eu/art-14-gdpr/) applies when you collect data about a person from someone other than that person, as in sourcing. You must inform them “at the latest within one month”, or at the first communication if you contact them, and name the source.

- [Article 28](https://gdpr-info.eu/art-28-gdpr/) requires processors “providing sufficient guarantees”. A model provider that handles candidate data for you is a processor to check.

- [Article 22](https://gdpr-info.eu/art-22-gdpr/) gives people “the right not to be subject to a decision based solely on automated processing”. Let the agent gather evidence, and let people decide.

Each tool in the chain is one more copy of the data. With Donut:

- The desktop app sends no telemetry, analytics or crash reports, and profiles, cookies and history stay on your disk. Cloud sync is off by default. When you turn it on, end-to-end encryption is available as an option, and you can host the sync server yourself.

- Password-locked profiles are encrypted at rest with AES-256-GCM and run from a copy in RAM. Ephemeral profiles live in RAM, so a one-off look at a candidate’s public pages leaves nothing on disk. Deleted profiles are overwritten.

- Donut sends nothing to model providers. Your agent sends what it reads to its own provider.

- With the local API and CDP, page content stays on your machine except for what the agent sends its model. Remote MCP calls pass through Donut’s relay, which is not end-to-end encrypted. For packets full of personal data, the local path keeps Donut out of the data flow.

- Recipes are stored in Donut’s cloud, and a recipe run stores its transcript, extracted values and any screenshots there. Keep candidate data out of recipes, and use local scripts for anything that reads personal data.

Aside, an AI browser that markets the same hiring tasks, works differently. Section 4 of its [privacy policy](https://aside.com/policy/privacy) says “Hosted AI model providers receive the model-visible context needed to run the task.” Aside can also connect local models through Ollama or LM Studio. Section 6 of its [terms](https://aside.com/policy/terms) counts “browser context, webpage content” as User Content and grants Aside a “worldwide, non-exclusive, royalty-free, sublicensable, and transferable license” to it, for purposes that include to “develop, improve” the service. The same section says “By default, we do not use your User Content … to train AI models.” (Retrieved October 14, 2026.) See the [Aside alternative](https://donutbrowser.com/alternatives/aside) page for the full comparison, and [AI browser privacy](https://donutbrowser.com/ai-browser-privacy) for what AI browsers send to model providers.

## Why does each recruiter need a separate profile?

A recruiter’s ATS seat, mailbox, calendar and LinkedIn account belong to that recruiter. In one shared browser, the agent can act in the wrong account, and the sites see one device behind several people. LinkedIn’s User Agreement also forbids using “another’s account (such as sharing log-in credentials or copying cookies)”.

In Donut, each profile has its own fingerprint, cookies and storage, with an optional proxy or WireGuard VPN. Agencies can give each client’s ATS login its own profile, so one client’s candidates never share a browser session with another’s. On the Team plan, profile locks stop two people from opening the same profile at once. Roles limit what each member can change, and group access sets which profiles each member can open. Give each agent its own `dmk_` credential, and revoke it on your account page when a recruiter leaves; it stops working in about 10 seconds.

## How do you set up a recruiting agent with Donut?

1. Install Donut on macOS, Windows or Linux. Create one profile per recruiter for the ATS, mail and calendar, one People Ops profile for admin portals, and ephemeral profiles for public research.

2. For packets with personal data, use the local path: turn on the Local API, launch the profile with `POST /v1/profiles/{id}/run`, and have Claude Code or Codex drive it with Playwright. See the [quickstart](https://donutbrowser.com/docs/quickstart) and the [Wayfern Playwright wrapper](https://donutbrowser.com/docs/wayfern). This path needs Pro.

3. For approvals and quick tasks from Claude Desktop or Cursor, connect over [remote MCP](https://donutbrowser.com/docs/remote-mcp). The [AI agents docs](https://donutbrowser.com/docs/ai-agents) have the setup for each client.

4. Write the agent’s rules: read only, no linkedin.com, GitHub only through the API, no stage changes, and `ask_human` before any message.

5. For weekly checks, run a local script on your own scheduler, or a scheduled recipe for steps that read no personal data.

Sales teams use the same pattern for [prospecting](https://donutbrowser.com/ai-agent-for-sales-prospecting), and operations teams for [vendor portals and invoices](https://donutbrowser.com/ai-agent-for-operations). Plan details are on the [pricing](https://donutbrowser.com/pricing) page.

## Frequently asked questions

### What is the best AI agent for recruiting?

**Use an agent your company already approves, such as Claude Code, Claude Desktop, Codex or Cursor.** Donut Browser contains no AI model. It gives the agent a separate browser profile for each recruiter and tools to read the ATS, portfolios and admin portals. Pick the model provider by its data terms, because it receives what the agent reads.

### Can an AI sourcing agent scrape LinkedIn or GitHub?

**LinkedIn does not allow it, and GitHub limits what you may do with its data.** LinkedIn bans software that scrapes or automates activity on its website, so the recruiter should read LinkedIn by hand. [GitHub’s Acceptable Use Policies](https://docs.github.com/en/site-policy/acceptable-use-policies/github-acceptable-use-policies) forbid using its data for unsolicited email or for selling personal information to recruiters. Read the repositories a candidate linked in their application, through the GitHub API.

### Can I use an AI agent on candidate data under the GDPR?

**The GDPR applies to candidate data whichever tool processes it.** Its rules on data minimisation, on informing people whose data you collect from other sources, on processors and on solely automated decisions all touch agent workflows. This is not legal advice; ask your data protection officer about your setup.

### Does Donut Browser see my candidate data?

**The desktop app sends no telemetry and stores profiles, cookies and history on your disk.** With the local API and CDP, page content stays on your machine except for what your agent sends its own model provider. Remote MCP calls pass through Donut’s relay, which is not end-to-end encrypted.

### Can the agent move candidates between stages or send rejections?

**It should not.** Give it a read-only task, have it return a packet or a draft, and have it call `ask_human` before any message. A person changes the stage and sends every candidate email.

### Which Donut Browser plan does a recruiting agent need?

**Pro ($99 per month) for browser control, the local launch API and on-demand recipe runs.** Solo ($29 per month) covers remote MCP for profiles and the human-in-the-loop tools, without browser control. Team ($199 per month for two seats) adds profile locks and roles for recruiting teams and agencies. See [pricing](https://donutbrowser.com/pricing).

## On this page

- What can an AI agent do for recruiting?

- How does an agent build a candidate packet?

- Can an AI sourcing agent use LinkedIn and GitHub?

- How does an agent prepare interview scheduling?

- How does an agent check onboarding portals?

- Why is candidate data a privacy problem for AI tools?

- Why does each recruiter need a separate profile?

- How do you set up a recruiting agent with Donut?

- Frequently asked questions

- What is the best AI agent for recruiting?

- Can an AI sourcing agent scrape LinkedIn or GitHub?

- Can I use an AI agent on candidate data under the GDPR?

- Does Donut Browser see my candidate data?

- Can the agent move candidates between stages or send rejections?

- Which Donut Browser plan does a recruiting agent need?
