1<!DOCTYPE html> 2<html lang='en' xml:lang='en' xmlns='https://www.w3.org/1999/xhtml'><head> 3<meta charset='utf-8'> 4<meta content='width=device-width, initial-scale=1.0' name='viewport'> 5<title>Cloudinary - Management Console Login</title> 6<link href='//fonts.googleapis.com/css?family=Roboto:500,400italic,300,700,500italic,400&display=swap' rel='stylesheet'> 7<link href='//fonts.googleapis.com/css?family=Montserrat:300,500,700&display=swap' rel='stylesheet'> 8<link href='//fonts.googleapis.com/css?family=Roboto+Mono:300,400&display=swap' rel='stylesheet'> 9<link href='https://plus.google.com/+Cloudinary' rel='publisher'> 10<link href='https://res.cloudinary.com/prod/image/upload/w_57/console/favicon.png' rel='apple-touch-icon' sizes='57x57'> 11<link href='https://res.cloudinary.com/prod/image/upload/w_114/console/favicon.png' rel='apple-touch-icon' sizes='114x114'> 12<link href='https://res.cloudinary.com/prod/image/upload/w_72/console/favicon.png' rel='apple-touch-icon' sizes='72x72'> 13<link href='https://res.cloudinary.com/prod/image/upload/w_144/console/favicon.png' rel='apple-touch-icon' sizes='144x144'> 14<link href='https://res.cloudinary.com/prod/image/upload/w_60/console/favicon.png' rel='apple-touch-icon' sizes='60x60'> 15<link href='https://res.cloudinary.com/prod/image/upload/w_120/console/favicon.png' rel='apple-touch-icon' sizes='120x120'> 16<link href='https://res.cloudinary.com/prod/image/upload/w_76/console/favicon.png' rel='apple-touch-icon' sizes='76x76'> 17<link href='https://res.cloudinary.com/prod/image/upload/w_152/console/favicon.png' rel='apple-touch-icon' sizes='152x152'> 18<link href='https://res.cloudinary.com/prod/image/upload/w_180/console/favicon.png' rel='apple-touch-icon' sizes='180x180'> 19<link href='https://res.cloudinary.com/prod/image/upload/w_192/console/favicon.png' rel='icon' sizes='192x192' type='image/png'> 20<link href='https://res.cloudinary.com/prod/image/upload/w_160/console/favicon.png' rel='icon' sizes='160x160' type='image/png'> 21<link href='https://res.cloudinary.com/prod/image/upload/w_96/console/favicon.png' rel='icon' sizes='96x96' type='image/png'> 22<link href='https://res.cloudinary.com/prod/image/upload/w_16/console/favicon.png' rel='icon' sizes='16x16' type='image/png'> 23<link href='https://res.cloudinary.com/prod/image/upload/w_32/console/favicon.png' rel='icon' sizes='32x32' type='image/png'> 24<meta content='#2b5797' name='msapplication-TileColor'> 25<meta content='https://res.cloudinary.com/prod/image/upload/w_144/console/favicon.png' name='msapplication-TileImage'> 26<meta content='DPR' http-equiv='Accept-CH'> 27<link href='https://cloudinary.com/users/login' rel='canonical'> 28<link rel="stylesheet" href="/stylesheets/g/cloudinary_public.css" /> 29<meta name="csrf-param" content="authenticity_token" /> 30<meta name="csrf-token" content="xkLEAQM7kWnf-swpwsvPZVo-t_qRflJGNMw3QOhn5ZAo6trpYytPUAU0lrSqkoqw2yaRYQQuhqXKnhTMcfmQcQ" /> 31<link rel="stylesheet" href="/stylesheets/g/login.css" /> 32
33<script src='//cdn.split.io/sdk/split-10.21.1.min.js'></script>
33 34</head> 35<body class=''><div class='inner_user login_page' id='wrapper'><header class='new-header new-fixed-position new' id='header'> 36<div id='header-inner'> 37<div class='header-frame'> 38<nav class='navbar-default'> 39<div class='container-fluid'> 40<div class='navbar-header'> 41<div class='logo'> 42<a href='https://cloudinary.com/'> 43<img width="156" fetch_formant="auto" alt="Cloudinary Logo" class="dark-logo ls-is-cached lazyloaded" src="https://cloudinary-res.cloudinary.com/image/upload/c_scale,dpr_2.0,q_auto,w_156/cloudinary_logo_for_white_bg.svg" /> 44</a> 45</div> 46<button class='navbar-toggle collapsed' data-target='#site-main-nav' data-toggle='collapse' type='button'> 47<span class='navbar-toggler-icon'> 48<span id='nav-icon'> 49<span></span> 50<span></span> 51<span></span> 52<span></span> 53</span> 54</span> 55</button> 56</div> 57<div class='collapse navbar-collapse' id='site-main-nav'> 58<div class='header-section'> 59<div class='menu-main-menu-container' id='mainMenu'> 60<ul class='navbar-nav' id='menu-main-menu'> 61<li class='menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children nav-item dropdown first-level'> 62<a class='nav-link dropdown-toggle' href='#'> 63Products 64<span class='sub'></span> 65</a> 66<div class='dropdown-menu'> 67<div class='inner 0'> 68<div class='dropdown-column has-children'> 69<ul class='link-list'> 70<li class='link-list-item has-description'> 71<a data-ga-action='navigate' data-ga-category='website product tray menu' data-ga-label='Programmable Media' href='/products/programmable_media'> 72Programmable Media 73<span class='sub'>Powerful image and video APIs for editing, hosting, and global content distribution for Websites and Cloud Apps.</span> 74</a> 75</li> 76<li class='link-list-item has-description'> 77<a data-ga-action='navigate' data-ga-category='website product tray menu' data-ga-label='Dynamic Asset Management' href='/products/dynamic_asset_management'> 78Dynamic Asset Management 79<span class='sub'>A single source of truth for managing the entire digital asset lifecycle.</span> 80</a> 81</li> 82</ul> 83</div> 84<div class='dropdown-column'> 85<a class='dropdown-item has-description' data-ga-action='navigate' data-ga-category='website product tray menu' data-ga-label='Get Started' href='/developers'> 86Get Started 87<span class='sub'>Start using Cloudinaryâs SDKs, Widgets and Integrations to develop digital media assets.</span> 88</a> 89<div class='description'> 90<ul class='new-menu'> 91<li> 92<a data-ga-action='navigate' data-ga-category='website product tray menu' data-ga-label='Documentation' href='/documentation'>Documentation</a> 93</li> 94<li> 95<a data-ga-action='navigate' data-ga-category='website product tray menu' data-ga-label='SDK' href='/documentation/cloudinary_sdks'>SDK</a> 96</li> 97<li> 98<a data-ga-action='navigate' data-ga-category='website product tray menu' data-ga-label='Add-Ons' href='/addons'>Add-Ons</a> 99</li> 100<li> 101<a data-ga-action='navigate' data-ga-category='website product tray menu' data-ga-label='Demos' href='/demos'>Demos</a> 102</li> 103</ul> 104</div> 105</div> 106<div class='featured-content'> 107<span class='title'>Get Started</span> 108<div class='description'> 109<p> 110Get started using Cloudinary free as long as you need! 111<a data-ga-action='navigate' data-ga-category='website product tray menu' data-ga-label='sign up for free' href='https://cloudinary.com/users/register/free'>sign up for free â</a> 112</p> 113</div> 114</div> 115</div> 116</div> 117</li> 118<li class='menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children nav-item dropdown first-level'> 119<a class='nav-link dropdown-toggle' href='#'> 120Solutions 121<span class='sub'></span> 122</a> 123<div class='dropdown-menu'> 124<div class='inner 0'> 125<div class='dropdown-column has-children'> 126<ul class='link-list'> 127<li class='link-list-item heading'> 128<div class='dropdown-header'> 129Featured Solution 130<span class='sub'></span> 131</div> 132</li> 133<a class='dropdown-item has-description active' data-ga-action='navigate' data-ga-category='website solutions tray menu' data-ga-label='Video API' href='/video_api' style='padding: 5px 24px 10px 24px;'> 134Video API 135<span class='sub'>Leverage innovative AI technology for engaging video experiences.</span> 136</a> 137</ul> 138<ul class='link-list'> 139<li class='link-list-item heading' style='margin-top: 0px'> 140<div class='dropdown-header'> 141By Industry 142<span class='sub'></span> 143</div> 144</li> 145<li class='link-list-item'> 146<a data-ga-action='navigate' data-ga-category='website solutions tray menu' data-ga-label='E-commerce and Retail' href='/solutions/ecommerce'> 147E-commerce and Retail 148<span class='sub'></span> 149</a> 150</li> 151<li class='link-list-item'> 152<a data-ga-action='navigate' data-ga-category='website solutions tray menu' data-ga-label='Media & Entertainment' href='/solutions/industries/media_entertainment'> 153Media & Entertainment 154<span class='sub'></span> 155</a> 156</li> 157<li class='link-list-item'> 158<a data-ga-action='navigate' data-ga-category='website solutions tray menu' data-ga-label='Travel &
158 Hospitality' href='/solutions/industries/travel_hospitality'> 159Travel & Hospitality 160<span class='sub'></span> 161</a> 162</li> 163<li class='link-list-item'> 164<a data-ga-action='navigate' data-ga-category='website solutions tray menu' data-ga-label='Non Profits' href='/solutions/industries/cloudinary-for-nonprofits'> 165Non Profits 166<span class='sub'></span> 167</a> 168</li> 169</ul> 170</div> 171<div class='dropdown-column'> 172<div class='dropdown-header'> 173Why Cloudinary? 174<span class='sub'></span> 175</div> 176<div class='description'> 177<p>Check out how media-savvy companies are taking their brands to the next digital level with Cloudinary.</p> 178<p> 179<a data-ga-action='navigate' data-ga-category='website solutions tray menu' data-ga-label='See Cloudinary in Action' href='/solutions/why_cloudinary'>See Cloudinary in Action â</a> 180</p> 181<p> 182<span class='dropdown-header' style='margin: 0 0 -5px 0; padding: 40px 0 0 0'>Featured Customer</span> 183<br> 184<img alt='Guess logo' class='lazyloaded' src='https://cloudinary-res.cloudinary.com/images/w_150,q_auto,f_auto,dpr_2/v1614227312/guess-blk/guess-blk.png' style='max-width: 150px'> 185</p> 186<p> 187<a data-ga-action='navigate' data-ga-category='website solutions tray menu' data-ga-label='Read the Customer Story' href='https://res.cloudinary.com/cloudinary-marketing/image/upload/v1608005347/creative_staging/cloudinary_internal/Collateral/Case%20Studies/Guess/cloudinary_case_study_GUESS_1220_fnl.pdf' rel='noopener' target='_blank'>Read the Customer Story â</a> 188</p> 189</div> 190</div> 191<div class='featured-content'> 192<span class='title'>View Customer Profiles</span> 193<div class='description'> 194<p> 195See how other companies are using Cloudinary 196<a data-ga-action='navigate' data-ga-category='website solutions tray menu' data-ga-label='view customer profiles' href='/customers'>view customer profiles â</a> 197</p> 198</div> 199</div> 200</div> 201</div> 202</li> 203<li class='menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children nav-item dropdown first-level'> 204<a class='nav-link dropdown-toggle' href='#'> 205Resources 206<span class='sub'></span> 207</a> 208<div class='dropdown-menu'> 209<div class='inner 0'> 210<div class='dropdown-column has-children'> 211<ul class='link-list'> 212<li class='link-list-item'> 213<a data-ga-action='navigate' data-ga-category='website resources tray menu' data-ga-label='Blog' href='/blog'> 214Blog 215<span class='sub'></span> 216</a> 217</li> 218<li class='link-list-item'> 219<a data-ga-action='navigate' data-ga-category='website resources tray menu' data-ga-label='Podcasts' href='/podcasts'> 220Podcasts 221<span class='sub'></span> 222</a> 223</li> 224<li class='link-list-item'> 225<a data-ga-action='navigate' data-ga-category='website resources tray menu' data-ga-label='Demos' href='/demos'> 226Demos 227<span class='sub'></span> 228</a> 229</li> 230<li class='link-list-item'> 231<a data-ga-action='navigate' data-ga-category='website resources tray menu' data-ga-label='Documentation' href='/documentation'> 232Documentation 233<span class='sub'></span> 234</a> 235</li> 236<li class='link-list-item'> 237<a data-ga-action='navigate' data-ga-category='website resources tray menu' data-ga-label='Education and Training' href='https://training.cloudinary.com/'> 238Education and Training 239<span class='sub'></span> 240</a> 241</li> 242<li class='link-list-item'> 243<a data-ga-action='navigate' data-ga-category='website resources tray menu' data-ga-label='Technical Support' href='https://support.cloudinary.com/'> 244Technical Support 245<span class='sub'></span> 246</a> 247</li> 248<li class='link-list-item'> 249<a data-ga-action='navigate' data-ga-category='website resources tray menu' data-ga-label='Knowledge Base' href='https://support.cloudinary.com/'> 250Knowledge Base 251<span class='sub'></span> 252</a> 253</li> 254</ul> 255</div> 256<div class='dropdown-column'> 257<div class='dropdown-header'> 258Resource Library 259<span class='sub'></span> 260</div> 261<div class='description'> 262<p> 263<img width="151" height="90" fetch_formant="auto" alt="Bleacher Report" class="ls-is-cached lazyloaded" src="https://cloudinary-res.cloudinary.com/image/upload/q_auto/v1601228032/website/refresh/global/cloudinary_web_navigation_resources.svg" /> 264</p> 265<p>A collection of guides, e-books, webinars, case studies and more.</p> 266<p> 267<a data-ga-action='navigate' data-ga-category='website resources tray menu' data-ga-label='View the Resource Library' href='/resources'>View the Resource Library</a> 268</p> 269</div> 270</div> 271<div class='featured-content'> 272<span class='title'>Read the DAM Guide</span> 273<div class='description'> 274<p> 275The Definitive Resource for Managing Digital Assets 276<a data-ga-action='navigate' data-ga-category='website resources tray menu' data-ga-label='read the dam guide' href='/dam-guide/dam'>read the dam guide â</a> 277</p> 278</div> 279</div> 280</div> 281</div> 282</li> 283<li class='menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children nav-item dropdown first-level'> 284<a class='nav-link dropdown-toggle' href='#'> 285Company 286<span class='sub'></span> 287</a> 288<div class='dropdown-menu'> 289<div class='inner 0'> 290<div class='dropdown-column has-children'> 291<ul class='link-list'> 292<li class='link-list-item'> 293<a data-ga-action='navigate' data-ga-category='website company tray menu' data-ga-label='About Us' href='/about'> 294About Us 295<span class='sub'></span> 296</a> 297</li> 298<li class='link-list-item'> 299<a data-ga-action='navigate' data-ga-category='website company tray menu' data-ga-label='Customers' href='/customers'> 300Customers 301<span class='sub'></span> 302</a> 303</li> 304<li class='link-list-item'> 305<a data-ga-action='navigate' data-ga-category='website company tray menu' data-ga-label='Meet the Team' href='/team'> 306Meet the Team 307<span class='sub'></span> 308</a> 309</li> 310<li class='link-list-item'> 311<a data-ga-action='navigate' data-ga-category='website company tray menu' data-ga-label='Careers' href='/jobs'> 312Careers 313<span class='sub'></span> 314</a> 315</li> 316<li class='link-list-item'> 317<a data-ga-action='navigate' data-ga-category='website company tray menu' data-ga-label='Newsroom' href='/newsroom'> 318Newsroom 319<span class='sub'></span> 320</a> 321</li> 322<li class='link-list-item'> 323<a data-ga-action='navigate' data-ga-category='website company tray menu' data-ga-label='Contact Us' href='/contact'> 324Contact Us 325<span class='sub'></span> 326</a> 327</li> 328</ul> 329</div> 330<div class='dropdown-column'> 331<div class='dropdown-header'> 332Upcoming Events 333<span class='sub'></span> 334</div> 335<div class='description'> 336<p> 337<img width="240" height="70" fetch_formant="auto" alt="Cloudinary Events" class="lazyload" src="https://cloudinary-marketing-res.cloudinary.com/image/upload/q_auto/v1664908396/all_events_2x.png" /> 338</p> 339<p> 340<a data-ga-action='navigate' data-ga-category='website company tray menu' data-ga-label='See all events' href='/events'>See all events</a> 341</p> 342</div> 343</div> 344<div class='featured-content'> 345<span class='title'>
345Get the Report</span> 346<div class='description'> 347<p> 348Images and videos are the story â our 3rd annual report 349<a data-ga-action='navigate' data-ga-category='website company tray menu' data-ga-label='get the report' href='/state-of-visual-media-report'>get the report â</a> 350</p> 351</div> 352</div> 353</div> 354</div> 355</li> 356<li class='menu-item menu-item-type-custom menu-item-object-custom nav-item first-level'> 357<a class='nav-link' data-ga-action='navigate' data-ga-category='website primary navigation' data-ga-label='Pricing' href='/pricing'> 358Pricing 359<span class='sub'></span> 360</a> 361</li> 362</ul> 363</div> 364<div class='header-side-nav'> 365<div class='header-side-nav-wrapper'> 366<div class='search-block'> 367<a class='search-opener' data-ga-action='search' data-ga-category='website primary navigation' data-ga-label='used google search api' href='#'> 368<svg aria-hidden='true' class='svg-inline--fa fa-search fa-w-16' data-icon='search' focusable='false' height='16' role='img' viewBox='0 0 512 512' width='16' xmlns='http://www.w3.org/2000/svg'> 369<path d='M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z' fill='currentColor'></path> 370</svg> 371</a> 372<div class='search_box'> 373<div class="gcse-search"></div> 374</div> 375</div> 376<div class='menu-top-right-menu-container'> 377<ul class='new-menu' id='top-right-menu'> 378<li class='menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children has-icon hide-title'> 379<a href='#'> 380<img width="18" fetch_formant="auto" class="nav-icon lazyloaded" src="https://cloudinary-res.cloudinary.com/image/upload/c_scale,dpr_2.0,q_auto,w_18/v1602683372/website/refresh/global/language_icon.png" /> 381<span>Language</span> 382</a> 383<ul class='sub-menu'> 384<li class='menu-item menu-item-type-custom menu-item-object-custom'> 385<a data-ga-action='change language' data-ga-category='website primary navigation' data-ga-label='English' href='/'>English</a> 386</li> 387<li class='menu-item menu-item-type-custom menu-item-object-custom'> 388<a data-ga-action='change language' data-ga-category='website primary navigation' data-ga-label='Deutsch' href='/de'>Deutsch</a> 389</li> 390</ul> 391</li> 392<li class='menu-item menu-item-type-custom menu-item-object-custom'> 393<a data-ga-action='navigate' data-ga-category='website primary navigation' data-ga-label='Support' href='https://support.cloudinary.com/'>Support</a> 394</li> 395<li class='menu-item menu-item-type-custom menu-item-object-custom'> 396<a data-ga-action='navigate' data-ga-category='website primary navigation' data-ga-label='Documentation' href='/documentation'>Documentation</a> 397</li> 398<li class='menu-item menu-item-type-custom menu-item-object-custom has-icon'> 399<a data-ga-action='navigate' data-ga-category='website primary navigation' data-ga-label='Login' href='https://cloudinary.com/users/login'> 400<img width="18" fetch_formant="auto" class="nav-icon lazyloaded" src="https://cloudinary-res.cloudinary.com/image/upload/c_scale,dpr_2.0,q_auto,w_18/v1602683372/website/refresh/global/login_icon.png" /> 401<span>Login</span> 402</a> 403</li> 404</ul> 405</div> 406</div> 407<div class='signup-block'> 408<a class='btn btn-sm btn-default' data-ga-action='signup' data-ga-category='website primary navigation' data-ga-label='intent to sign up' href='https://cloudinary.com/users/register_free'>sign up for free</a> 409</div> 410</div> 411</div> 412</div> 413</div> 414</nav> 415</div> 416</div> 417<div id='fixed-spacer'></div> 418</header> 419<main id='main' role='main'>
419<script> 420 window.parent.postMessage({ consoleFrame: true, href: window.location.href }, window.location.protocol + '//' + window.location.host); 421</script>
421 422<section class='join-block'> 423<div class='root col-xs-11'> 424<div class='title'> 425Log in to your account 426</div> 427<form class="login-form" id="new_user_session" action="/users/login_update" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="RvT1GkRbC0fRIwxuFdaV1WuYEAwOnhsyml9Au2mEvIKHl1YpbM8r99nRn0g2vejnkAIUQ0cKk74Njnby-kcvDw" /><fieldset> 428<input type="hidden" name="token" id="token" /> 429<div class='input-group'> 430<div class='label-holder'> 431<label for='user_session_email'>Email:</label> 432</div> 433<div class='div'> 434<input class="form-control" type="email" name="user_session[email]" id="user_session_email" /> 435</div> 436<span class='error-msg login-error'> 437 438</span> 439</div> 440<div class='input-group'> 441<div class='label-holder'> 442<label for='user_session_password'>Password:</label> 443</div> 444<input class="form-control" type="password" name="user_session[password]" id="user_session_password" /> 445<span class='error-msg'></span> 446</div> 447<button class='primary wide submit' id='sign-in' type='submit'>LOG IN</button> 448<div class='spacer'> 449Or 450</div> 451<a href="/users/sso_login" class="button ghost" id="sso-sign-in">LOG IN WITH SSO 452</a><a class='button ghost third-party-login google-login-btn' href='/auth/google_oauth2?flow=login'> 453<img class="google-icon" src="https://cloudinary-res.cloudinary.com/image/upload/v1645708175/sign_up/cdnlogo.com_google-icon.svg" /> 454LOG IN WITH GOOGLE 455</a> 456<a class='button ghost third-party-login github-login-btn' href='/auth/github?flow=login'> 457<img class="google-icon" src="https://cloudinary-res.cloudinary.com/image/upload/v1649753895/sign_up/github.svg" /> 458LOG IN WITH GITHUB 459</a> 460<div class='forgot-password'> 461<a href="/users/recover_password" class="forgot">Forgot your password?</a> 462</div> 463<div class='sign-up-footer'> 464New to Cloudinary? 465<a href="/users/register_free">Sign Up</a> 466</div> 467</fieldset> 468</form></div> 469</section>
470<script> 471 (function(){ 472 if ("") { 473 usernameInputField = document.getElementById('user_session_email'); 474 usernameDiv = document.querySelector('.lock-username'); 475 usernameInputField.setAttribute('value', ""); 476 usernameInputField.setAttribute('readonly', true); 477 usernameDiv.classList.remove('unlock'); 478 unlockUsername = document.querySelector('.unlock-link a'); 479 unlockUsername.addEventListener('click', function(){ 480 usernameInputField.removeAttribute('readonly'); 481 usernameDiv.classList.add('unlock'); 482 }) 483 } 484 485 var signinButton = document.getElementById('sign-in'); 486 var consentCheckbox = document.getElementById('consent'); 487 var buttons = [signinButton, document.getElementById("sso-sign-in")]; 488 buttons.push(...document.getElementsByClassName("third-party-login")); 489 490 if (consentCheckbox != null) { 491 enableButtons(buttons, consentCheckbox.checked) 492 consentCheckbox.addEventListener('change', function(e) { 493 enableButtons(buttons, consentCheckbox.checked) 494 }); 495 } 496 function enableButtons(buttons, enable) { 497 for (let btn of buttons) { 498 if (enable) { 499 btn.removeAttribute("disabled"); 500 btn.tabIndex = null; 501 } else { 502 btn.setAttribute("disabled", ""); 503 btn.tabIndex = -1; 504 } 505 } 506 } 507 })() 508 document.addEventListener("DOMContentLoaded",function() { 509 const STORAGE_KEY = "last-login-method"; 510 const NINETY_DAYS_MS = 90 * 24 * 60 * 60 * 1000; 511 512 const BUTTON_SELECTOR_MAP = { 513 "sso": "#sso-sign-in", 514 "google": ".google-login-btn", 515 "github": ".github-login-btn" 516 }; 517 518 function storeLoginMethod(method) { 519 try { 520 localStorage.setItem(STORAGE_KEY, JSON.stringify({ 521 method: method, 522 timestamp: Date.now() 523 })); 524 } catch { 525 console.warn("Failed to store login method"); 526 } 527 } 528 529 function getLastLoginMethod() { 530 try { 531 const data = localStorage.getItem(STORAGE_KEY); 532 if (!data) { 533 return null; 534 } 535 536 const parsed = JSON.parse(data); 537 if (Date.now() - parsed.timestamp > NINETY_DAYS_MS) { 538 localStorage.removeItem(STORAGE_KEY); 539 return null; 540 } 541 542 return parsed.method; 543 } catch { 544 console.warn("Failed to read login method"); 545 return null; 546 } 547 } 548 549 function createLastUsedChip() { 550 const chip = document.createElement("span"); 551 chip.className = "last-used-chip"; 552 chip.textContent = "Last used"; 553 chip.setAttribute("aria-label", "This login method was last used"); 554 return chip; 555 } 556 557 function displayLastUsedChip() { 558 const lastMethod = getLastLoginMethod(); 559 if (!lastMethod) { 560 return; 561 } 562 563 const button = document.querySelector(BUTTON_SELECTOR_MAP[lastMethod]); 564 if (!button) { 565 return; 566 } 567 568 if (button.querySelector(".last-used-chip")) { 569 return; 570 } 571 572 const chip = createLastUsedChip(); 573 button.appendChild(chip); 574 button.classList.add("last-used-button"); 575 } 576 577 function registerAttempt(provider) { 578 $.ajax({ type: "POST", 579 dataType: "json", 580 url: "/users/report_to_datadog", 581 data: { provider: provider, flow: "login" }, 582 error: function(error){console.log("Error reporting to DD")} 583 }) 584 } 585 586 displayLastUsedChip(); 587 588 $(".login-form").submit(function() { 589 localStorage.removeItem(STORAGE_KEY); 590 }); 591 $("#sso-sign-in").click(function() { 592 storeLoginMethod("sso"); 593 }); 594 $(".google-login-btn").click(function() { 595 storeLoginMethod("google"); 596 registerAttempt("google"); 597 }); 598 $(".github-login-btn").click(function() { 599 storeLoginMethod("github"); 600 registerAttempt("github"); 601 }); 602 }); 603</script>
603 604</main> 605<footer class='new-footer site-footer' id='new-footer' role='contentinfo'> 606<div class='container-fluid'> 607<div class='row footer-holder'> 608<div class='col-xs-12'> 609<div class='widgets'> 610<div class='col footer-logo'> 611<a href='/'> 612<img width="160" alt="Cloudinary Logo - White" src="https://cloudinary-res.cloudinary.com/image/upload/c_scale,dpr_2.0,w_160/cloudinary_logo_for_black_bg.svg" /> 613</a> 614</div> 615<div class='col'> 616<nav class='footer-nav'> 617<strong class='title'>Products</strong> 618<div class='textwidget'> 619<ul> 620<li> 621<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='Programmable Media' href='/products/programmable_media'>Programmable Media</a> 622</li> 623<li> 624<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='DAM' href='/products/dynamic_asset_management'>DAM</a> 625</li> 626<li> 627<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='Demos' href='/demos'>Demos</a> 628</li> 629<li> 630<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='Pricing' href='/pricing'>Pricing</a> 631</li> 632</ul> 633</div> 634</nav> 635</div> 636<div class='col'> 637<nav class='footer-nav'> 638<strong class='title'>Solutions</strong> 639<div class='textwidget'> 640<ul> 641<li> 642<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='Why Cloudinary' href='/solutions/why_cloudinary'>Why Cloudinary</a> 643</li> 644<li> 645<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='Video API' href='/video_api'>Video API</a> 646</li> 647<li> 648<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='E-Commerce & Retail' href='/solutions/ecommerce'>E-Commerce & Retail</a> 649</li> 650<li> 651<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='Media & Entertainment' href='/solutions/industries/media_entertainment'>Media & Entertainment</a> 652</li> 653<li> 654<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='Travel & Hospitality' href='/solutions/industries/travel_hospitality'>Travel & Hospitality</a> 655</li> 656<li> 657<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='Non-Profits' href='/solutions/industries/cloudinary-for-nonprofits'>Non-Profits</a> 658</li> 659<li> 660<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='Resource Library' href='/resources'>Resource Library</a> 661</li> 662</ul> 663</div> 664</nav> 665</div> 666<div class='col'> 667<nav class='footer-nav'> 668<strong class='title'>Developers</strong> 669<div class='textwidget'> 670<ul> 671<li> 672<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='DAM' href='/developers'>Getting Started</a> 673</li> 674<li> 675<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='Documentation' href='/documentation'>Documentation</a> 676</li> 677<li> 678<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='SDK' href='/documentation/cloudinary_sdks'>SDK</a> 679</li> 680<li> 681<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='Add-Ons' href='/addons'>Add-Ons</a> 682</li> 683<li> 684<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='Podcasts' href='/podcasts'>Podcasts</a> 685</li> 686</ul> 687</div> 688</nav> 689</div> 690<div class='col'> 691<nav class='footer-nav'> 692<strong class='title'>Company</strong> 693<div class='textwidget'> 694<ul> 695<li> 696<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='DAM' href='/about'>About Us</a> 697</li> 698<li> 699<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='Events' href='/events'>Events</a> 700</li> 701<li> 702<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='Careers' href='/jobs'>Careers</a> 703</li> 704<li> 705<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='Newsroom' href='/newsroom'>Newsroom</a> 706</li> 707<li> 708<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='Blog' href='/blog'>Blog</a> 709</li> 710<li> 711<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='Brand Assets' href='/assets'>Brand Assets</a> 712</li> 713<li> 714<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='Trust' href='/trust'>Trust</a> 715</li> 716</ul> 717</div> 718</nav> 719</div> 720<div class='col'> 721<nav class='footer-nav'> 722<strong class='title'>Contact Us</strong> 723<div class='textwidget'> 724<ul> 725<li> 726<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='Technical Support' href='https://support.cloudinary.com/hc/en-us'>Technical Support</a> 727</li> 728<li> 729<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='Contact Sales' href='/contact'>Contact Sales</a> 730</li> 731<li> 732<a data-ga-action='navigate' data-ga-category='website footer' data-ga-label='Education and Training' href='https://training.cloudinary.com/'>Education and Training</a> 733</li> 734</ul> 735</div> 736</nav> 737<nav class='widget_text footer-nav'> 738<div class='textwidget custom-html-widget'> 739<ul class='new-social-networks'> 740<li> 741<a class='facebook' data-ga-action='external navigation' data-ga-category='website footer' data-ga-label='Facebook' data-popup='true' href='https://www.facebook.com/Cloudinary'> 742<svg aria-hidden='true' class='svg-inline--fa fa-facebook-f fa-w-10' data-icon='facebook-f' data-prefix='fab' focusable='false' height='16' role='img' viewbox='0 0 320 512' width='9' xmlns='http://www.w3.org/2000/svg'>
743<path d='M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z' fill='currentColor'></path> 744</svg> 745</a> 746</li> 747<li></li> 748<li> 749<a class='twitter' data-ga-action='external navigation' data-ga-category='website footer' data-ga-label='Twitter' data-popup='true' href='https://twitter.com/cloudinary'> 750<svg aria-hidden='true' class='svg-inline--fa fa-twitter fa-w-16' data-icon='twitter' data-prefix='fab' focusable='false' height='16' role='img' viewbox='0 0 512 512' width='15' xmlns='http://www.w3.org/2000/svg'> 751<path d='M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z' fill='currentColor'></path> 752</svg> 753</a> 754</li> 755<li></li> 756<li> 757<a class='linkedin' data-ga-action='external navigation' data-ga-category='website footer' data-ga-label='LinkedIn' data-popup='true' href='https://www.linkedin.com/company/cloudinary'> 758<svg aria-hidden='true' class='svg-inline--fa fa-linkedin-in fa-w-14' data-icon='linkedin-in' data-prefix='fab' focusable='false' height='16' role='img' viewbox='0 0 448 512' width='14' xmlns='http://www.w3.org/2000/svg'> 759<path d='M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z' fill='currentColor'></path> 760</svg> 761</a> 762</li> 763</ul> 764</div> 765</nav> 766</div> 767<div class='col'> 768<div class='widget_text footer-nav'> 769<div class='textwidget custom-html-widget'> 770<div class='footer-seals'> 771<ul> 772<li> 773<img alt='Institute of Quality & Control' class='lazyloaded' src='https://cloudinary-res.cloudinary.com/image/upload/b_rgb:0C163B,c_scale,f_auto,q_auto,w_76,dpr_auto/v1563215041/website/seals/L_ISO_27001_2013_E.png' width='76'> 774</li> 775<li> 776<img alt='GDPR' class='lazyloaded' src='https://cloudinary-res.cloudinary.com/image/upload/b_rgb:0C163B,c_scale,f_auto,q_auto,w_76,dpr_auto/v1563215041/website/seals/GDPR.png' width='76'> 777</li> 778<li> 779<img alt='SOC' class='lazyloaded' src='https://cloudinary-res.cloudinary.com/image/upload/b_rgb:0C163B,c_scale,f_auto,q_auto,w_76,dpr_auto/v1563215041/website/seals/21972-312_SOC_NonCPA.png' width='76'> 780</li> 781</ul> 782</div> 783</div> 784</div> 785</div> 786</div> 787</div> 788</div> 789</div> 790<div class='footer-bot'> 791<div class='container-fluid'> 792<div class='row'> 793<div class='col-xs-12 col-sm-6'> 794<div class='widget_text footer-nav'> 795<div class='textwidget custom-html-widget'> 796<div class='footer-seals'> 797<ul> 798<li> 799<img alt='Forbes Best Startup Employers 2020' class='lazyloaded' src='https://cloudinary-res.cloudinary.com/image/upload/c_scale,f_auto,q_auto,w_95,dpr_2/v1602259966/website/refresh/global/Forbes_US_BESU2020_Siegel_Basic.eps' width='95'> 800</li> 801<li> 802<img alt='MarTech Breakthrough Awards' class='lazyloaded' src='https://cloudinary-res.cloudinary.com/image/upload/c_scale,f_auto,q_auto,w_60,dpr_2/v1602259963/website/refresh/global/MarTech_Breakthrough_Awards_Logo.png' width='60'> 803</li> 804<li> 805<img alt='Best Places to Work SVBJ 2018' class='lazyloaded' src='https://cloudinary-res.cloudinary.com/image/upload/c_scale,f_auto,q_auto,w_99,dpr_2/v1602259938/website/refresh/global/best_places_to_work_svbj_2018.png' width='99'> 806</li> 807<li> 808<img alt='2020 The World's Best Cloud Companies' class='lazyloaded' src='https://cloudinary-res.cloudinary.com/image/upload/c_scale,f_auto,q_auto,w_63,dpr_2/v1602259964/website/refresh/global/Cloud1002020.eps' width='63'> 809</li> 810</ul> 811</div> 812</div> 813</div> 814</div> 815<div class='col-xs-12 col-sm-6'> 816<ul class='footer-links'></ul> 817<div class='copyright'> 818<p>© 2026 Cloudinary. All rights reserved.</p> 819</div> 820</div> 821</div> 822</div> 823</div> 824</footer></div>
825<script src="/javascripts/g/cloudinary_public.js"></script>
825<!-- Google Tag Manager -->
vendor: 66 bytes, lines 825-826
825 826 <noscript><iframe src="//www.googletagmanager.com/ns.html?id=
826GTM-5BS5ZV
vendor: 91 bytes, lines 826-828
826" 827 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 828
828<script>
vendor: 337 bytes, lines 828-832
828(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 829 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 830 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 831 '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 832 })(window,document,'script','dataLayer','
832GTM-5BS5ZV
vendor: 3 bytes, line 832
832');
832</script>
832 833<!-- End Google Tag Manager -->
834<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a4394e86e9cbdfb0',t:'MTc5MDgzNTA1Mg=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
834</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.