Senior Software Engineer (Ruby), Security Platform: Authorization at Gitlab

<div class="content-intro"><p>GitLab is the intelligent orchestration platform for DevSecOps. GitLab enables organizations to increase developer productivity, improve operational efficiency, reduce security and compliance risk, and accelerate digital transformation. More than 50 million registered users and more than 50% of the Fortune 100* trust GitLab to ship better, more secure software faster.</p> <p>The same principles built into our products are reflected in how our team works: we embrace AI as a core productivity multiplier, with all team members expected to incorporate AI into their daily workflows to drive efficiency, innovation, and impact. GitLab is where careers accelerate, innovation flourishes, and every voice is valued. Our high-performance culture is driven by our values and continuous knowledge exchange, enabling our team members to reach their full potential while collaborating with industry leaders to solve complex problems. <a href="https://www.youtube.com/watch?v=OuZIb5zszQI">Co-create the future with us</a> as we build technology that transforms how the world develops software.</p> <p>*<em>Fortune 500® is a registered trademark of Fortune Media IP Limited, used under license. Claim based on GitLab data. Fortune 100 refers to the top 20% ranked companies in the 2025 Fortune 500 list, published in June 2025. Fortune and Fortune Media IP Limited are not affiliated with, and do not endorse products or services of GitLab.</em></p></div><h4><strong>An overview of this role</strong></h4> <p>As a Senior Software Engineer on GitLab's Authorization team, you will own significant parts of the system that decides what every user, token, and automated agent can access on GitLab.com, Self-Managed, and Dedicated.</p> <p>Today that work is Ruby on Rails. Roughly 400 policy classes and a YAML catalog of about 1,900 permissions sit behind every API request. You will work on the permission model itself (fine-grained token permissions, custom roles, and the GraphQL and REST surfaces that enforce them). You will also help move that model onto GitLab's next-generation authorization stack, which pairs the Rails monolith with a Rust policy engine using Zanzibar-style relationship tuples and Cedar policies. The monolith already loads that engine in-process and can reach it over gRPC.</p> <p>Some examples of our projects:</p> <ul> <li>Refactoring GitLab's policy layer so the same permission definitions can be evaluated by the monolith and by our new authorization service</li> <li>Extending fine-grained token permissions to more resources and more kinds of principal, including the service identities behind AI agents</li> <li>Bringing GitLab's first modular service, Artifact Registry, onto the new authorization stack</li> <li>Isolating custom-role and permission data per organization ahead of GitLab Cells</li> </ul> <h4><strong>What you’ll do</strong></h4> <ul> <li>Design and ship authorization changes in GitLab's Ruby on Rails monolith, where a single request can trigger hundreds of permission checks.</li> <li>Own a workstream end to end. Problem definition through feature-flagged rollout, dual-run verification, and cleanup.</li> <li>Build and extend fine-grained permissions for tokens and roles, and keep the permission catalog coherent as it grows.</li> <li>Extend and harden authorization enforcement across GraphQL and the REST API.</li> <li>Refactor long-lived policy code so both the monolith and our new authorization engine can evaluate it, without changing behavior for existing customers.</li> <li>Improve the reliability, performance, and security posture of existing authorization systems, including paying down permission-model debt.</li> <li>Partner with the authentication, platform, AI, and modular-service teams on interface contracts as authorization moves toward a shared service.</li> <li>Drive technical decisions in writing. Design docs, architecture decision records, and code review, in a fully asynchronous organization.</li> </ul> <h4><strong>What you’ll bring</strong></h4> <ul> <li>Significant experience building and operating production Ruby on Rails applications.</li> <li>Experience designing or implementing authorization systems, including role-based access control and fine-grained permissions.</li> <li>A security mindset. You treat a permission bug as a security bug, and you reason about blast radius before elegance.</li> <li>Comfort making careful changes to large, long-lived codebases. Incremental refactors, feature-flagged rollouts, and migrations that must

Apply for this Senior Software Engineer (Ruby), Security Platform: Authorization role

More jobs at Gitlab

More jobs in Remote, Canada; Remote, Israel; Remote, United Kingdom; Remote, United States