PageSourceSearch

https://cloudinary.com/users/login

html cloudinary.com collected 2026-10-01 06:10:55 UTC 35,854 bytes, 834 lines download raw bytes

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&amp;display=swap' rel='stylesheet'>
7<link href='//fonts.googleapis.com/css?family=Montserrat:300,500,700&amp;display=swap' rel='stylesheet'>
8<link href='//fonts.googleapis.com/css?family=Roboto+Mono:300,400&amp;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 &amp; 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 &amp;
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 &amp; 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 &amp; 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 &amp; 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 &amp; 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&#39;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>&copy; 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.