Vestwell Application Security Engineer responsible for securing NestJS applications and identity integrations. Focuses on analyzing vulnerabilities, evolving secure development patterns, and owning security architecture for OIDC integrations.
Responsibilities
What Will You Be Doing?
Analyze NestJS and TypeScript applications for authentication, authorization, input validation, injection, session, API, business-logic, and data-protection vulnerabilities.
Establish and evolve secure development patterns for NestJS, including guards, interceptors, middleware, decorators, validation, error handling, logging, configuration, and dependency management.
Own or contribute to the security architecture of our OIDC integrations and identity platform capabilities when we operate as:
An identity provider, including authorization, token, user-info, discovery, key-set, and logout endpoints.
A relying party, including client registration, redirect handling, authorization-code flows, token exchange, session establishment, and logout.
Design, review, and assess OAuth 2.0 and OpenID Connect flows, including authorization code with PKCE, refresh tokens, client authentication, scopes, consent, state, nonce, redirect URI validation, token lifetimes, and key rotation.
Help define and enforce authorization models using RBAC and, where appropriate, claims-based or policy-based access control.
Review access-control boundaries across services, APIs, tenants, users, roles, permissions, and administrative functions.
Lead or participate in threat modeling, security design reviews, architecture reviews, and secure code reviews.
Build security requirements, reusable libraries, reference implementations, and developer guidance that reduce recurring risk.
Improve security testing and detection through SAST, DAST, software composition analysis, secret scanning, API testing, dependency monitoring, and targeted security testing.
Qualification
Strong experience securing NodeDeep understanding of OAuth 2Familiarity with secure token handlingA pragmaticExperience with OAuth 2
Required
Professional experience in application security, product security, software engineering, or a closely related discipline.
Strong experience securing Node.js and TypeScript applications; hands-on experience with NestJS is required or highly preferred.
Deep understanding of OAuth 2.0 and OpenID Connect, including common implementation pitfalls and secure deployment patterns.
Practical experience with both IdP and RP implementations, integrations, or security assessments.
Strong understanding of authentication and authorization concepts, including RBAC, least privilege, separation of duties, claims, scopes, permissions, sessions, tokens, and service-to-service access.
Ability to review code and architecture across APIs, web applications, background jobs, and distributed services.
Experience with web and API security risks, including OWASP Top 10, OWASP API Security Top 10, broken access control, SSRF, injection, XSS, CSRF, insecure deserialization, request forgery, misconfiguration, and supply-chain risk.
Familiarity with secure token handling, JWT validation, key management, JWKS, signing algorithms, rotation, revocation, and token storage considerations.
Experience integrating security into CI/CD and developer workflows without creating unnecessary friction.
Strong communication skills and the ability to explain security risks and tradeoffs to both technical and non-technical audiences.
A pragmatic, collaborative approach: you can identify meaningful risk, propose proportional controls, and help teams implement them.
Experience with OAuth 2.1 guidance, FAPI, PAR, JAR, DPoP, sender-constrained tokens, or other advanced OAuth security patterns.