Security by control layer.
SourcingOS uses defense in depth rather than treating one vendor or one certification as the security system. This page describes controls we can support today and clearly separates them from work that is still gated or planned.
Last control review: 2026-09-06
Control register
Edge firewall and DDoS mitigation
Production is served behind Vercel edge protections. Firewall activity is reviewed separately from application authorization.
Fail-closed authentication and authorization
Protected routes require a valid session and privileged operations are authorized server-side rather than trusting browser state.
Privileged database function isolation
Sensitive SECURITY DEFINER / fleet claim paths are not executable by anonymous or ordinary authenticated roles.
Continuous security CI
CodeQL, dependency maintenance, static security checks and deterministic adversarial tests run in CI.
Outbound URL / SSRF guard
Server-side URL fetching uses a centralized policy intended to block local, private-network and unsafe protocol targets.
Untrusted-content AI boundary
External resumes, profiles, webpages and provider text are evidence inputs, not authority to change tool permissions or execute consequential actions.
Recruiter-controlled consequential actions
Identity merges, contact reveal paths and other consequential actions remain behind explicit authorization/approval boundaries.
Provider spend circuit breakers
Provider reads are governed by explicit budget/cost classes and deterministic circuit-breaker tests rather than unrestricted fan-out.
Upload validation and quarantine contract
Resume/file intake has type, size and quarantine rules. Malware scanning remains a deployment gate until a private scanner is operationally verified.
Backup restore exercises
Recovery testing is part of the security roadmap; a backup claim is not treated as equivalent to a proven restore.
Identity and authorization
Authentication is not treated as authorization. Protected server routes resolve the session and privileged operations require explicit server-side permission. Database policies and function ACLs provide an additional boundary around sensitive data paths.
Secure development lifecycle
Security checks are part of CI rather than an occasional pre-launch review. The current program includes CodeQL, dependency maintenance, static security scanning, deterministic SecurityBench adversarial tests, and regression tests for sensitive database privileges and provider-budget controls.
AI and agent security
External content is untrusted. Resume text, public webpages, APIs and provider payloads may contribute evidence, but they cannot grant themselves tool permissions or approve consequential actions. Outbound URL access is constrained by an SSRF guard and agent/tool actions are designed around explicit authorization boundaries.
Uploads
File intake has validation and quarantine contracts. SourcingOS does not claim that every uploaded file is malware-scanned until a private scanner is operationally deployed and verified. Public file submissions are not sent to a free public malware-analysis service as a substitute for private scanning.
Certifications
SourcingOS does not currently claim SOC 2, ISO 27001, FedRAMP, HIPAA, or similar certification/authorization status. The control program is being structured so future third-party assurance can evaluate existing controls rather than create them after the fact.
Report a vulnerability
Use the private reporting path and avoid including credentials or unnecessary personal data in the initial message.