Moonlit User Guide
Moonlit — Global dual employment detection and employment integrity monitoring for HR and compliance teams.
Table of Contents
- What Is Moonlit?
- Core Concepts
- Getting Started
- Dashboard
- Employee Registry
- Pre-Hire Scans
- Alerts Center
- Billing & Subscriptions
- Settings & Team Management
- Webhooks
- Privacy & Security
- FAQ
What Is Moonlit?
Moonlit is a B2B HR compliance platform that detects dual employment — when an individual works for two competing companies simultaneously without disclosure. Moonlit enables organisations to:
- Register their workforce and protect against undisclosed conflicts
- Run instant pre-hire conflict scans before extending an offer
- Receive real-time alerts when an active employee registers with another Moonlit member company
- Comply with employment integrity requirements across jurisdictions
Privacy-first by design. All personally identifiable information is hashed with PBKDF2 before storage. Moonlit never shares raw employee data between companies — matching runs entirely on cryptographic hashes.
Core Concepts
| Concept | Description |
|---|---|
| Company | Your organisation's account in Moonlit |
| Employee | A current or past member of your workforce registered in Moonlit |
| MoonlitID | A unique, cross-company opaque identifier derived from hashed identity data |
| Scan | A pre-hire conflict check run against a candidate before onboarding |
| Alert | A notification that an active employee was detected at another Moonlit company |
| Trust Score | A 0–100 score reflecting the confidence level of a conflict assessment |
| Trust Tier | Qualitative band — High (85–100), Medium (50–84), Low (<50) |
Getting Started
1. Register Your Company
Navigate to the Moonlit web application and click Get Started. Provide:
- Company legal name
- Industry
- Country of registration
- Official registration number
Once submitted, you receive a company account. Log in to access the dashboard.
2. Register Your Existing Workforce
Before your first scan, register your current employees so Moonlit can flag conflicts in both directions:
- Go to Employees → Import
- Download the CSV template
- Fill in:
nationalId,primaryEmail,fullName,employmentStartDate,jobTitle,department - Upload the CSV — Moonlit hashes all fields before storage
Alternatively, register employees one at a time via Employees → Add Employee.
3. Run a Pre-Hire Scan
Before extending a job offer:
- Go to Scans → New Scan
- Enter the candidate's national ID, email, and full name
- Select the ID document type and issuing country
- Click Run Scan
Results are returned in seconds.
Dashboard
The dashboard gives you an at-a-glance view of your Moonlit account.
| Metric | Description |
|---|---|
| Total Employees | Number of employees registered in your account |
| Active Conflicts | Open conflict alerts requiring attention |
| Scans This Month | Pre-hire scans run in the current billing cycle |
| Avg Trust Score | Mean trust score across all scans this month |
| Recent Activity | Last 5 alerts or notable events |
Employee Registry
Viewing Employees
The Employees page lists all registered staff. Use the search bar to find employees by:
- Full name
- MoonlitID
- Country
Pagination controls (20 per page by default) are shown at the bottom.
Adding an Employee
- Click Add Employee
- Enter: national ID, primary email, full name, start date, job title, department
- Click Save
Moonlit immediately hashes the data and adds the employee to the cross-company matching network.
Bulk CSV Import
- Go to Employees → Import
- Download the provided CSV template
- Fill in one row per employee
- Upload the completed file
Large imports are processed asynchronously. A notification appears when complete.
Terminating an Employee
When an employee leaves:
- Find them in the employee list
- Click Deactivate
The employee is removed from active monitoring. Their hashed record is retained for audit purposes per your retention policy.
Pre-Hire Scans
Running a Scan
Navigate to Scans → New Scan
Complete the candidate form:
- National ID — the unique government-issued identifier
- Email — candidate's primary email
- Full Name — as it appears on the identity document
- ID Document Type — NationalId, Passport, etc.
- Issuing Country — the country that issued the ID
Click Run Scan
Understanding Results
Results include:
Trust Score — A number from 0 to 100.
| Score Range | Trust Tier | Meaning |
|---|---|---|
| 85–100 | High | No conflicts found; proceed with confidence |
| 50–84 | Medium | Minor signals detected; review recommended |
| < 50 | Low | Active conflict or strong signals; escalate |
Signals — Individual findings contributing to the score:
| Signal | Severity |
|---|---|
| Active employment at another Moonlit company | Critical |
| Recent prior employment overlap | High |
| Email domain mismatch | Medium |
Conflict Found flag — true if an active employment conflict was detected.
Scan History
Go to Scans → History to view all past scans, filter by date range, and re-examine individual scan reports.
Resolving a Conflict
If you've investigated a flagged result and determined it is a false positive:
- Open the scan from Scans → History
- Click Mark as Resolved
- Add a note explaining your determination
Resolved conflicts are removed from the active conflicts count.
Alerts Center
Moonlit sends alerts when one of your registered employees is detected at another Moonlit member company (e.g., they start a second job).
Alert Severity Levels
| Severity | Meaning |
|---|---|
| Critical | Active simultaneous employment confirmed |
| High | Strong signals of undisclosed employment |
| Medium | Possible conflict; manual review recommended |
Managing Alerts
- Navigate to Alerts
- Click an alert to view full details including the involved employee's MoonlitID and conflict signals
- Click Mark as Read once reviewed
- Investigate and take appropriate HR action per your policies
Billing & Subscriptions
Plans
View available plans at Billing → Plans. Plans differ by:
- Number of employees you can register
- Number of pre-hire scans per month
- API access and webhook support
- Dedicated support tier
Payment Methods
Moonlit supports:
- Stripe — Credit/debit card, global
- Paymob — Egypt & MENA region
- Fawry — Egypt cash & digital payments
- Manual — Bank transfer (enterprise plans)
Managing Your Subscription
- Billing → Current Plan — view your active plan and usage
- Billing → Invoices — download past invoices
- Billing → Customer Portal — update payment method or cancel (Stripe accounts)
Settings & Team Management
Company Settings
Go to Settings to update:
- Company display name
- Contact email
- Company profile details
Inviting Team Members
- Go to Settings → Team
- Click Invite Member
- Enter their email, full name, and role (
memberoradmin) - They receive an email invitation to join your Moonlit account
Webhooks
Moonlit can POST real-time event notifications to your systems.
Setting Up a Webhook
- Go to Settings → Webhooks
- Click Add Webhook
- Enter your endpoint URL and select the events to subscribe to
Available Events
| Event | Triggered When |
|---|---|
ConflictDetected | A scan or monitoring run detects a conflict |
AlertGenerated | A new alert is created for an existing employee |
ScanCompleted | A pre-hire scan finishes processing |
EmployeeRegistered | A new employee is successfully registered |
AllEvents | Subscribe to all of the above |
Webhook Payload
All events follow this structure:
{
"event": "ConflictDetected",
"timestamp": "2025-01-15T10:30:00Z",
"data": { ... }
}Moonlit signs each webhook request. Verify the X-Moonlit-Signature header against the HMAC-SHA256 of the raw request body using your webhook secret.
Privacy & Security
- No raw PII stored — Names, national IDs, and emails are hashed with PBKDF2 before any storage or matching
- No cross-company data sharing — Companies never see each other's employee details; only a conflict signal is returned
- JWT authentication — All API and portal access requires a valid signed token
- Rate limiting — API requests are throttled per user to prevent abuse
- TLS everywhere — All traffic is encrypted in transit
FAQ
Can the other company see my employee's details? No. Moonlit returns only a conflict signal and a trust score. The other company's identity is never revealed.
What happens to data when I terminate an employee? The hashed record is retained for audit and integrity purposes per your data retention settings. No raw PII is ever stored.
What if a candidate disputes the scan result? You can mark scans as resolved false positives. Contact Moonlit support for formal dispute processes.
Which countries are supported? Moonlit supports employees from any country — just provide the issuing country and document type used. Cross-border conflict detection is fully supported.
Is Moonlit GDPR compliant? Yes. All data is stored as irreversible hashes; no raw personal data is persisted or transmitted. Consult your DPA for jurisdiction-specific obligations.