Loading…

Sign in to Kitsuno hiring

Magic-link only, no password. First time? An account is created on first sign-in.

Check your inbox

We sent a sign-in link to . Valid for 15 minutes.

Which one are you?

Three sign-up paths, different verification, different time to live. Pick the closest match.

Company hiring directly

~5 min · email + DNS
You're hiring for your own team. Light registration, DNS TXT proves you own the domain, you're live.
trust_tier: domain_verified

Recruitment agency / RPO

~10 min – 24h · + LinkedIn
You source on behalf of clients. DNS + LinkedIn company URL. First 50 sign-ups get a manual cross-check from Greg (~24h).
trust_tier: domain_verified · manual LinkedIn review

ATS / job-board integration

~24h · API + webhook
You're integrating Kitsuno Handshake into your ATS or board. API key + webhook challenge. Auto-approved on technical pass.
trust_tier: challenge_response_verified · sandbox first

Register — company hiring directly

Free for the first 50 lifetime L3 unlocks while in early adopter mode. ← back

The domain you control. We verify via DNS TXT at the apex.

Register — recruitment agency

First 50 sign-ups get a manual LinkedIn cross-check (~24h). After that, automated. ← back

Required — we cross-check this against your domain.

Apply — ATS / job-board integration

Auto-approved on technical verification. Greg gets a Tenko ping for commercial follow-up. ← back

Where we deliver L1 fires + L2 disclosures. HTTPS only. One-time challenge-response handshake.

Your API credentials

API key
Webhook signing secret
Sandbox base URLhttps://staging.api.kitsuno.ai/v0.2

Quickstart

# Verify your credentials
curl https://staging.api.kitsuno.ai/v0.2/account \
  -H "Authorization: Bearer YOUR_KEY"

Spec: /handshake/v0.2/ · Reference agents: github.com/kitsuno-ai/kitso-handshake-agents

Add this DNS TXT record

Add a TXT record at the apex of your domain. We auto-check every 60 seconds.

TypeTXT
Host / name
Value
TTL60 seconds (or provider default)
Auto-checking every 60s…
How do I add a DNS TXT record?

You add the record at your DNS provider — where you bought your domain, or wherever your nameservers point. Pick yours:

  1. Sign in at dash.cloudflare.com → pick your domain
  2. DNS → Records → Add record
  3. Type: TXT. Name: @ (means apex). Content: paste the value above.
  4. Save. Cloudflare propagates in seconds.
  1. Sign in at godaddy.com → My Products → DNS
  2. Add → Type: TXT
  3. Name: @. Value: paste above. TTL: 1 Hour.
  4. Save. Propagates in 1–10 minutes.
  1. Sign in → Domain List → Manage → Advanced DNS
  2. Add New Record → Type: TXT Record
  3. Host: @. Value: paste above. TTL: Automatic.
  4. Save (green check). Propagates usually in seconds.
  1. AWS Console → Route 53 → Hosted zones → pick your zone
  2. Create record. Record name: leave blank (apex). Record type: TXT
  3. Value: paste above with quotes (Route 53 requires them).
  4. Create records. Propagates within seconds.
  1. Sign in at domains.google.com
  2. Pick your domain → DNS → Custom records → Manage custom records
  3. Host name: @. Type: TXT. TTL: 300. Data: paste above.
  4. Save. Propagates in minutes.

Generic instructions:

  1. Find your DNS provider (run dig NS yourdomain.com if unsure)
  2. Sign in → find the DNS / "manage records" section
  3. Add a TXT record with name/host = @ (or blank — both mean apex)
  4. Value = the string above
  5. Save and wait for propagation (usually under a minute)

Can't access your DNS? Email handshake@kitsuno.ai from any address on your domain. We'll verify manually.

DNS verified — waiting on LinkedIn cross-check

For the first 50 recruiter accounts, Greg personally cross-checks your domain against your LinkedIn company URL. Usually a few hours, max 24h.

domain_verified 

How Kitsuno works

You're now a verified counter-agent in the open Handshake protocol. Job-seekers run their own agents that discover your cards and signal interest. Three stages govern what info flows when:

  • Stage 1 · Public listing — agent-readable job-ad info (title, location, skills, salary band). Candidates' agents fire freely against it.
  • Stage 2 · After interest is signaled — when a candidate's agent signals interest, you get a structured disclosure pulled from their career portfolio library: skills, projects, testimonials, answered against your screening questions. Not a CV.
  • Stage 3 · You release a specific candidate — the human hand-off. You review Stage 2 disclosures in your Inbox, click "Release" on the ones you want to talk to. Costs 1 credit (~€12, refunded if the candidate is silent 14 days). At that moment, both sides exchange direct contact, hiring-manager identity, calendar, and exact comp. You hold the keys here — that's the product principle.

Full protocol spec at /handshake/v0.2/. (Internally we call these L1/L2/L3 — same thing.)

credits available
1 credit = 1 L3 release (~€12). Refunded if candidate silent 14 days.
🤖

Set up with your AI assistant

Hand a URL to Claude / ChatGPT / Gemini. They fetch your account context and protocol spec, and help you draft vacancy cards, tune your handshake policy, and explain the protocol. Read-only — you hold the keys.

24h expiry · regenerate anytime

Your vacancy cards

Loading…

Inbox

L1 fires, L2 disclosures, L3 unlocks across your cards.

Loading…
⚙️ Hiring defaults — pre-fills the Stage 3 release form

When you release Stage 3 on a candidate, they receive your direct contact, hiring-manager identity, and calendar. These defaults pre-fill that form so you don't retype them every time. Override per-release if needed.

New vacancy card

This becomes a public L1 surface seekers' agents can fire against. ← back

Where this role hires. Pick Global for anywhere, or Specific regions to enumerate. Use the preset pills to bulk-add. The exclude list carves countries out (e.g. all of Europe except IT).
Accepted countries (ISO alpha-2, comma). Required for Specific regions.
Excluded countries — always reject, even under Global. Optional.
For full-time roles use "year". For contracts: month or day.
When the L1 surface auto-closes.
The human-readable ad this card represents — used for display, SEO, and de-duplication. The card's own apply URL is generated automatically.

Who can match?

Filters from your fields above are applied automatically. Seekers' agents fire against your card only if their candidate clears these.

Application requirements

What an applicant provides — released as L3 content. At L2 the agent only sees whether each is provided. Required means a match can't complete without it (the seeker is invited to provide it — providing it is the application) · Wished is requested but optional · Supporting is nice-to-have.

Confidentiality

By default your company name is visible at L1 (public). Confidential search? Move it behind L3 (only revealed when you release).

Power user: edit raw JSON for handshake_policy + tier_overrides

If set, raw JSON below replaces the friendly filter checkboxes above.

💾 Auto-saves as you type. Close the tab and come back any time — your draft is kept on this browser.

Preview before you publish

Three tiers. Three audiences. Three levels of disclosure. This is exactly what each will see.

🌐 Stage 1 · Public listing (L1)

Visible to anyone on the open internet. Candidates' AI agents fetch this URL and fire interest signals if their candidate matches your match filters. Search engines may index it.

🤝 Stage 2 · After interest is signaled (L2)

When a candidate's agent signals interest in your public listing, it delivers a structured disclosure to you — pulled from the candidate's career portfolio library (their own verified record of skills, projects, testimonials, certifications). You see structured data, not a CV.

🔓 Stage 3 · You release a specific candidate (L3, 1 credit ≈ €12)

You trigger this on a specific candidate after reviewing their Stage 2 disclosure. You click "Release" on their conversation in your Inbox — that's the moment you decide "let's talk to this person." It consumes 1 credit (refunded if they don't reply within 14 days). At that moment, both sides exchange the human-level details below — direct contact, hiring-manager identity, calendar, exact compensation.

What happens when you publish?

  1. Your Stage 1 listing goes live at a public URL —
  2. The card is added to our public directory of vacancies at /handshake/v0.2/directory.json — this is how other agent implementations (not just Kitsuno) can discover your card. The Handshake protocol is open; we're one implementation among many.
  3. Candidates' agents can discover and signal interest immediately
  4. Each Stage 2 disclosure you receive is free. Releasing Stage 3 on a candidate costs 1 credit (refunded if they're silent 14 days)