TechHQ USA, LLC (“we”, “us”, “our”) operates the Makro browser extension (“Makro”, “the Extension”). This Privacy Policy explains what data Makro collects, how it is used, and your rights regarding that data.
Summary
Makro is designed with a local-first, privacy-first architecture:
The following data is stored on your device using the browser’s extension storage and never leaves your device unless you enable cloud sync:
When you first install Makro, the extension sends a single, anonymous request to our server containing:
| Data | Purpose | Stored? |
|---|---|---|
| Extension version | Track adoption of new versions | No (one-time request) |
| Browser platform | Understand platform distribution | No |
| Browser locale | Prioritize localization efforts | No |
| Country (derived from IP by Cloudflare) | Understand geographic distribution | No |
This request is:
When you activate a paid subscription, the following data may be transmitted:
| Data | When | Purpose |
|---|---|---|
| License key | Every API request | Subscription validation and tier enforcement |
| Encrypted macros | When you click “Sync to Cloud” | Cross-device synchronization |
| Encrypted category names | When you click “Sync to Cloud” | Category structure synchronization |
| Device ID and device name | During cloud sync | Multi-device management |
| Sync timestamps | During cloud sync | Conflict resolution |
| Macro text (Pro and Premium) | When you use AI Rewrite or Semantic Search | AI text processing |
AI text is sent only for the specific rewrite or search operation you initiate and is not stored after processing. AI-generated content is for general informational purposes only and does not constitute professional advice (legal, medical, financial, etc.).
| Purpose | Data Used | Legal Basis |
|---|---|---|
| Macro expansion | Locally stored macros | Core functionality |
| License validation | License key | Contract performance |
| Cloud sync | Encrypted macros, device info | Your explicit opt-in |
| AI text rewrite | Macro text you select for rewriting | Your explicit action |
| Semantic search | Macro titles and bodies (for embedding) | Your explicit opt-in |
| Device management | Device ID, device name | Multi-device sync |
| Rate limiting | License key, request counts | Service protection |
| Install telemetry | Version, platform, locale, country | Legitimate interest (product improvement) |
All macro data stored on your device is encrypted using AES-256-GCM with a key derived via PBKDF2 (600,000 iterations, SHA-256) from a randomly generated device key and a per-user random salt.
| Parameter | Value | Standard |
|---|---|---|
| Cipher | AES-256-GCM | NIST FIPS 197 / SP 800-38D |
| Key derivation | PBKDF2 (SHA-256, 600,000 iterations) | NIST SP 800-132 |
| IV / Nonce | 96-bit, random per operation | NIST SP 800-38D |
| Salt | 128-bit, random per installation | NIST SP 800-132 |
| Crypto library | Web Crypto API (browser-native) | W3C Web Cryptography API |
When you use cloud sync, your macros are encrypted on your device before transmission using a key derived from your license key. Our servers store only encrypted blobs and cannot read your macro content. Only devices with your license key can decrypt the data.
While your macros are encrypted both locally and in the cloud, Makro is not a password manager or secrets vault. Anyone with access to your browser or device can open the extension, trigger your hotwords, and view your macro content in plaintext. We strongly recommend that you do not store passwords, API keys, authentication tokens, or other sensitive credentials in your macros.
Decrypted data is held in memory only during your active session. The session auto-locks after 30 minutes of inactivity. Encryption keys are never stored in plaintext.
Makro uses the following third-party services for paid features:
Makro requests the following browser permissions, which are necessary for core functionality:
| Permission | Purpose |
|---|---|
storage | Store macros, settings, and statistics locally |
clipboardRead | Capture clipboard history (optional, user-enabled feature) |
activeTab | Insert text expansions in the active tab |
contextMenus | Right-click context menu for quick macro access |
alarms | Schedule periodic tasks (session timeout, auto-lock) |
downloads | Export macros as JSON files |
declarativeNetRequest | Manage network request rules for content script compatibility |
notifications | Display sync status and system notifications |
We do not request tabs, history, cookies, webRequest, or other broad permissions.
You can delete your data at any time:
Depending on your jurisdiction, you may have the right to:
To exercise any of these rights, contact us at support@freetextexpander.com.
California residents have additional rights under the California Consumer Privacy Act (CCPA), including the right to know what personal information is collected and the right to request its deletion. For information on your CCPA rights or to submit a request, contact us at support@freetextexpander.com.
Makro is not directed at children under the age of 13. We do not knowingly collect personal information from children under 13. If you believe a child has provided us with personal data, please contact us and we will delete it.
Our servers are hosted on Cloudflare’s global network. By using cloud sync or AI features, your encrypted data may be processed in data centers outside your country of residence. Cloudflare maintains appropriate safeguards for international data transfers.
In the event of a security incident affecting our servers, we will notify affected users within 72 hours as required by applicable law and provide details on impacted data and recommended actions.
We may update this Privacy Policy from time to time. We will notify users of material changes by updating the “Last Updated” date at the top of this document and, where appropriate, via in-product notice or email. Continued use of Makro after changes constitutes acceptance of the updated policy.
If you have questions about this Privacy Policy or your data:
Full terms of service: Terms of Service