2-Seat Device Licensing
2-Seat Device Licensing & Registration
DodaMail uses a customer-friendly, transparent licensing architecture. Every standard license grants 2 active device seats (for example, your primary office workstation and your travel laptop), without invasive hardware binding or lockouts.
Core Licensing Principles
- 2 Active Seats Included: A single license key permits concurrent activation on two separate computers (Windows, macOS, or Linux).
- Hardware Freedom (Zero RAM/SSD Lockout): Many legacy licensing engines bind registration to CPU clock rates, motherboard serials, or RAM identifiers, causing licenses to break when you upgrade your RAM or replace a failed SSD. DodaMail uses stable OS installation identifiers. Upgrading your RAM, replacing your hard drive, or updating your BIOS will never invalidate your license.
- Seamless 1-Click Seat Transfer: When replacing an old laptop with a new computer, you can transfer your seat in a single atomic click directly inside the software without contacting technical support.
- Offline Grace Period: Once activated, DodaMail does not require continuous internet access. You can use the client offline for up to 14 consecutive days before a periodic background license check is scheduled.
- 30-Day Unrestricted Free Trial: Every installation includes a 30-day evaluation period with all enterprise features unlocked. On Day 25, a reminder offers an exclusive 30% discount coupon (
FLAT30).
The Software Registration Dialog (SoftwareRegistrationModal.tsx)
To inspect your license status, start an activation, or manage your active seats, open Settings -> License or click the Trial Status Pill in the sidebar.
Control-by-Control Breakdown
Every control on the Software Registration Dialog is documented below:
| # | Control Name | Control Type | Default State | Behavior & Purpose |
|---|---|---|---|---|
| 1 | License Status Badge | Status Pill | Trial Active |
Displays current entitlement state:
|
| 2 | Registered Name | Text Input | Empty |
The full name of the license owner or primary licensee (e.g., Jane Doe). |
| 3 | Email Address | Email Input | Empty |
The billing email address used during purchase at https://dodatech.com/shop/. |
| 4 | Organization / Company | Text Input | Optional |
Company or department name to be associated with enterprise license records. |
| 5 | Product License Key | Formatted Input | Empty |
The 16 to 24-character alphanumeric license key. Automatically capitalizes letters and inserts hyphens as you type (e.g., DODA-XXXX-XXXX-XXXX-XXXX). |
| 6 | “Activate License” Button | Primary Action Button | Enabled | Encrypts the payload, contacts the DodaTech WooCommerce License API, confirms active seat availability, and activates the local installation. |
| 7 | Evaluation Key Shortcut | Secondary Button | Enabled | In evaluation builds, pre-populates a verified community demo key (DODA-PRO-COMMUNITY-2026) for testing purposes. |
| 8 | Active Seats Counter | Visual Metric Box | 0 / 2 Seats |
Displays current seat utilization (e.g., 1 / 2 Seats Used or 2 / 2 Seats Used). |
| 9 | This Computer Name | Read-Only Field | System Hostname | Displays the network hostname of your current machine (e.g., MacBook-Pro.local or WORKSTATION-WIN11). |
| 10 | Device ID | Monospaced Text | OS Unique Hash | The anonymized, non-hardware-bound installation hash identifying this machine. |
| 11 | “Copy Device ID” Button | Icon Button | Enabled | Copies the unique installation hash to your clipboard for enterprise licensing audits. |
| 12 | Hardware Freedom Banner | Information Callout | Constant | Explicitly reassures the user: “RAM and SSD upgrades are fully supported without license invalidation.” |
| 13 | “Deactivate This Machine” | Secondary / Danger | Enabled (when active) | Releases the seat allocation on the DodaTech server, resetting this machine to evaluation mode and freeing up the seat for another PC. |
| 14 | “Buy License / Upgrade” | External Link Button | Enabled | Launches default browser to https://dodatech.com/shop/ with pre-applied promotional coupons. |
| 15 | “Close” | Dismiss Button | Enabled | Closes the modal. |
Seat Limit Reached & Atomic Seat Transfer Flow
If you attempt to activate a third computer using a 2-seat license key, DodaMail will detect that all allocated seats are currently occupied and display the Seat Limit Reached Dialog:
Controls on the Seat Transfer Dialog:
- Active Devices Table: Lists your currently registered machines:
- Device 1:
Office-Workstation(Activated Jan 12, 2026 - Last seen: Today) - Device 2:
Old-Travel-Laptop(Activated Aug 14, 2025 - Last seen: 42 days ago)
- Device 1:
- Device Selection Radio Buttons: Allows you to pick which existing machine you wish to replace.
- “Transfer Seat to This Machine” Button: When clicked, DodaMail executes an atomic transfer API call:
- The remote server instantly revokes activation for the selected obsolete machine.
- The current machine is immediately activated as the replacement seat.
- No emails, manual license de-authorizations, or customer support tickets are required.
- “Cancel” Button: Dismisses the transfer dialog and leaves the current computer in evaluation mode.
WooCommerce Licensing Plugin Integration (dodatech-license-api.php)
DodaMail integrates natively with the DodaTech WooCommerce Licensing Plugin running on your central store:
API Endpoints Overview
| Endpoint | Method | Payload Parameters | Purpose |
|---|---|---|---|
/wp-json/dodatech/v1/activate |
POST |
license_key, device_id, device_name, platform, app_version |
Validates license status, checks seat availability, registers machine ID, and returns activation signature token. |
/wp-json/dodatech/v1/verify |
POST |
license_key, device_id, token |
Periodic background verification validating that the license has not been refunded, revoked, or transferred. |
/wp-json/dodatech/v1/deactivate |
POST |
license_key, device_id |
Manually releases an active seat allocation when uninstalling or changing PCs. |
/wp-json/dodatech/v1/transfer |
POST |
license_key, old_device_id, new_device_id, new_device_name |
Atomically swaps an active seat from an old machine to a new machine in a single transaction. |
Cryptographic Verification & Offline Storage
Upon successful activation, DodaMail stores an encrypted, HMAC-SHA256 signed licensing certificate in the local application storage. This certificate contains your license tier, seat allowance, and expiry timestamp, ensuring that DodaMail never locks you out even when working in zero-connectivity environments.