What Ward does today, and what is coming.
Every capability below carries a status. “Available” ships in the product today. “Coming” is not active in the product yet — some items are available for early access on request, but none should be relied on today. Where a capability has been tested, it also says how: “Validated on real Edge” (exercised on real Microsoft Edge with real services in the September 2026 validation) or “Automated tests” (unit, integration and headless-browser tests, not yet validated in real-world use).
Data protection
Ward decides locally, at the moment a user pastes, drops, uploads or submits something, using a signed policy cached on the device. A rule combines who (user, groups), device (managed or not), application (and whether it is sanctioned), account (corporate, personal or unrecognised), action and data (local DLP classification), and returns allow, log, warn, justify or block.
Area status: Available Stops sensitive company data from leaving through AI prompts, pastes, uploads and form submissions — decided in the browser, at the moment of the action.
-
AI prompt protection
Inspects text pasted into or submitted to AI tools (Enter, send button, form submit) and applies the policy decision before the prompt is sent.
Validated on chatgpt.com in real Edge. Apps with unusual send mechanics may not be intercepted on submit; paste and upload interception do not depend on the app.
-
Paste and drag-and-drop inspection
Every trusted paste and drop (text and files) is inspected locally. Keystrokes are never observed.
Paste blocking validated in real Edge on Windows and macOS.
-
File upload inspection
Reads the text of files at upload time: text-like formats, .docx/.xlsx/.pptx, and PDFs (parsed in an isolated extension frame with time and size limits).
Not inspected: images, legacy Office formats, archives, encrypted or scanned PDFs, files over the size budget (10 MB by default). Rules can choose to block content that could not be inspected.
-
Local DLP detectors and classifications
Built-in detectors for payment cards (Luhn-checked), U.S. Social Security numbers, email addresses, U.S. phone numbers, cloud and SaaS keys and tokens, private keys, database connection strings with credentials, JWTs and generic secrets — plus custom keyword dictionaries and regular expressions. Detectors return counts, never values.
Payment card detection is part of the real-world validation.
-
Corporate vs personal account context
Reads the account an app displays (for example Google’s account button or a SharePoint tenant host) and classifies it as corporate, personal or unrecognised, so policies can treat a personal account differently from a work one.
ChatGPT and Claude usually do not display the signed-in email, so they classify as unrecognised. Policies should treat personal and unrecognised alike for those apps.
-
App and AI discovery
Daily roll-up of which applications are used, with which account type, against a built-in catalog of about 65 apps. Unknown hosts that look like AI tools are treated as unreviewed generative AI.
Records hostnames only. Organisations can restrict discovery to catalog applications.
-
Graduated decisions
Allow, log, warn, require a business justification, or block. The strongest matching rule wins; relaxations are explicit, scoped, audited, expiring exceptions.
Block validated in real Edge; warn and justify are covered by automated browser tests.
This paste was blocked
The content you pasted may contain Payment card data.
- Destination
- ChatGPT (not confirmed as your work account)
Use your approved corporate account for work data.
Extension protection
Ward inventories every extension on enrolled browsers and tracks what each one is, where it comes from, what it may do and what changed. Blocking is enforced by Microsoft Edge policy, which remains authoritative.
Area status: Available Shows every browser extension in the organisation, where it comes from, what it may do and what changed — and blocks it through Microsoft Edge policy when an administrator decides to.
-
Extension inventory
Name, ID, version, permissions and host access of every extension on enrolled browsers, with affected devices and users.
Exercised end to end in headless Chromium; not yet against real store extensions updating on real Edge machines.
-
Publisher and store history
Publisher, source (Edge Add-ons, Chrome Web Store, self-hosted, unpacked) and store status over time, including removal from a store.
Live store lookups are opt-in and rely on an unofficial Edge Add-ons endpoint and the public Chrome Web Store listing page; only the extension ID is sent.
-
Permission-change alerts
Alerts when a new version gains high-risk permissions or all-sites access, changes publisher or update source, or disappears from its store.
-
Explainable risk score
A 0–100 score from declared permissions, site access, source, store status and recent changes; every factor is shown with its points.
A risk score, not a verdict: Ward does not label an extension “malware” from these signals.
-
Administrator blocking via Edge policy
An administrator marks an extension Blocked; Microsoft Edge enforces it through policy (ExtensionSettings on macOS, ExtensionInstallBlocklist on Windows).
On Windows the generated Intune script must be redeployed after a change; on macOS the Intune profile is pushed after preview.
-
Malware scanning and reputation
Static analysis of extension packages and reputation data.
Early access on request.
-
Automatic blocking
Rules that block extensions automatically, for example on a known-malicious verdict.
Early access on request.
Web protection
Area status: Coming Blocking of phishing, malware and scam sites is coming. Today, company policy can already block or warn on navigation to specific applications and categories.
-
Policy-based site and app controls
Block, warn or require a justification when users navigate to specific applications or categories (for example unsanctioned AI tools). Blocks of known hosts are applied before the page is requested.
Blocks that depend on the account type, and blocks of unknown hosts, are applied in the page shortly after it starts loading.
-
Phishing, malware and scam site blocking
Threat-category blocking based on vetted feeds and organisation deny lists.
Early access on request.
Download protection
Area status: Coming Download reputation is coming. Today, company policy can already block, warn on or log downloads by source site and file type.
-
Download rules by source site and file type
Policies act on the source application, file name, type and size of a download before it completes.
Download contents are not inspected.
-
Download reputation
Checking download sources against threat data before the file is saved.
Early access on request.
Admin console and integrations
-
Admin console
Devices, discovery, policies (sentence builder with simulator), classifications, alerts, investigations and extension intelligence in one web console.
Enrolled devices and blocked events were observed in the console during the real-world validation.
-
Roles and audit log
Five administrator roles (Owner, Security Admin, Policy Admin, Analyst, Read Only), enforced by the server. Append-only audit log of administrative actions.
-
Signed, versioned policy
Each change compiles an immutable policy version, signed with ECDSA P-256. Devices verify it, can pin the key via MDM, reject rollbacks and keep the last known-good policy offline.
-
Alerts and SIEM webhooks
Rule-based alerts (policy alerts, repeated blocks, heartbeat loss, risky extensions) delivered to SIEM/SOAR through HMAC-signed webhooks.
No behavioural analytics (UEBA).
-
Microsoft Entra ID directory sync
Users, groups and memberships read from your tenant (read-only Graph permissions) so policies can target groups.
Tested against mocked Microsoft Graph; not yet validated against a live tenant.
-
Administrator single sign-on with Entra ID
OpenID Connect with PKCE. Administrators must already exist in Ward; SSO never creates them.
Tested against mocks; not yet validated against a live tenant.
-
Device user verification with Entra ID
Proves which directory user is signed in to the browser using an Entra ID token. Unverified users get every restriction but no identity-scoped exception.
Tested against mocks; not yet validated against a live tenant or in Edge.
Supported browsers
| Browser | Platforms | Status | Tested | Notes |
|---|---|---|---|---|
| Microsoft Edge | Windows, macOS | Available | Validated on real Edge | Primary target. Validated in real Edge 153/154 on Windows (x86-64) and macOS (arm64). |
| Google Chrome | Windows, macOS | Available | Automated tests | Same extension build; automated tests run in Chromium. Not yet validated in real Chrome. |
| Firefox, Safari | — | Not supported | — | Not supported. |
| Unmanaged browsers, native apps, mobile | — | Not supported | — | Ward protects the managed browser only. Block other browsers with your MDM’s app controls if required. |
Deployment
-
Microsoft Intune — Windows
Ward generates a PowerShell platform script (and a .reg file) that force-installs the extension and delivers its managed configuration.
Validated on a real Intune-managed Windows 11 VM: zero-touch enrollment, not removable by the user. Delivery is manual (you upload the script).
-
Microsoft Intune — macOS
Ward generates a .mobileconfig profile you upload as a custom profile. Optionally, after you authorise a dedicated app registration, Ward can create and update the profile via Microsoft Graph — only after you preview and confirm each change.
Not yet validated through a real Intune tenant; the Graph push is tested against mocks only.
-
Microsoft Edge Add-ons store or self-hosted
The extension can be published to Edge Add-ons or self-hosted as a signed package with an update manifest.
The validation used a self-hosted package with a development signing key; production requires HTTPS and a release key.
-
Other MDM / Google Admin console
Any tool that can set Edge or Chrome extension policies can deliver the same keys.
Documented, not validated.
Real-world validation
In September 2026, version 0.1.0 was tested on real Microsoft Edge, the real chatgpt.com and a real Microsoft 365 tenant with Intune — not mocks. Test content was a public test card number. After each round, a full dump of the Ward database and the complete server log were searched for it: zero matches.
| Check | Windows, Edge 153 | macOS, Edge 154 | Windows 11 VM via Intune, Edge 154 |
|---|---|---|---|
| Ward loads in real Microsoft Edge | Yes | Yes | Yes |
| Enrolls with the Ward server | Yes manual | Yes manual | Yes zero-touch |
| Receives and verifies a signed policy | Yes | Yes | Yes |
| A normal ChatGPT prompt still works | Yes | Yes | Yes |
| Synthetic card number pasted into ChatGPT is blocked | Yes | Yes | Yes |
| Typed card number submitted to ChatGPT is blocked | Not tested | Yes | Yes |
| Test content absent from database and server logs | Yes | Yes | Yes |
| Metadata event visible in the console | Yes | Yes | Yes |
| User cannot remove the extension | Not tested | Not tested | Yes |
Not yet validated
- macOS deployment through Intune
- Microsoft Entra ID against a live tenant (directory sync, admin SSO, device user verification)
- Google Chrome and other browsers
- HTTPS transport and a release signing key (the test used plain HTTP on a LAN and a development key)
Carried forward
Found during validation: on chatgpt.com the account type was detected as “unrecognised”, never “personal”. Blocking was still correct because the policy covers personal and unrecognised accounts alike — but rules that allow corporate AI accounts should not rely on account detection on ChatGPT yet.