Microsoft Entra ID single sign-on across every dealer subdomainmyEZData for iOS and Android, one app with a face for every roleBank reconciliation: linked accounts matched to POS cash and armored pickupsBeacon time clock with geofenced auto clock-in, live on the floorSupplier partner API: catalog, orders, ship notices and receivables every 20 minutesAsk your data in plain English and get a validated query backInbound device shipments tracked by UPS and pushed to the crew on arrivalMicrosoft Entra ID single sign-on across every dealer subdomainmyEZData for iOS and Android, one app with a face for every roleBank reconciliation: linked accounts matched to POS cash and armored pickupsBeacon time clock with geofenced auto clock-in, live on the floorSupplier partner API: catalog, orders, ship notices and receivables every 20 minutesAsk your data in plain English and get a validated query backInbound device shipments tracked by UPS and pushed to the crew on arrival
Request a demo

Platform/12/Security and tenancy

12 Security and tenancy

Your data in its own database. Your people behind your identity provider.

A dealer group is a tenant with its own database, its own subdomain and its own settings. Above it sits a control plane that provisions, licenses and monitors without ever holding operational data. Sign-in is Microsoft Entra ID, permissions are layered, devices are registered, partner traffic is signed, and the records that matter do not move.


Isolation
Database per group, sub-brand mirrors, landlord control plane, store authorization
Identity
Entra ID on web and mobile, provisioning, identity verification, biometric
Access
Five permission layers, visibility gates, nightly role reconciliation
Assurance
Signed APIs, edge TLS, private storage, tenant-tagged errors, immutable records

/ Works with

    01 Tenancy

    One database per dealer group.
    A control plane above them all.

    Landlord control plane tenants · modules · licenses · store authorization · nav · scrapers · audit log · AI usage · no operational data Master dealer A · own database dealer panel, users, stores, imports Sub-brand 1t1_ mirrors Sub-brand 2t5_ mirrors sub-brands never see each other stores authorized to exactly one sub-brand Master dealer B own database Sub-brandt9_ mirrors same code, different data Shared, supplier-global catalog · warehouse stock · partner keys Sensitive, isolated per tenant payroll · punches · discipline · orders Every admin page is scoped to the tenant it runs in, by rule, with a sentinel that fails the moment a forbidden mirror gains a row
    Tenancy: landlord above, a database per master dealer, sub-brands mirrored inside it
    / 01

    Isolation by database, not by column

    • Group database per master
    • Connection switched per request
    • Sensitive tables prefixed

    Each master dealer's operational data lives in its own database; the request resolves the tenant from the control plane and switches the connection. Sub-brands inside a master live in mirrored tables and never see each other; payroll, punches and discipline are among the tables that never leave the tenant.

    / 02

    Store authorization

    • Door onboarding queue
    • One sub-brand per store
    • Sub wins tiebreak

    A store is authorized to a dealer group and a sub-brand before any data flows for it. Partner and carrier rows resolve to their store by door code, then to the tenant, one row at a time, on our side.

    / 03

    Modules and licenses

    • 22 modules
    • Landlord activates
    • Ships dark

    Modules are activated by the landlord for a master dealer, then by the master for its sub-brands; nothing self-provisions. New modules ship dark and turn on per group, with an app-wide switch above every one of them.

    02 Identity

    Sign in with Microsoft.
    Verify who you hire.

    / 01

    Entra ID single sign-on

      One registered redirect serves every dealer subdomain: the originating host rides the callback in a short-lived encrypted cookie, so a user lands back where they started. Password login remains only until every user is covered; Microsoft-only is the end state.

      / 02

      Provisioning

      • Account from onboarding
      • Internal email as key
      • Authenticator guidance

      Where enabled, a new hire's Microsoft account is created from the onboarding flow with the internal email as the login key, so the first login is already single sign-on.

      / 03

      Identity verification and the legal gate

        Government ID and selfie verification on production keys during onboarding; we keep the decision, not the documents. Terms, privacy and content-usage are accepted on first login, on the web and in the app, per user.

        / 04

        Carrier and landlord staff

        • Email one-time code
        • Separate guard
        • No shared accounts

        Carrier account managers use a one-time email code on their own panel with no account on our side. Landlord staff use a separate guard and a separate database.

        03 Permissions

        Five layers decide
        what a person sees.

        Permission model

        Layers, in the order they are checked

        LayerQuestionWhere it is set
        RoleWhich permissions does this person hold? Rep, manager, district, area, regional, finance, HR, owner, super admin.Roles and a permission matrix, per dealer group
        Store scopeWhich stores may they see? Their own, their territory, their region, an overlay pool, everything.Store master, tier assignments, overlays
        ModuleIs this capability switched on for this dealer group?Landlord module matrix, master dealer sub-brand matrix
        FeatureIs this page or action enabled for this role in this group?Feature registry and page gates
        TierDoes their management tier unlock this? Tiers are re-derived nightly from the store master.Nightly role reconciler, with named exceptions

        Dollar figures stay behind a payout visibility gate until the week closes. A read-only gate exists for roles that may look but never write.

        04 Devices and APIs

        A phone can be lost.
        A signature cannot be guessed.

        Device trust

        Phones registered per user with OS and build; a lost handset revoked without a password reset; biometric unlock gates the local session for the trust window.

        • Registered devices
        • Revoke
        • Biometric

        Single-device policy

        Where enabled, enrolling a new phone signs the previous one out by revoking its token, with an approval queue for the swap. Old builds retire through a gate that fails to no gate, never to a wall.

        • One phone per rep
        • Approval queue
        • Force-update gate

        Signed partner traffic

        Partner pulls are signed requests; inbound webhooks are verified against a shared secret before the payload is trusted; partner keys are stored as hashes with scopes and an optional IP allow-list.

        • HMAC
        • Verified webhooks
        • Hashed keys

        Tokens

        Mobile and portal sessions are bearer tokens with expiry and rotation. We issue the OAuth token the shipping carrier's webhook client presents to us.

        • Token auth
        • Expiry
        • OAuth issuer

        Secrets

        Credentials live in environment configuration and the landlord's integration vault, never in the repository. A public exposure audit closed the web root to application files and rotated the affected credential the same day.

        • Vaulted
        • Rotated
        • Audited

        Uploads

        Documents, signatures and photos go to object storage on tenant-scoped paths and stream only through an authenticated route, never a public URL.

        • Private disk
        • Tenant paths
        • Authenticated stream

        05 Platform

        Edge, storage,
        monitoring, backups.

        / 01

        Cloudflare

          DNS with wildcard subdomains so a new dealer group needs no DNS work, TLS at the edge, DKIM, SPF and DMARC for deliverability, and R2 object storage for uploads.

          / 02

          Monitoring

            Exceptions tagged by dealer group in Sentry, supervised queue workers with a dashboard, a landlord health monitor, a scheduler audit for silent skips, and collectors that report when they return nothing.

            / 03

            Backups and archiving

            • Nightly backups
            • Pre-change snapshots
            • Archiving

            Nightly database backups, a snapshot before any bulk change, and an archiving routine for the tables that grow by the hour.

            06 Records

            What is written
            stays written.

            Locked pay weeks

            A locked commission or payroll week is immutable at the service layer. Corrections post forward on the next open week with the reason kept.

            Append-only ledgers

            The reward ledger and the deduction ledger are never updated or deleted. A correction is a compensating entry.

            Worked time

            Punches are never hard-deleted. A reconciled punch is soft-removed with a marker that says why.

            Audit logs

            A landlord audit log for control-plane changes, a ticket audit log per ticket, a manual-edit log for anything done by hand.

            Soft deletes

            Operational records soft-delete by rule so a report can always explain a number that used to be there.

            Retention

            Raw presence pings roll up after a retention window; documents and signatures keep for as long as the employee record does.

            → Start

            Send us your
            security questionnaire.

            We answer it against what is actually running, and show you the tenancy on a real dealer group with the data redacted.

            Request a demo