Brief
Migrate, extend, and re-platform a mission-critical client access management application from Credit Suisse to UBS's cloud infrastructure — ensuring 8,000 clients retain correct access to 85,000 assets without interruption.

Migrate, extend, and re-platform a mission-critical client access management application from Credit Suisse to UBS's cloud infrastructure — ensuring 8,000 clients retain correct access to 85,000 assets without interruption.
Java 21, Spring Boot, JPA/Hibernate, PostgreSQL, Angular, TypeScript, OpenAPI/Apigee, JWT/MS-Graph API, Azure Kubernetes Service.
Specification-first API design via OpenAPI, integrated with Apigee for enterprise gateway routing. Real-time UI updates via Server-Sent Events.
8,000
clients managed
85,000
assets under management
150
business rules
The Client Access Manager — originally developed by Irian for Credit Suisse — had been running in production for nearly a decade. It managed access to bank accounts and portfolios for 8,000 clients, enforced 150 business rules, and connected to 20 downstream systems. Not the kind of thing you casually rebuild.
The mandate: migrate the platform to UBS's Azure cloud infrastructure, connect it to a completely different set of systems, and extend both the data model and the UI — while keeping every existing client's access exactly as it was. Correctness here is non-negotiable: granting too little access costs clients money; granting too much costs the bank far more.

The Spring Boot application was retooled to run on Azure Kubernetes Services — replacing a legacy WebLogic application server with a modern, cloud-native deployment. New connectors were built for UBS's core systems: UBS Core Banking, the Portfolio System, KYC Hub, and Apigee Gateway. The data model was extended and the UI was updated to reflect UBS's business requirements.
At the same time, client data had to be migrated: every access assignment, every permission state, every audit trail entry. The rule engine — which lets business teams manage complex access logic without touching code — was extended to cover new UBS-specific scenarios. A dry-run simulation mode allows teams to preview the impact of rule changes before they go live.

The platform now runs on UBS's Azure infrastructure, connected to the full suite of UBS systems. Import jobs pull data from 20 sources on schedules ranging from real-time to nightly. Every state change, every user action, every rule evaluation is tracked in a full audit trail — regulatory compliance built into the architecture, not bolted on.
With extensive test coverage and automated end-to-end tests, the team maintains the kind of confidence that mission-critical infrastructure demands. The platform continues to evolve with UBS's business — new rules, new integrations, new requirements — without ever compromising the one thing it was built for: always getting the access right.
