Docs/Admin/Settings

Settings

Configure your Hygate workspace — integrations, security, branding, and team management.


Overview

The Settings module is where you configure every aspect of your Hygate workspace. Only administrators have full access to Settings. Operators can access only the General tab to change their own password.


General

Global application settings that apply across all modules.

SettingDescriptionDefault
Company NameDisplayed on guest payment pages and emails
Payment Page TitleBrowser tab title for payment pages
Default Access PriceDefault price in EUR for new doors€1.00
Default Access DurationDefault duration in minutes for new doors60
CurrencyPayment currencyEUR
Trust Period (Days)Days a trusted device bypasses 2FA re-authentication30
TTLock EnabledEnable or disable TTLock moduletrue
Shelly EnabledEnable or disable Shelly moduletrue

Changing Defaults

Changes to default price or duration only apply to new doors created after the change. Existing doors keep their individual overrides.

Disabling Modules

ModuleWhen Disabled
TTLockDoors page is hidden. QR payment flow is disabled.
ShellyDevices page is hidden. Device session flow is disabled.

Payment Page Branding

Customize the appearance of public payment pages — the pages guests see when they scan a QR code.

SettingDescription
Logo URLURL to your company logo (PNG or SVG recommended)
Brand ColorPrimary accent color in hex (e.g., #0A84FF)
Header TextWelcome message shown at the top of payment pages
Footer TextFine print, contact info, or terms shown at the bottom

Branding Preview

Most settings pages show a live preview of how payment pages will appear to guests. Use this to verify your branding before saving.

Logo Guidelines

  • Recommended format: PNG or SVG with transparent background
  • Recommended size: 200×80 pixels (will be scaled)
  • Max file size: 2MB
  • Hosting: Upload to any publicly accessible URL (S3, Cloudinary, your CDN, etc.)

Stripe

Connect Stripe for payment processing.

Required Credentials

FieldWhere to Find It
Publishable KeyStripe Dashboard → Developers → API keys → Publishable key
Secret KeyStripe Dashboard → Developers → API keys → Secret key
Webhook SecretStripe Dashboard → Developers → Webhooks → Signing secret

Webhook Configuration

  1. Go to Stripe Dashboard → Developers → Webhooks
  2. Click Add endpoint
  3. Enter your webhook URL:
    https://your-domain.com/api/stripe/webhook
    
  4. Select events to listen for:
    • checkout.session.completed
    • payment_intent.succeeded
    • charge.refunded
  5. Click Add endpoint
  6. Copy the Signing secret and paste it into Hygate

Testing the Connection

Click Test Connection to verify:

  • API keys are valid
  • Hygate can reach Stripe
  • Webhook endpoint is accessible from Stripe

TTLock

Connect your TTLock smart lock system.

Required Credentials

FieldWhere to Find It
Client IDTTLock Developer Portal → Application credentials
Client SecretTTLock Developer Portal → Application credentials
UsernameYour TTLock account email
PasswordYour TTLock account password (MD5-hashed before transmission)

Getting TTLock Credentials

  1. Go to ttlock.com and create a developer account
  2. Navigate to the developer portal
  3. Create a new application
  4. Copy the Client ID and Client Secret
  5. Enter your TTLock account credentials

Testing the Connection

Click Test Connection to verify:

  • OAuth2 token retrieval
  • Lock list access
  • API reachability

TTLock credentials include an access token and refresh token that Hygate manages automatically. Hygate handles token refresh transparently.


Shelly

Connect your Shelly IoT relay devices.

Required Credentials

FieldWhere to Find It
Auth KeyShelly Cloud Dashboard → Account → Auth Key
ServerShelly Cloud API server URL (usually auto-filled)

Getting a Shelly Auth Key

  1. Log in to Shelly Cloud
  2. Go to Account → Auth Key
  3. Generate a new Auth Key
  4. Copy and paste it into Hygate

Server URL

Leave the server URL at its default unless you have a custom Shelly Cloud deployment.

Testing the Connection

Click Test Connection to verify:

  • Auth key is valid
  • Device list is accessible
  • API reachability

Email

Configure email delivery for OTP codes and notifications via Resend.

Required Credentials

FieldDescription
Resend API KeyFrom your Resend dashboard
From EmailThe sender email address (must be verified in Resend)

Getting a Resend API Key

  1. Create an account at resend.com
  2. Verify your sending domain
  3. Create an API key from the Resend Dashboard
  4. Copy and paste it into Hygate

Testing the Connection

Click Test Connection to send a verification email. Check your inbox for the test message.


Security

Configure authentication and session policies.

2FA Methods

MethodDescriptionBest For
DisabledNo two-factor authentication requiredTesting environments only
Email OTP6-digit code sent to user's email on loginTeams without smartphones
Authenticator AppTOTP code from Google Authenticator, Authy, etc.Maximum security
Either methodUser can choose between email OTP and authenticator appFlexible teams

Setting Up TOTP (Authenticator App)

  1. Go to Settings → Security
  2. Select Authenticator App as the 2FA method
  3. Click Enable 2FA on your user profile
  4. Scan the QR code with an authenticator app (Google Authenticator, Authy, 1Password, etc.)
  5. Enter the 6-digit code to confirm
  6. Save your backup codes in a secure location

Setting Up Email OTP

  1. Go to Settings → Security
  2. Select Email OTP as the 2FA method
  3. Users will receive a 6-digit code via email on each login

Trust Period

The Trust Period setting allows users to skip 2FA on devices they've already verified. When set to 30 days, a user who enters a 2FA code on their personal laptop won't need to verify again for 30 days.

Session Timeout

Configure how long a session remains valid before requiring re-authentication.


Team

Manage workspace members and their access levels.

Viewing Team Members

The Team page lists all users with their:

  • Email address
  • Role (Administrator or Operator)
  • 2FA status
  • Last login timestamp
  • Account status (Active or Deactivated)

Inviting a New User

  1. Click Invite User
  2. Enter the user's email address
  3. Select a role: Administrator or Operator
  4. Click Send Invitation
  5. The user receives an email with an invitation link

Changing a User's Role

  1. Find the user on the Team page
  2. Click Change Role
  3. Select the new role
  4. Confirm

Deactivating a User

Deactivating revokes access without deleting the account:

  1. Click Deactivate next to the user
  2. Confirm — the user cannot log in until reactivated

Deleting a User

Deleting permanently removes the account and all associated data:

  1. Click Delete next to the user
  2. Confirm — this action is irreversible

Role Permissions Summary

SettingAdministratorOperator
General settingsFull accessView only
Change own passwordYesYes
BrandingFull accessNo access
Stripe configurationFull accessNo access
TTLock configurationFull accessNo access
Shelly configurationFull accessNo access
Email configurationFull accessNo access
Security settingsFull accessNo access
Team managementFull accessNo access