How the FileWave Client Communicates
What
This article explains how the FileWave Client securely communicates with FileWave infrastructure components during enrollment and ongoing operations. It covers certificate-based authentication, transport mechanisms, and platform-specific communication flows so administrators understand what talks to what, how, and why.
A key design principle of FileWave communication is mutual TLS (mTLS), where both client and server authenticate each other using certificates issued by the FileWave Certificate Authority (CA).
When / Why
Understanding FileWave client communication is important when:
- Designing network topology (firewalls, proxies, NAT, boosters, NATS)
- Troubleshooting enrollment or check-in failures
- Auditing security posture (certificate usage, authentication, encryption)
- Explaining FileWave behavior to security or infrastructure teams
This knowledge is especially critical in modern deployments where communication is brokered through NATS rather than direct point-to-point HTTP(S) connections.
How
Enrollment
At this pointpoint, you have either installed the FileWave client onto a computer,device manually, or the computerdevice has gottenreceived the client fromautomatically DEP.(for example via Automated Device Enrollment).
ClientThe client uses the configured serverfieldaddress tomakeinitiate a connection to theserverFileWave server.ClientThe client downloads the FileWave CAinfocertificate fromserverthe server.ClientThe client generatesclientaIDunique Client ID.ClientThe client generatesCSRa(Certificate SigningRequest),Request (CSR) andsavessecurely stores the private key locally.- The client sends the Client ID, device name, and CSR to the server.
- The client polls the server on the tickle/heartbeat interval until a certificate is issued.
- The server signs the CSR and returns a client certificate.
- The client validates the returned certificate against:
- Its locally stored private key
ClientThesendsFileWaveclient ID, name, CSR to serverClient polls server (on tickle/heartbeat interval) until certificate is readyServer sends the clientCA certificateClient
verifies the certificate against the local key and the CA it downloaded
ClientThe client record isaddedcreated(andincertificateFileWaveis created)Central:(Auto-add)add:ClientThe client is automatically approved andgoesplaced into theselectedconfiguredautomaticauto-addfoldergroup.(upgradedUpgradedclient)client:ClientThe client is automaticallyapproved,approved andcontinuesresumes normaloperationoperation.(Vetting)ManualClientvetting:sitsThe client remains pending inthe new client UI (ClientviewView → NewclientClients→untilDesktop Clients) till approvedapproved.
IfFileWave uses mutual TLS (mTLS) from this point forward. All subsequent communication requires both the client and server to present valid certificates signed by the FileWave CA.
There is
oldernothanlonger13.1 it will not connect ifa compatibility mode.isLegacydisableddocumentation(see:such as What is Compatibility Mode?)applies only to historical versions and should not be used for modern deployments.
Daily Communication
The FileWave server iscontinuously updatingrecalculates models and smart groups. As a result, a client check-in may result in new manifests botheven when the assigned model updatesitself has not changed.
Modern FileWave deployments use NATS as the primary communication transport for tickle and whencommand calculating smart group updates (see inventory preferences for time variable), so when a check-in happens the model may not have changed, but there may be new manifests for the client nonetheless.signaling.
macOS and Windows
Tickle
(Check-in)
CheckinThe(AKA Tickle)tickle interval expires (ChangeableconfigurablewithviaSuperprefs, see:Creating a Superprefs Fileset) has passedSuperprefs).ClientThereachesclientoutinitiatestocommunicationservervia NATS.ServerAverifiesmutualcertificateTLS handshake occurs:- The server validates the client certificate.
ServerThe client validates the server certificate.
- The server responds with the current model
numbernumber.- If the model number
on server matches client, thenmatches, no model manifest isdownloaddownloaded. - If the model number
does not matchdiffers, theserver,client downloadsmanifestthefromupdatedservermanifest.
- If the model number
ClientThe client processes the manifest(s).ClientThereaches out to either server or booster andclient downloadsfileset(s)required Filesets:(ifFrombooster)theClientserverreachesdirectlyoutortoviaboosterarequesting fileset IDBooster.ClientTheverifiesclient validates theboostersBooster certificateis validagainst the sameCA (Certificate Authority - AKA yourFileWaveserver) that the client uses.CA.- The Booster
checksvalidates the client certificateagainst the CA it downloaded from the serverandthechecksCRLrevocation status (Certificate Revocation List - Certs that have been made invalid)CRL). - If
thecertificatecertificatesvalidation(boosterfailsoratclient)anyare not valid, not signed by the CA or part of the CRL,stage, the TLS handshake fails andthe connection is dropped (withno databeingistransferred),transferred.theThe failure is reported back to the FileWave server.
Verify
AdditionalA verification check-in,inbyoccursdefault(default: every24hrs.24('Filehours,CheckconfigurableInterval',viachangeable with Superprefs, see:Creating a Superprefs Fileset)Superprefs).- After
Server/ClientsuccessfulcertificatemTLSconfirmation,authentication:the- The client
confirmsverifiesstatusFilesetofstate - Inventory
andis'refreshed - Files are healed according to Fileset
healsverification'anysettings
all Filesets andfilesas configured within Filesets. - The client
Verification also occurs when the client service
commencesstarts (e.g.for example after a reboot) and can be triggered manuallythroughvia ClientMonitor/InfoMonitor, Client Info, or commandlineline.on the device.
Android EMM
ReviewFileWave theAndroid topologyEMM oncommunication Defaultis TCPmediated andthrough UDPGoogle’s PortAndroid UsageManagement forAPI a visual on how things connect.(AMAPI).
At Model Update
- A single manifest is
createdgenerated from all Android Policy Filesets(AKA Policy Fragments) associatedassigned to thedevicedevice. AnyApplicationAppassignmentsassociatedand permissions are included.- The manifest is sent to Google via AMAPI.
- The Android device retrieves updates from Google.
Ongoing Operation
- FileWave polls Google approximately every 5 minutes for device status updates.
- Smart group changes trigger regeneration of manifests and updates via AMAPI.
iOS / iPadOS
FileWave communicates with Apple devices using standard MDM push and check-in mechanisms.
At Model Update
- A push notification is sent to the device via Apple Push Notification service (
includingAPNs). - The
permissions)deviceareinitiatesaddeda connection to themanifestFileWave MDM server. ManifestUpdated manifest data issentdelivered toAMAPIthe(Android Management API)EMM Android device reaches out to Googledevice.
RestOngoing of the timeOperation
- The inventory interval is reached (default: 24 hours).
- FileWave
reachessendsoutantoAPNsGooglepusheveryrequesting5minthe device to checkfor new devices and verify activityin. IfThetheredevice connects to the FileWave MDM server.- Any updated manifests are
smart-groups update, a new manifest would be created and sent to AMAPI (seeAndroid EMM Known IssuesKB)delivered.
iOS
Related
ReviewContent
the
- Creating
ona Superprefs Fileset - Default TCP and UDP Port Usage
for a visual on how things connect.At Model UpdateAt model update a push notification is send to the device asking it to verifyTheConfiguringiOSInventorydevicePreferences- Android EMM Known Issues
connects
Digging Deeper
FileWave’s use of mutual TLS ensures that:
- Only trusted clients can communicate with the
FileWaveserver The new changes in the manifestClients aresentprotected from Next inventory interval is hitDefault is 24hrs. Configured in:Inventory preferencesMeaning the last time we have talked to the device. So if you updated the model at 4pm on Friday, then 4pm Saturday would be the next intervalattacks- Boosters
FileWavecannotsendsserveoutunauthorizeda Push to Apple asking the device to talk to FileWave MDM serverdevices
Restimpersonation ofor theman-in-the-middle time
The iOSintroduction of NATS improves scalability and resilience by decoupling client signaling from traditional request/response patterns. This allows FileWave to efficiently handle large device connectsfleets while maintaining strong security guarantees.
From a security perspective, FileWave’s communication model aligns well with themodern FileWaveZero server
Theeverything, newencrypt changeseverything, inand assume the manifestnetwork areis senthostile by default.