Skip to content

Moonlit User Guide

Moonlit — Global dual employment detection and employment integrity monitoring for HR and compliance teams.

Table of Contents


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

ConceptDescription
CompanyYour organisation's account in Moonlit
EmployeeA current or past member of your workforce registered in Moonlit
MoonlitIDA unique, cross-company opaque identifier derived from hashed identity data
ScanA pre-hire conflict check run against a candidate before onboarding
AlertA notification that an active employee was detected at another Moonlit company
Trust ScoreA 0–100 score reflecting the confidence level of a conflict assessment
Trust TierQualitative 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:

  1. Go to Employees → Import
  2. Download the CSV template
  3. Fill in: nationalId, primaryEmail, fullName, employmentStartDate, jobTitle, department
  4. 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:

  1. Go to Scans → New Scan
  2. Enter the candidate's national ID, email, and full name
  3. Select the ID document type and issuing country
  4. Click Run Scan

Results are returned in seconds.


Dashboard

The dashboard gives you an at-a-glance view of your Moonlit account.

MetricDescription
Total EmployeesNumber of employees registered in your account
Active ConflictsOpen conflict alerts requiring attention
Scans This MonthPre-hire scans run in the current billing cycle
Avg Trust ScoreMean trust score across all scans this month
Recent ActivityLast 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

  1. Click Add Employee
  2. Enter: national ID, primary email, full name, start date, job title, department
  3. Click Save

Moonlit immediately hashes the data and adds the employee to the cross-company matching network.

Bulk CSV Import

  1. Go to Employees → Import
  2. Download the provided CSV template
  3. Fill in one row per employee
  4. Upload the completed file

Large imports are processed asynchronously. A notification appears when complete.

Terminating an Employee

When an employee leaves:

  1. Find them in the employee list
  2. 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

  1. Navigate to Scans → New Scan

  2. 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
  3. Click Run Scan

Understanding Results

Results include:

Trust Score — A number from 0 to 100.

Score RangeTrust TierMeaning
85–100HighNo conflicts found; proceed with confidence
50–84MediumMinor signals detected; review recommended
< 50LowActive conflict or strong signals; escalate

Signals — Individual findings contributing to the score:

SignalSeverity
Active employment at another Moonlit companyCritical
Recent prior employment overlapHigh
Email domain mismatchMedium

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:

  1. Open the scan from Scans → History
  2. Click Mark as Resolved
  3. 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

SeverityMeaning
CriticalActive simultaneous employment confirmed
HighStrong signals of undisclosed employment
MediumPossible conflict; manual review recommended

Managing Alerts

  1. Navigate to Alerts
  2. Click an alert to view full details including the involved employee's MoonlitID and conflict signals
  3. Click Mark as Read once reviewed
  4. 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

  1. Go to Settings → Team
  2. Click Invite Member
  3. Enter their email, full name, and role (member or admin)
  4. 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

  1. Go to Settings → Webhooks
  2. Click Add Webhook
  3. Enter your endpoint URL and select the events to subscribe to

Available Events

EventTriggered When
ConflictDetectedA scan or monitoring run detects a conflict
AlertGeneratedA new alert is created for an existing employee
ScanCompletedA pre-hire scan finishes processing
EmployeeRegisteredA new employee is successfully registered
AllEventsSubscribe to all of the above

Webhook Payload

All events follow this structure:

json
{
  "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.

Privacy-first employment integrity monitoring.