SurePassID Directory Sync (SPDS) 2025.2 - Release Notes and Download Links
Release Date: 06/26/2026
Release Type: Major Feature Release
What's New
Profile-Based Configuration (NEW)
DirectorySync now supports multiple configuration profiles, enabling complex deployment scenarios from a single installation.
Features:
- Run multiple sync configurations from a single service instance
- Each profile can sync different AD groups, use different token types, or target different SurePassID tenants
- Profiles stored in
%ProgramData%\SurePassID\DirectorySync\Profiles\(no admin rights required to edit) - Supports role-based provisioning (Admins, Helpdesk, Users with different settings)
- Multi-tenant deployments with different API endpoints per profile
New Parameters (App.config only):
use_config_profiles- Enable profile-based configuration (true/false)profiles_list- Comma-separated list of profile names or paths
Profile Resolution:
| Input | Resolved Path |
|---|---|
AdGroupSync |
%ProgramData%\SurePassID\DirectorySync\Profiles\AdGroupSync.config |
C:\Config\Custom.config |
C:\Config\Custom.config |
Configuration Example (App.config):
<add key="use_config_profiles" value="true" />
<add key="profiles_list" value="AdminUsers,HelpdeskUsers,StandardUsers" />
<!-- Install as service: DirectorySyncClientConsole.exe install -->
<add key="sync_interval_minutes" value="60" />
Sample Profiles Included:
XmlSync.config- XML file syncAdGroupSync.config- AD Group syncAdLiveSync.config- Real-time AD monitoringAdLdapFilterSync.config- Custom LDAP filter syncFido2Passkey.config- FIDO2 Passkey tokensFido2SecurityKey.config- FIDO2 Security Key tokensAdminUsers.config- Admin role usersHelpdeskUsers.config- Helpdesk role usersMultiTenant-TenantA.config/MultiTenant-TenantB.config- Multi-tenant examples
Use Cases:
- Sync different AD groups with different token types
- Provision admins with one profile, users with another
- Multi-tenant deployments syncing to different SurePassID servers
- Separate configurations for different departments
DirectorySyncRunner - Testable Sync Engine (NEW)
The sync execution logic has been refactored into a separate, testable component.
Benefits:
- Improved testability with structured results
- Better error handling and reporting
- Reusable sync logic across console, service, and test modes
New Classes:
DirectorySyncRunner- Core sync execution logicSyncResult- Structured result with success/failure, timing, and statistics
SyncResult Properties:
public class SyncResult
{
public string ProfileName { get; set; }
public bool Success { get; set; }
public bool Skipped { get; set; }
public string ErrorMessage { get; set; }
public string SyncSource { get; set; }
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
public TimeSpan Duration { get; }
}
AD Live Sync Mode (NEW)
DirectorySync now supports real-time Active Directory change monitoring using the LDAP DirSync control.
New Sync Source: AdLive
Features:
- Near real-time detection of AD user changes
- Processes user creates, deletes, enables, and disables
- Configurable action when users are deleted from AD (Disable, Delete, or None)
- State persistence across service restarts
- OU-based filtering
- Efficient incremental sync (only changed objects)
- Optional explicit LDAP credentials for cross-domain or special authentication scenarios
New Parameters:
ad_live_poll_seconds- Polling interval (default: 30 seconds)ad_live_state_path- Path to state file (default: AdLiveState.json)ad_live_deleted_user_action- Action on AD delete: Disable, Delete, Nonead_live_monitor_ous- OUs to monitor (* = all)ad_live_user_filter- LDAP filter for usersad_live_process_disables- Process disable events (true/false)ad_live_process_deletes- Process delete events (true/false)ad_live_process_enables- Process enable events (true/false)ad_live_ldap_username- Optional LDAP bind username (format: DOMAIN\user or user@domain.com)ad_live_ldap_password- Optional LDAP bind password (automatically masked in logs)
Configuration Example:
<add key="sync_source" value="AdLive" />
<add key="ad_domain_fqdn" value="contoso.com" />
<add key="ad_live_poll_seconds" value="30" />
<add key="ad_live_deleted_user_action" value="Disable" />
<!-- Optional: Explicit LDAP credentials -->
<add key="ad_live_ldap_username" value="DOMAIN\svc_dirsync" />
<add key="ad_live_ldap_password" value="YourSecurePassword" />
<!-- Install as service: DirectorySyncClientConsole.exe install -->
LDAP Credentials:
- By default, uses the Windows service account credentials (Negotiate/Kerberos)
- Optional explicit credentials for cross-domain or special scenarios
- Password is automatically masked in logs (shows only last 4 characters)
- Supports both down-level (
DOMAIN\user) and UPN (user@domain.com) formats
Requirements:
- Service account needs "Replicating Directory Changes" AD permission
- Recommended to run as Windows Service for continuous monitoring
Note: The ad_live_monitor_groups parameter is defined but not yet implemented.
User Role Assignment During Synchronization
DirectorySync now supports automatic user role assignment during the provisioning process, eliminating the need for manual role configuration after user creation.
New Parameter: sync_user_role
Supported Roles:
user- Standard end user (default)helpdesk- Help desk support personnelhelpdeskmgr- Help desk manageradmin- Administratorsuperadmin- Super administrator
Benefits:
- Automated role provisioning reduces administrative overhead
- Ensures users have correct access from day one
- Supports role-based access control policies
- Enables differentiated provisioning for different AD groups
Configuration Example:
<add key="sync_user_role" value="helpdesk" />
Use Cases:
- Provision IT help desk staff with appropriate administrative access
- Automatically grant admin roles to IT administrators
- Separate user provisioning from administrator provisioning
Windows Service Mode Support
DirectorySync can now run as a Windows Service for continuous, automated synchronization.
New Parameters:
sync_interval_minutes- Interval between sync operations (default: 60)
Note: The application automatically detects if running as a Windows Service using Environment.UserInteractive. No configuration setting is required.
Service Installation:
DirectorySyncClientConsole.exe install
DirectorySyncClientConsole.exe start
Service Features:
- Automatic startup with Windows
- Automatic recovery on failure
- Configurable sync interval
- Prevents overlapping sync operations
Configuration Example:
<!-- Install as service: DirectorySyncClientConsole.exe install -->
<add key="sync_interval_minutes" value="60" />
Use Cases:
- Near real-time user provisioning
- Continuous monitoring environments
- Organizations requiring frequent synchronization
Installation Verification Scripts
New verification scripts are included to help validate installations.
Location: Tools\Installation Verification Scripts\
Files Included:
README.txt- Comprehensive test documentationRunVerificationTests.ps1- Automated PowerShell verification scriptRunVerificationTests.bat- Batch file launcher
Usage:
.\RunVerificationTests.ps1 -ApiKeyId "key-id" -ApiKey "key" -RestEndpoint "https://server/api/mfa/v1"
Tests Include:
- API connectivity verification
- XML sync preview testing
- Token configuration validation (OTP, FIDO2)
- Error handling verification
Security Enhancement: Password Masking in Logs
Sensitive configuration parameters are now automatically masked when displayed in logs and console output.
Masked Parameters:
api_key_id- Shows last 4 characters onlyapi_key- Shows last 4 characters onlyad_live_ldap_password- Shows last 4 characters only
Example Log Output:
Directory Sync --Options:
api_key_id=************abcd
api_key=************1234
ad_live_ldap_username=DOMAIN\svc_dirsync
ad_live_ldap_password=********ord!
This ensures that sensitive credentials are not exposed in log files or console output during troubleshooting.
Upgrade Instructions
Installer
Upgrading from 2025.1 to 2025.2
Steps:
- Backup Current Configuration
Copy-Item "C:\Program Files\SurePassID\DirectorySync\DirectorySync.exe.config" "C:\Program Files\SurePassID\DirectorySync\DirectorySync.exe.config.backup"
- Stop Scheduled Tasks
Disable-ScheduledTask -TaskName "DirectorySync"
- Run Installer
- Execute
DirectorySync-2025.2-Setup.exeas Administrator - Existing configuration will be preserved
- Execute
- Review Configuration
- Optionally add
sync_user_roleparameter - Test in preview mode
- Optionally add
- Test in Preview Mode
cd "C:\Program Files\SurePassID\DirectorySync"
.\DirectorySync.exe -mode preview - Review Logs
- Check
Trace\folder for any errors - Verify user provisioning would work as expected
- Check
- Enable Scheduled Tasks
Enable-ScheduledTask -TaskName "DirectorySync"
Configuration Changes:
Optional new parameter:
<add key="sync_user_role" value="user" />
Backward Compatibility: Fully backward compatible. Existing configurations work without modification. The sync_user_role parameter defaults to no role assignment if not specified.
Upgrading from 2025.0 to 2025.2
Follow same steps as 2025.1 to 2025.2. No breaking changes.
Upgrading from 2024.x to 2025.2
Important: Review all new features and parameters.
Steps:
- Backup configuration (see above)
- Review new parameters:
token_fido2_type(if using FIDO2)token_usage_push_type(if using push)sync_user_role(if assigning roles)
- Run installer
- Test extensively in preview mode
- Gradually roll out to production
New Features Available:
- FIDO2 Passkey and Security Key support
- Enhanced token usage configuration
- Improved validation
- User role assignment
Known Issues
Version 2025.2
Issue: Disable group functionality not yet implemented Workaround: Manually disable users in SurePass or use AD Live mode with ad_live_deleted_user_action=Disable Status: Planned for future release
Issue: Role assignment only works during initial provisioning Workaround: Manually change user roles in SurePass admin console for existing users Status: By design - role assignment is provisioning-time only
Issue: AD Live ad_live_monitor_groups parameter not implemented Workaround: Use ad_live_monitor_ous for OU-based filtering, or use AD Group sync mode for group-based provisioning Status: Planned for future release
Deprecation Notices
run_as_service Configuration Setting (Deprecated)
The run_as_service configuration setting is no longer required and has been deprecated.
Previous Behavior:
<add key="run_as_service" value="true" /> <!-- Required to run as service -->
New Behavior:
- The application automatically detects if running as a Windows Service using
Environment.UserInteractive - No configuration setting is needed
- To install as a service, use:
DirectorySyncClientConsole.exe install
Migration: Simply remove the run_as_service setting from your configuration. Existing configurations with this setting will continue to work (the setting is ignored).
System Requirements
Version 2025.2
Operating System:
- Windows Server 2016 or later
- Windows 10/11 (for testing)
Framework:
- .NET Framework 4.8 or later
SurePassID Authentication Server (SPAS):
- Version 2024.1 or later for FIDO2 support
- Version 2023.1 or later for basic functionality
Active Directory:
- Windows Server 2012 R2 or later domain functional level
- Read access to AD required
Version History Summary
| Version | Date | Key Features |
|---|---|---|
| 2025.2 | June 26, 2025 | AD Live sync mode, User role assignment |
| 2025.1 | June 17, 2025 | Bug fixes and stability |
| 2025.0 | June 10, 2025 | FIDO2 support, enhanced token configuration |
| 2024.5 | May 22, 2025 | AD Group synchronization |
| 2024.4 | May 13, 2025 | REST API improvements |
Roadmap
Planned for Future Releases
- AD Live Group Filtering: Implement
ad_live_monitor_groupsfor group-based filtering in AD Live mode - Disable Group Implementation: Automatic user disabling when moved to designated AD group
- Role Update Support: Update existing user roles during synchronization
- Multi-Domain Support: Single configuration for multiple AD domains
- Web-Based Configuration: GUI for configuration management
- Event-Driven Sync: True real-time synchronization using AD change notifications (beyond polling)
- Group Assignment: Automatically assign users to SurePassID groups based on AD group membership
- Custom Field Mapping: Map custom AD attributes to SurePassID fields
Download Links and Support
Latest installer:
https://downloads.surepassid.com/DS/SPDS.zip
For support inquiries:
- Website: https://support.surepassid.com
- Documentation: See the included user guides in the
docsfolder - Email: support@surepassid.com
© 2011-2026 SurePassID Corp. All rights reserved.