Skip to content

Business Continuity & Disaster Recovery

XBert Pty Ltd maintains a comprehensive Business Continuity Plan (BCP) and Disaster Recovery (DR) strategy to ensure the availability and resilience of our platform. As a SaaS platform hosted entirely on Microsoft Azure Platform-as-a-Service (PaaS), XBert leverages Azure’s built-in high availability, geo-redundancy, and automated recovery capabilities to minimise downtime and data loss.

This document outlines the controls, procedures, and responsibilities that enable XBert to maintain service continuity in the event of disruption, and to recover critical systems within defined timeframes.

The objectives of XBert’s BCP/DR programme are to:

  • Maintain availability of customer-facing services with minimal disruption
  • Protect customer financial data against loss or corruption
  • Recover critical systems within defined Recovery Time and Recovery Point Objectives
  • Provide clear roles, responsibilities, and communication channels during incidents
  • Comply with applicable regulatory requirements and industry best practices
  • Test and validate recovery procedures on a regular basis

This plan covers all XBert production applications and supporting infrastructure:

ApplicationDescription
Web application & APIPrimary customer-facing web application and backend API
Subscription billing serviceSubscription, plan management, and billing integration
Data processing layerBackground processing and accounting-data fabric (Azure Function Apps, queue-based processing)
Reporting & analyticsReporting and analytics service

Supporting infrastructure within scope includes:

  • Azure SQL databases
  • Azure Blob Storage
  • Azure Key Vault
  • Azure Service Bus
  • Azure Container Apps
  • CI/CD pipelines (Azure DevOps)
  • Source code repositories (GitHub Enterprise)
  • Third-party integrations (Auth0, Chargebee, Stripe)
MetricTargetDescription
Recovery Time Objective (RTO)Less than 24 hoursMaximum acceptable time from disaster declaration to restoration of critical services
Recovery Point Objective (RPO)Less than 1 hourMaximum acceptable data loss, measured in time, ensured by continuous database point-in-time recovery

These targets apply to all Tier 1 (critical) applications listed in the scope. Non-critical systems may have extended recovery windows.

XBert employs a microservices architecture where each component is independently managed and can be restored individually. Recovery strategies are layered to address different failure scenarios:

  • Component failure: Individual services are restarted or redeployed from source control. Azure PaaS automatically handles underlying infrastructure recovery.
  • Data corruption: Database point-in-time recovery (PITR) restores data to any point within the retention window, allowing precise recovery to a moment before corruption occurred.
  • Regional outage: Geo-replicated databases and geo-redundant storage in a secondary Azure region enable failover to the disaster recovery site.
  • Complete redeployment: All application source code is permanently stored in GitHub Enterprise (private repositories), enabling rapid redeployment of the full platform from scratch if required.
  • Primary region: Australia Southeast (Melbourne)
  • DR region: Australia East (Sydney)
  • All critical services are deployed across multiple Azure Availability Zones within the primary region, protecting against data centre failures
  • Azure PaaS services provide built-in load balancing and automatic failover within the region
  • Azure SQL databases use geo-replication to Australia East, providing a continuously synchronised read replica
  • In the event of a primary region failure, the replica can be promoted to primary with minimal data loss
  • Azure Blob Storage is configured with Geo-Redundant Storage (GRS), replicating data asynchronously to the secondary region
  • This ensures file and blob data survives a complete regional outage
  • Azure Key Vault is configured with geo-redundancy, ensuring secrets, keys, and certificates remain accessible during regional failover

Third-party services used by XBert (Auth0, Chargebee, Stripe) maintain their own high availability and disaster recovery programmes with published SLAs. XBert monitors these services and maintains contingency procedures for third-party outages.

Azure Defender provides continuous threat detection across all production resources, enabling early identification of security events that could impact availability.

Backup TypeScopeRetentionMethodRecovery Method
Database PITRAll Azure SQL databases28 daysAutomated continuous backups (Azure-managed)Restore to any point in time within the retention window
Database long-term retentionAll Azure SQL databases12 monthsAutomated weekly full backups to long-term storageRestore from long-term backup store
Database geo-replicaAll Azure SQL databasesContinuousReal-time geo-replication to Australia EastPromote replica to primary
Blob StorageAll Azure Blob Storage accountsContinuousGeo-Redundant Storage (GRS) with asynchronous replicationFailover to secondary region
Key VaultSecrets, keys, and certificatesContinuousGeo-redundant Azure Key VaultAutomatic failover to secondary region
Source codeAll application repositoriesPermanentGitHub Enterprise (private repositories)Clone and redeploy from any commit
CI/CD pipelinesBuild and release definitions28 daysAzure DevOps with point-in-time recovery for pipeline metadataRestore pipeline configuration from backup

The DR plan is activated when any of the following occurs:

  • A complete Azure regional outage affecting the primary region (Australia Southeast)
  • Prolonged service disruption exceeding one hour with no estimated resolution
  • Data corruption affecting production databases that cannot be resolved through standard operational procedures
  • A security incident requiring system isolation and rebuilding
  • CTO or Development Manager declares a disaster based on impact assessment

Upon activation of the DR plan:

  1. Internal notification: CTO and Development Manager are notified immediately via Slack
  2. Team mobilisation: Relevant technical staff are assembled via Slack and email
  3. Customer communication: Status updates are published via Intercom and email, including estimated recovery timelines
  4. Ongoing updates: Regular status updates are provided at minimum 2-hour intervals until resolution

The following sequence is followed to restore services:

  1. Assessment: Determine the scope and nature of the disruption, identify affected components
  2. Database recovery: Restore Azure SQL databases from geo-replica or PITR backups as appropriate
  3. Storage recovery: Initiate failover for Azure Blob Storage if the primary region is unavailable
  4. Application redeployment: Redeploy application services from GitHub Enterprise source code via CI/CD pipelines, targeting the DR region if required
  5. Configuration restoration: Restore secrets and configuration from geo-redundant Azure Key Vault
  6. Integration verification: Validate connectivity to third-party services (Auth0, Chargebee, accounting platform APIs)
  7. Data integrity checks: Verify data consistency across restored databases and storage
  8. Service validation: Execute smoke tests and health checks to confirm correct operation
  9. Traffic cutover: Update DNS and routing to direct users to recovered services
  10. Post-recovery monitoring: Intensified monitoring for 48 hours following recovery
  • Annual DR exercises are conducted to validate the effectiveness of recovery procedures
  • Test scenarios include database restore from PITR, failover to geo-replica, and full application redeployment
  • Test results are documented, and any gaps or failures are addressed with corrective actions
  • The BCP/DR plan is reviewed annually or following any of these triggers:
    • Significant changes to infrastructure or architecture
    • A real disaster or near-miss incident
    • Changes to regulatory or compliance requirements
    • Addition of new critical applications or third-party dependencies
  • All changes are version-controlled and communicated to relevant stakeholders
RoleResponsibility
CTOOverall ownership of BCP/DR strategy; declares disaster activation; approves recovery decisions; oversees communication to stakeholders
Development ManagerLeads technical execution of recovery procedures; coordinates team response; manages CI/CD redeployment
Database AdministratorsExecute database backup and restore operations; validate data integrity post-recovery; manage geo-replication and PITR
Development TeamAssist with application redeployment; execute integration and smoke testing; support recovery validation
All StaffFollow incident communication procedures; report disruptions promptly

This business continuity and disaster recovery plan supports compliance with:

  • Privacy Act 1988 (Cth) - APP 11 (security of personal information), ensuring availability as a component of information security
  • ISO 22301 alignment - Business continuity management systems, providing a structured framework for BCP/DR
  • ISO 27001 Annex A.17 - Information security aspects of business continuity management
  • Azure compliance certifications (ISO 20000-1:2011, CSA STAR, SOC 2)
VersionDateChanges
1.0April 2026Initial creation