Own authorization and identity in the product. Design and ship the authentication, authorization, and multi-tenant isolation code across our platform, along with the account, session, device, and credential lifecycle that other systems are built on: issuance, binding, expiry, and revocation. This is code you write, not findings you route.
Solve AI security problems the industry has not settled. Untrusted model output crossing trust boundaries, tool-use and agentic surfaces including sandboxed code execution, isolation between model providers, and the authorization and handling controls around evaluation data. There is little prior art here and no off-the-shelf playbook. You will help write ours.
Build privacy-preserving systems, and implement the data lifecycle in code. Pseudonymous identifiers, secret-backed derivation, and controlled re-identification, with the judgment to tell real pseudonymization from the appearance of it. Retention, deletion, and minimization as working product behavior across every store and pipeline that holds user data, including proving that what should be gone is actually gone.
Make the product explain itself after the fact. Security-relevant events, including authentication, account changes, and privileged actions, need to be emitted from product code as durable, queryable records. You design what gets written, and you write it.
Ship security-sensitive changes end to end. Request paths, partner integrations, data models, telemetry pipelines, and rollout controls that let you turn a change off without a deploy. That includes production migrations and backfills for sensitive data, throttled, resumable, observable, and reversible. It also includes the product integrations for third-party security and trust services, where you design the call paths and define conservative failure behavior.
Own application security across the product, its APIs, and the browser. Content Security Policy and its reporting path, security headers, cookie and origin policy, and the third-party JavaScript running alongside user content. Ship the libraries, middleware, tests, and platform patterns engineers adopt because they are the easiest path. Lead threat modeling early enough to change a design, and own the fix in the codebase rather than the ticket.