<!DOCTYPE html>
<html class="html-devise-layout gl-system" lang="en">
<head prefix="og: http://ogp.me/ns#">
<meta charset="utf-8">
<meta content="IE=edge" http-equiv="X-UA-Compatible">
<meta content="width=device-width, initial-scale=1" name="viewport">
<title>Sign in · GitLab</title>
<script>
//<![CDATA[
window.gon={};
//]]>
</script>

<script>
//<![CDATA[
const root = document.documentElement;
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
  root.classList.add('gl-dark');
}

window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => {
  if (e.matches) {
    root.classList.add('gl-dark');
  } else {
    root.classList.remove('gl-dark');
  }
});

//]]>
</script>




<meta content="light dark" name="color-scheme">
<link rel="stylesheet" href="/assets/application-267421195ad431679553836c5b410ffe630f2a3119c436775ff47aa32bd041a8.css" media="(prefers-color-scheme: light)" />
<link rel="stylesheet" href="/assets/application_dark-eb6a2be3fa84f122bcfdb01700ceb93d31abe14bec53e18529b0230fdb8d07ce.css" media="(prefers-color-scheme: dark)" />
<link rel="stylesheet" href="/assets/page_bundles/login-7240ec00cf3969b710fe5e8959f8ef8eeff66d635ded28839b1b4256ae8d96a3.css" /><link rel="stylesheet" href="/assets/page_bundles/commit_description-9e7efe20f0cef17d0606edabfad0418e9eb224aaeaa2dae32c817060fa60abcc.css" /><link rel="stylesheet" href="/assets/page_bundles/work_items-9f34e9e1785e95144a97edb25299b8dd0d2e641f7efb2d8b7bea3717104ed8f2.css" /><link rel="stylesheet" href="/assets/page_bundles/notes_shared-8f7a9513332533cc4a53b3be3d16e69570e82bc87b3f8913578eaeb0dce57e21.css" />
<link rel="stylesheet" href="/assets/tailwind_cqs-0e9add9895902b334f85f3a8c9ded0e9bcbfef603bbd1efcb51df7dac57c209e.css" />


<link rel="stylesheet" href="/assets/fonts-deb7ad1d55ca77c0172d8538d53442af63604ff490c74acc2859db295c125bdb.css" />
<link rel="stylesheet" href="/assets/highlight/themes/white-c47e38e4a3eafd97b389c0f8eec06dce295f311cdc1c9e55073ea9406b8fe5b0.css" media="(prefers-color-scheme: light)" />
<link rel="stylesheet" href="/assets/highlight/themes/dark-8796b0549a7cd8fd6d2646619fa5840db4505d7031a76d5441a3cee1d12390d2.css" media="(prefers-color-scheme: dark)" />

<script src="/assets/webpack/runtime.bada1433.bundle.js" defer="defer"></script>
<script src="/assets/webpack/main.eb29241f.chunk.js" defer="defer"></script>
<script src="/assets/webpack/tracker.4ac2efa2.chunk.js" defer="defer"></script>
<script>
//<![CDATA[
window.snowplowOptions = {"namespace":"gl","hostname":"code.pulseflow.ch:443","postPath":"/-/collect_events","forceSecureTracker":true,"appId":"gitlab_sm"};
gl = window.gl || {};
gl.snowplowStandardContext = {"schema":"iglu:com.gitlab/gitlab_standard/jsonschema/1-1-7","data":{"environment":"self-managed","source":"gitlab-rails","correlation_id":"01KTNC355XFKXWFKGC25CA6PHP","extra":{},"user_id":null,"global_user_id":null,"user_type":null,"is_gitlab_team_member":null,"namespace_id":null,"ultimate_parent_namespace_id":null,"project_id":null,"feature_enabled_by_namespace_ids":null,"realm":"self-managed","deployment_type":"self-managed","context_generated_at":"2026-06-09T05:01:13.835Z"}};
gl.snowplowPseudonymizedPageUrl = "https://code.pulseflow.ch/users/sign_in";
gl.maskedDefaultReferrerUrl = null;
gl.ga4MeasurementId = 'G-ENFH3X7M5Y';
gl.duoEvents = [];
gl.onlySendDuoEvents = false;


//]]>
</script>
<link rel="preload" href="/assets/application-267421195ad431679553836c5b410ffe630f2a3119c436775ff47aa32bd041a8.css" as="style" type="text/css">
<link rel="preload" href="/assets/highlight/themes/white-c47e38e4a3eafd97b389c0f8eec06dce295f311cdc1c9e55073ea9406b8fe5b0.css" as="style" type="text/css">




<script src="/assets/webpack/commons-pages.groups.new-pages.import.gitlab_projects.new-pages.import.manifest.new-pages.projects.n-44c6c18e.57adf505.chunk.js" defer="defer"></script>
<script src="/assets/webpack/commons-pages.search.show-super_sidebar.6acb116e.chunk.js" defer="defer"></script>
<script src="/assets/webpack/super_sidebar.d81b6984.chunk.js" defer="defer"></script>
<script src="/assets/webpack/commons-pages.admin.sessions-pages.ldap.omniauth_callbacks-pages.omniauth_callbacks-pages.sessions-p-ea3be603.a30659c6.chunk.js" defer="defer"></script>
<script src="/assets/webpack/commons-pages.registrations.new-pages.sessions.new.274f9295.chunk.js" defer="defer"></script>
<script src="/assets/webpack/pages.sessions.new.edba2f29.chunk.js" defer="defer"></script>



<meta content="object" property="og:type">
<meta content="GitLab" property="og:site_name">
<meta content="Sign in · GitLab" property="og:title">
<meta content="GitLab Community Edition" property="og:description">
<meta content="https://code.pulseflow.ch/assets/twitter_card-570ddb06edf56a2312253c5872489847a0f385112ddbcd71ccfa1570febab5d2.jpg" property="og:image">
<meta content="64" property="og:image:width">
<meta content="64" property="og:image:height">
<meta content="https://code.pulseflow.ch/users/sign_in" property="og:url">
<meta content="summary" property="twitter:card">
<meta content="Sign in · GitLab" property="twitter:title">
<meta content="GitLab Community Edition" property="twitter:description">
<meta content="https://code.pulseflow.ch/assets/twitter_card-570ddb06edf56a2312253c5872489847a0f385112ddbcd71ccfa1570febab5d2.jpg" property="twitter:image">

<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="xmBfWXD09PM9ky32qia3-dJBMsqNj0nH2TYYrFtVaszy_n1Ha6u2yFFpi-7AnDCyK-HM5OF1ag9jarSepSfAlw" />
<meta name="csp-nonce" />
<meta name="action-cable-url" content="/-/cable" />
<link href="/-/manifest.json" rel="manifest">
<link rel="icon" type="image/png" href="/uploads/-/system/appearance/favicon/1/PulseFlow-Transparent_1.png" id="favicon" data-original-href="/uploads/-/system/appearance/favicon/1/PulseFlow-Transparent_1.png" />
<link rel="apple-touch-icon" type="image/x-icon" href="/uploads/-/system/appearance/pwa_icon/1/PulseFlow-Transparent_1.png?width=192" />
<link rel="apple-touch-icon" type="image/x-icon" href="/uploads/-/system/appearance/pwa_icon/1/PulseFlow-Transparent_1.png?width=192" sizes="192x192" />
<link rel="apple-touch-icon" type="image/x-icon" href="/uploads/-/system/appearance/pwa_icon/1/PulseFlow-Transparent_1.png?width=512" sizes="512x512" />
<link href="/search/opensearch.xml" rel="search" title="Search GitLab" type="application/opensearchdescription+xml">




<meta content="GitLab Community Edition" name="description">
<meta content="#F1F0F6" media="(prefers-color-scheme: light)" name="theme-color">
<meta content="#232128" media="(prefers-color-scheme: dark)" name="theme-color">
</head>

<body class="gl-h-full login-page gl-browser-generic gl-platform-other" data-page="sessions:new" data-testid="login-page">

<script>
//<![CDATA[
gl = window.gl || {};
gl.client = {"isGeneric":true,"isOther":true};


//]]>
</script>




<div class="gl-h-full gl-flex gl-flex-wrap">
<div class="container gl-self-center">
<main class="content">
<div class="flash-container flash-container-page sticky" data-testid="flash-container">
<div id="js-global-alerts"></div>
</div>

<div class="gl-my-5">
<div class="col-sm-12 gl-text-center">
<img alt="GitLab Community Edition" class="gl-invisible gl-h-10 js-portrait-logo-detection lazy" data-src="/uploads/-/system/appearance/logo/1/PulseFlow-Transparent_1.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" />
<h1 class="mb-3 gl-text-size-h2">
GitLab Community Edition
</h1>
</div>
<div class="gl-w-full gl-ml-auto gl-mr-auto bar sm:gl-w-1/2">

<div class="js-non-oauth-login">
<form class="gl-show-field-errors js-arkose-labs-form" aria-live="assertive" data-testid="sign-in-form" action="/users/sign_in" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="TfJzQ5fv9FzMG_oAoj12XFh8WAdnvzl7Ht_OqzcTwvZ5bFFdjLC2Z6DhXBjIh_EXodymKQtFGrOkg2KZyWForQ" autocomplete="off" /><div class="form-group">
<label for="user_login">Username or primary email</label>
<input class="form-control gl-form-input js-username-field" autocomplete="username" autofocus="autofocus" autocapitalize="off" autocorrect="off" required="required" title="Username or primary email is required." data-testid="username-field" type="text" name="user[login]" id="user_login" />
</div>
<div class="form-group">
<label for="user_password">Password</label>
<input class="form-control gl-form-input js-password" data-id="user_password" data-required="true" data-title="Password is required." data-name="user[password]" data-testid="password-field" type="password" name="user[password]" id="user_password" />
<div class="form-text gl-text-right">
<a href="/users/password/new">Forgot your password?</a>
</div>
</div>
<div class="form-group">
</div>
<div class="gl-mb-3">
<div class="gl-form-checkbox custom-control custom-checkbox">
<input name="user[remember_me]" type="hidden" value="0" autocomplete="off" /><input autocomplete="off" class="custom-control-input js-remember-me-passkey" type="checkbox" value="1" name="user[remember_me]" id="user_remember_me" />
<label class="custom-control-label" for="user_remember_me"><span>Remember me</span></label>
</div>

</div>
<button class="gl-button btn btn-block btn-md btn-confirm js-sign-in-button" data-testid="sign-in-button" type="submit"><span class="gl-button-text">
Sign in

</span>

</button></form>
</div>
<div class="gl-flex gl-items-center gl-gap-5" data-testid="divider">
<hr class="gl-grow gl-border-default">
or sign in with
<hr class="gl-grow gl-border-default">
</div>

<div class="gl-mt-5 gl-text-center gl-flex gl-flex-col gl-gap-3 js-oauth-login">
<form class="js-omniauth-form" method="post" action="/users/auth/openid_connect"><button class="gl-button btn btn-block btn-md btn-default " data-testid="oidc-login-button" type="submit"><span class="gl-button-text">
<img alt="PulseFlow Auth" title="Sign in with PulseFlow Auth" class="gl-button-icon lazy" data-src="https://pulseflow.ch/PulseFlow-Transparent.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" />
<span class="gl-button-text">
PulseFlow Auth
</span>

</span>

</button><input type="hidden" name="authenticity_token" value="BvZ_LmZzIlvqwCHtOppiNL7wkCz5k1vEhEDFnr23IW0yaF0wfSxgYIY6h_VQIOV_R1BuApVpeAw-HGmsQ8WLNg" autocomplete="off" /></form>
<div class="gl-form-checkbox custom-control custom-checkbox">
<input type="checkbox" name="js-remember-me-omniauth" id="js-remember-me-omniauth" class="custom-control-input" />
<label class="custom-control-label" for="js-remember-me-omniauth"><span>Remember me
</span></label>
</div>
</div>


</div>
</div>
</main>
</div>
<div class="footer-container gl-w-full gl-self-end">
<hr class="gl-m-0">
<div class="container gl-py-5 gl-flex gl-justify-between gl-items-start">
<div class="gl-hidden md:gl-flex gl-gap-5 gl-flex-wrap">
<a href="/explore">Explore</a>
<a href="/help">Help</a>
<a href="https://about.gitlab.com">About GitLab</a>
<a target="_blank" class="text-nowrap" rel="noopener noreferrer" href="https://forum.gitlab.com">GitLab community forum</a>
</div>
<div class="js-language-switcher" data-locales="[{&quot;value&quot;:&quot;ga_IE&quot;,&quot;percentage&quot;:100,&quot;text&quot;:&quot;Irish&quot;},{&quot;value&quot;:&quot;en&quot;,&quot;percentage&quot;:100,&quot;text&quot;:&quot;English&quot;},{&quot;value&quot;:&quot;ko&quot;,&quot;percentage&quot;:99,&quot;text&quot;:&quot;한국어&quot;},{&quot;value&quot;:&quot;ja&quot;,&quot;percentage&quot;:98,&quot;text&quot;:&quot;日本語&quot;},{&quot;value&quot;:&quot;de&quot;,&quot;percentage&quot;:96,&quot;text&quot;:&quot;Deutsch&quot;},{&quot;value&quot;:&quot;fr&quot;,&quot;percentage&quot;:95,&quot;text&quot;:&quot;français&quot;},{&quot;value&quot;:&quot;pt_BR&quot;,&quot;percentage&quot;:94,&quot;text&quot;:&quot;português (Brasil)&quot;}]"></div>

</div>
</div>


</div>
</body>
</html>
