Guard Verification
Guard (Wasm Guard) is an active monitoring subsystem running within the TechUI Wasm core.
If "anti-tampering" is the system's passive defense baseline, then "Guard Verification" is the system's active compliance check. It is responsible for high-frequency validation of whether the current environment meets the various constraints defined by the license during runtime, ensuring that components operate in a legal and secure state.
License Compliance
The Guard strictly compares the current operating environment against the configured license parameters (refer to the [Decryption Process] chapter) item by item.
📅 Expiration Check
The Guard's validation strategy for expiration depends on the license type:
- Official Licenses: For official licenses such as Project / Company / Commerce, the
expDatedefaults toendless(permanent). The Guard will not block these licenses due to expiration. - Development Licenses: This is the only license type with a mandatory deadline. The Guard checks if the current system time has exceeded the end time defined by the development license. Once expired, components will stop running and prompt you to purchase an official authorization.
- Temporary Experience Keys: When free version users use a "Temporary Key" to unlock advanced components, the Guard initiates countdown monitoring. Once timed out, the component will automatically trigger a circuit break or downgrade back to the free state.
🔒 Project Title Lock
When Project Binding is enabled in the license, the Guard initiates a strict title monitoring mechanism:
- Consistency Check: Detects whether the browser title
document.titlecontains theprojectname specified in the license. - Hijack Countermeasures: To prevent malicious code from deceiving the check by hijacking the
document.titleproperty viaObject.defineProperty, the Guard inspects the property descriptor. - Note: Normal business code does not need to rewrite the title property's Setter/Getter. Detection of non-native property definitions will be treated as an attack.
🌐 Domain/Environment Binding
- Logic: If the license is configured with
domainBindorlocalOnly, the Guard validateswindow.location.hostname. - Scenario: Primarily used to restrict "localized deployment" authorizations from being illegally deployed to public network environments.
Runtime Integrity Check
In addition to validating the license, the Guard ensures that its own running foundation (the browser environment) has not been compromised.
🧬 Native Method Integrity
TechUI's Wasm module relies on certain native browser APIs for communication and rendering. The Guard detects whether these key methods have been tampered with or hooked by third-party scripts during startup and runtime.
- Monitoring Targets: Includes but is not limited to
consolemethods,setTimeout/setIntervaltimers, andfetchrequest methods. - Judgment Criteria: Checks if these functions are
[native code]to prevent malicious code from injecting hooks to intercept or forge data.
📝 Signature Integrity
- Logic: TechUI injects a comment node containing an authorization summary at specific locations in the DOM structure (such as the end of
<head>or<body>). - Monitoring: The Guard periodically checks for the existence of this signature node. Manual removal of this node is considered a violation of intellectual property display and will trigger a circuit break.
Trigger Mechanism
Guard verification does not occupy main thread resources at all times; instead, it employs a hybrid strategy of "event-driven + low-frequency polling".
| Trigger Method | Description | Frequency |
|---|---|---|
| Initialization Self-test | The first full check during component loading. | 1 time / lifecycle |
| Advanced Invocation | Triggered when code calls advanced components (e.g., 3D scenes). | Triggered as needed |
| Heartbeat Polling | Low-frequency status confirmation using the Wasm internal timer. | Extremely low frequency (no impact on performance) |
⚠️ Developer Note
To avoid false positives, please do not override native browser object methods (such as Date, setTimeout) or use hacking techniques to hijack DOM properties in your business code. These actions may be misjudged by the Guard as an insecure environment.