Skip to content

SkillFoundry for macOS

Enterprise desktop agent for SkillFoundry — assessment sessions, privacy-first workforce intelligence, hiring operations, and team insights.

Source and build instructions live in the repository at apps/macos/. This page summarizes the product surface for documentation readers.

Product surface

Mode Who Capabilities
Assessment Candidates session activation, workspace setup, activity capture, Customer/TPM chat, pair agent, timed submit + git diff
Workforce Employees Consent-gated background agent, allow-listed repos, pause/resume, offline buffer, automatic task identity
Hiring HR / interviewers Invites, template create, tasks/people, evaluation queue, web deep links
Insights Admins / managers Skill map, self profile, audited engineer drill-down
Privacy / About / Settings Everyone Disclosure, MDM keys, diagnostics export, launch-at-login, updater feed

Privacy guarantees

  • Activity, not content — the agent records what kind of work happened (files, edits, tests, version control), not the code or text itself
  • Scoped collection — only the assessment workspace or folders your organization has explicitly allow-listed
  • Redaction before upload — personal identifiers such as emails, tokens, home-directory paths, and IP addresses are removed on the device
  • No clipboard, prompt, or completion content — never collected or uploaded
  • No proctoring — no screen, webcam, microphone, or keystroke capture
  • Workforce — explicit consent required; pause anytime

Employees vs candidates

SkillFoundry keeps org seats and hiring subjects as distinct roles:

Role Meaning Where admins manage them
employee Org team member (workforce-eligible seat) Org Admin → Users / Insights → Employees
candidate Hiring-pipeline assessment subject Hiring → Candidates
interviewer / orgadmin Hiring ops / org admin (also org seats) Org Admin → Users

Org invitations assign employee (or interviewer/orgadmin). Hiring invites use /invites/candidate and never create an employee seat.

Employee set-and-forget

After one-time consent (and org/MDM allow-listed roots), the agent auto-starts and stays in the background. Work is attributed to the ticket or issue being worked on (from the branch name — issue keys only, never ticket content); manual correction is optional.

Configuration (MDM / UserDefaults)

Key Purpose
apiBaseURL API origin
webAppURL Web console + browser auth
teamId Workforce team (defaults to default if empty)
allowedRepoRoots Absolute paths for workforce collection
workforceAutoStart Auto-start after sign-in + consent (default on)
allowedIssueHosts Issue-tracker hosts allowed for ticket attribution