Manage your account email address, password, and security settings
Update your name and timezone preferences.
Choose which organization you see by default when logging in or navigating to pages without an organization context.
Update your email address. You'll receive a confirmation link to verify the new address.
Update your password. You'll be logged out and need to sign in again with your new password.
This password has appeared {@password_breach_count} {if @password_breach_count == 1, do: "time", else: "times"} in known data breaches. We strongly recommend choosing a different, more unique password to protect your account.
Create API tokens to access Towerops programmatically. Tokens are scoped to a specific organization.
Get started by creating a new API token.
{token.name}
{token.organization.name}
<%= if token.last_used_at do %> Last used {Calendar.strftime(token.last_used_at, "%B %d, %Y")} <% else %> Never used <% end %>
Manage mobile devices that receive push notifications for alerts.
Add a mobile device to receive push notifications for alerts.
{session.device_name || "Unknown Device"}
<%= if session.alerts_enabled do %> <.icon name="hero-bell" class="h-3 w-3" /> Alerts On <% else %> <.icon name="hero-bell-slash" class="h-3 w-3" /> Alerts Off <% end %>{session.device_os} • {session.app_version}
Last used {Calendar.strftime(session.last_used_at, "%B %d, %Y")}
We detected {@failed_login_count} failed login attempts in the last 24 hours. Please review your login history below and ensure all activity is authorized.
Manage browser sessions where you're currently logged in.
Your current session will appear here after your next login.
{format_browser_info(session)}
<%= if is_current do %> Current Session <% end %>Recent login attempts to your account, including successful and failed attempts.
Your login attempts will appear here.
| Date & Time | Status | Method | Location | IP Address |
|---|---|---|---|---|
| {format_timestamp_in_timezone( attempt.inserted_at, @current_scope.timezone )} | <%= if attempt.success do %> <.icon name="hero-check-circle" class="h-3 w-3" /> Success <% else %> <.icon name="hero-x-circle" class="h-3 w-3" /> Failed <% end %> | <% {icon, text} = login_method_info(attempt.method) %> <.icon name={icon} class="h-3 w-3" /> {text} | {format_location(attempt)} | {attempt.ip_address} |
Showing {(@login_history_pagination.page - 1) * @login_history_pagination.per_page + 1} to {min( @login_history_pagination.page * @login_history_pagination.per_page, @login_history_pagination.total_count )} of {@login_history_pagination.total_count} results
Manage TOTP devices for two-factor authentication. You must have at least one device configured.
Add your first authenticator app to enable two-factor authentication.
{device.name}
Added {Calendar.strftime(device.inserted_at, "%B %d, %Y")}
<%= if device.last_used_at do %>Last used {format_relative_time(device.last_used_at)}
<% end %>Single-use backup codes for account access if you lose your authenticator app.
<%= if @unused_recovery_codes_count == 0 do %> No recovery codes available - Generate new codes immediately <% else %> You have {@unused_recovery_codes_count} unused recovery code{if @unused_recovery_codes_count != 1, do: "s"} <% end %>
You have no recovery codes available. If you lose access to your authenticator app, you won't be able to log in. Generate new codes now.
This will log you out from all other browsers and devices. Your current session will remain active.
Give this token a name and select the organization it will have access to.
Copy this token now. You won't be able to see it again.
Click the token to select all, or use the Copy button
Give this device a name to help you identify it (e.g., "iPhone 15", "iPad Pro").
Scan this QR code with your authenticator app (Google Authenticator, Authy, 1Password, etc.).
Enter the 6-digit code from your app to verify
<.form for={%{}} as={:verification} phx-submit="verify_new_device">Save these codes in a secure location. Each code can only be used once.
These codes won't be shown again. Store them securely (password manager, encrypted file, etc.). If you lose your authenticator and these codes, you won't be able to access your account.