Skip to main content

System Overview

The MRI Qube integration connects Manage.Management with MRI’s property management software through the Vaultre API, enabling bi-directional data synchronization with enterprise-grade security.

High-Level Architecture

Authentication Flow

OAuth 2.0 Client Credentials Grant

Security Highlights

Credential Encryption

Client secrets encrypted with AES-256-GCM in Supabase Vault

Token Management

Short-lived tokens (1 hour) with automatic refresh

TLS 1.3

All communications encrypted in transit

Audit Logging

Every credential access logged with IP and timestamp

Data Synchronization Flow

Sync Process

Entity Sync Order

Data is synchronized in a specific order to maintain referential integrity:
Properties must sync first as they’re the foundation for all other entities. Documents sync last as they depend on all other data.

Data Flow Diagram

Complete Data Journey

Security Architecture

Defense in Depth

Credential Storage Architecture

Key Points:
  • ✅ Client Secret never stored in plain text
  • ✅ Encryption happens before database storage
  • ✅ Every access is logged with user ID and IP
  • ✅ Only building directors can access credentials
  • ✅ Vault uses automatic key rotation

Rate Limiting & Performance

Request Queue Management

Rate Limits

Limit TypeThresholdAction
Per Minute60 requestsQueue additional requests
Per Hour1,000 requestsQueue and delay
Burst10 concurrentThrottle new requests
Timeout30 secondsFail and retry

Database Schema

MRI Integration Tables

Row Level Security (RLS)

All MRI tables have RLS policies enforcing:
  1. Building Scoping - Users only see data for their buildings
  2. Role-Based Access - Directors have full access, homeowners read-only
  3. Credential Protection - Only directors can access credentials
  4. Audit Immutability - Audit logs are append-only

Error Handling & Resilience

Retry Strategy

Error Categories

Error TypeHTTP CodeActionRetry
Network Timeout-Immediate retryYes (3x)
Rate Limited429Queue & waitYes (auto)
Unauthorized401Re-authenticateYes (1x)
Forbidden403Log & alertNo
Not Found404Skip recordNo
Server Error500-599Exponential backoffYes (3x)
Bad Request400Log & skipNo

Monitoring & Observability

Metrics Tracked

Next Steps