, but this code // executes before the first paint, when

»Æ´óÏɸßÊÖÂÛ̳

is not yet present. The // classes are added to so styling immediately reflects the current // toolbar state. The classes are removed after the toolbar completes // initialization. const classesToAdd = ['toolbar-loading', 'toolbar-anti-flicker']; if (toolbarState) { const { orientation, hasActiveTab, isFixed, activeTray, activeTabId, isOriented, userButtonMinWidth } = toolbarState; classesToAdd.push( orientation ? `toolbar-` + orientation + `` : 'toolbar-horizontal', ); if (hasActiveTab !== false) { classesToAdd.push('toolbar-tray-open'); } if (isFixed) { classesToAdd.push('toolbar-fixed'); } if (isOriented) { classesToAdd.push('toolbar-oriented'); } if (activeTray) { // These styles are added so the active tab/tray styles are present // immediately instead of "flickering" on as the toolbar initializes. In // instances where a tray is lazy loaded, these styles facilitate the // lazy loaded tray appearing gracefully and without reflow. const styleContent = ` .toolbar-loading #` + activeTabId + ` { background-image: linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%); } .toolbar-loading #` + activeTabId + `-tray { display: block; box-shadow: -1px 0 5px 2px rgb(0 0 0 / 33%); border-right: 1px solid #aaa; background-color: #f5f5f5; z-index: 0; } .toolbar-loading.toolbar-vertical.toolbar-tray-open #` + activeTabId + `-tray { width: 15rem; height: 100vh; } .toolbar-loading.toolbar-horizontal :not(#` + activeTray + `) > .toolbar-lining {opacity: 0}`; const style = document.createElement('style'); style.textContent = styleContent; style.setAttribute('data-toolbar-anti-flicker-loading', true); document.querySelector('head').appendChild(style); if (userButtonMinWidth) { const userButtonStyle = document.createElement('style'); userButtonStyle.textContent = `#toolbar-item-user {min-width: ` + userButtonMinWidth +`px;}` document.querySelector('head').appendChild(userButtonStyle); } } } document.querySelector('html').classList.add(...classesToAdd); })(); Calvin Account Passphrase Information Technology | »Æ´óÏɸßÊÖÂÛ̳

»Æ´óÏɸßÊÖÂÛ̳

Skip to main content

Calvin Account Passphrase

How do I change my passphrase?

Use the following link to change, update, or recover your passphrase (a.k.a. password). Use this link for all passphrase changes, even if your passphrase has expired or you forgot it.

What are the passphrase requirements?

Calvin requires that your passphrase be changed once a year. Your passphrase will expire every 365 days. You will receive emails prompting you to change it before it expires, or you can use the link above.

Your Calvin passphrase must meet the following requirements:

  • current or previously used passphrases may never be reused
  • must be 15–45 characters long
  • must use characters from two or more of the following character sets:
    • Lowercase letters
    • Uppercase letters
    • Numbers
    • Symbols, Punctuation, or Spaces (some systems may not accept a passphrase with a comma)
  • must not start or end with a space
  • must not repeat the same character 3 times sequentially

What do my Calvin account and passphrase access?

Your Calvin passphrase will access most Calvin services including but not limited to Moodle,Ìýeduroam wireless, , , PaperCut, Calvin G Suite Apps, and VPN, as well as providing access to on-campus computers and server-based file storage.