Architecture and Scalability • No Programming Required: The BPMS should function without the need for programming or development tools like Visual Studio. • Data Storage: It should store all data in a commonly available enterprise database management system (e.g., Microsoft SQL Server, Oracle) and support storing documents in the database. • Integration with Microsoft O365/Azure AD: User authentication, group membership, and management hierarchy should be integrated with Microsoft O365/Azure AD. • Testing Environment: The system should allow for testing processes, forms, and reports on a non-production system with the ability to import changes to the production system. • Version Control: Support for version snapshots of projects, including all interrelated objects, with content versioning or external version control systems. • Anonymous Users: The system should support anonymous users with controlled permissions. • Deployment Options: The BPMS should be available as a cloud-based SaaS and optionally as an on-premises installation. Administration • Granular Permissions: The system should provide multiple levels of administrative capabilities with granular control over permissions. • Audit Trails: All user actions should be tracked and stored in the database or an external log file. Integration with Other Systems • Form Data Reporting: The BPMS should store form data in a way that allows field-level reporting. • SDK and Web Services: It should provide an SDK for advanced access and customizations, and a Web Services interface for accessing and manipulating information. • External Data Access: The system should support accessing and interacting with external applications and databases, including making Web Service calls and monitoring email servers and network file systems.