Skip to main content

ComplyAI Master Data Project

Your single source of truth for all data across the ComplyAI organization


🎯 Purpose​

This Master Data Project provides complete transparency and understanding of all data assets across ComplyAI. It serves both technical and non-technical stakeholders with comprehensive documentation of our data ecosystem.

πŸ“š Documentation Index​

SectionDescriptionAudience
Data DictionaryComplete definitions of all data entities, fields, and relationshipsAll Teams
Data LineageVisual flows showing how data moves through our systemsEngineering, Analytics
API DocumentationOpenAPI/Swagger specs for all internal and external APIsEngineering, Partners
Entity RelationshipsERD diagrams showing data model connectionsEngineering, Product
Service ArchitectureMicroservice documentation and inter-service communicationEngineering
Third-Party IntegrationsMeta, Stripe, and other platform integrationsAll Teams
GlossaryBusiness and technical terminology definitionsAll Teams
Data GovernancePolicies, ownership, and compliance frameworksLeadership, Compliance
Quick ReferenceCheat sheets and common lookup tablesAll Teams

πŸ—οΈ System Overview​

ComplyAI Platform Services​

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ COMPLYAI PLATFORM β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚ β”‚ Frontend β”‚ β”‚ Core API β”‚ β”‚ Main API β”‚ β”‚ Maestro β”‚ β”‚
β”‚ β”‚ (React) β”‚ β”‚ (Flask) β”‚ β”‚ (Flask) β”‚ β”‚ (Flask) β”‚ β”‚
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚
β”‚ β”‚ User Portal β”‚ β”‚ Auth/Users β”‚ β”‚ Ad Processingβ”‚ β”‚ ML Inference β”‚ β”‚
β”‚ β”‚ Dashboard β”‚ β”‚ Organizationsβ”‚ β”‚ Webhooks β”‚ β”‚ Media Processβ”‚ β”‚
β”‚ β”‚ Ad Mgmt β”‚ β”‚ Business Mgmtβ”‚ β”‚ Ad Accounts β”‚ β”‚ Results β”‚ β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚ β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚ β”‚ Violin β”‚ β”‚ Triangle β”‚ β”‚ Gong β”‚ β”‚ IPU β”‚ β”‚
β”‚ β”‚ (Flask) β”‚ β”‚ (Flask) β”‚ β”‚ (Flask) β”‚ β”‚ (Flask) β”‚ β”‚
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚
β”‚ β”‚ AI Services β”‚ β”‚ Notificationsβ”‚ β”‚ Integrations β”‚ β”‚ Image Processβ”‚ β”‚
β”‚ β”‚ Scoring β”‚ β”‚ Ad Rules β”‚ β”‚ External API β”‚ β”‚ Unit Testing β”‚ β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚ β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚ β”‚ Async API β”‚ β”‚ CMS β”‚ β”‚ WWW β”‚ β”‚ Adhoc β”‚ β”‚
β”‚ β”‚ (FastAPI) β”‚ β”‚ (Django) β”‚ β”‚ (React) β”‚ β”‚ (Scripts) β”‚ β”‚
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚
β”‚ β”‚ Async Tasks β”‚ β”‚ Content Mgmt β”‚ β”‚ Public Site β”‚ β”‚ Utilities β”‚ β”‚
β”‚ β”‚ Background β”‚ β”‚ Wagtail β”‚ β”‚ Marketing β”‚ β”‚ Reports β”‚ β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β–Ό β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ PostgreSQL β”‚ β”‚ External β”‚
β”‚ Database β”‚ β”‚ APIs β”‚
β”‚ β”‚ β”‚ β”‚
β”‚ Users β”‚ β”‚ Meta Graph β”‚
β”‚ Organizationsβ”‚ β”‚ Stripe β”‚
β”‚ Ad Accounts β”‚ β”‚ Slack β”‚
β”‚ Ads/Reviews β”‚ β”‚ AWS/GCP β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ—„οΈ Data Domains​

1. Customer Domain​

  • Organizations - Client companies using ComplyAI
  • Users - Individual users within organizations
  • Subscriptions - Billing and plan information
  • Roles/Permissions - Access control

2. Ad Content Domain​

  • Ad Accounts - Facebook/Meta ad accounts
  • Business Managers - Meta business manager connections
  • Ads - Individual ad content and metadata
  • Media Assets - Images, videos, creative content

3. Compliance Domain​

  • Reviews - AI compliance review results
  • Violations - Policy violation detections
  • Policies - Platform policy rules
  • Recommendations - AI-generated fix suggestions

4. Operational Domain​

  • Activity Events - User action audit logs
  • Notifications - System alerts and messages
  • Webhook Subscriptions - Event subscription tracking
  • Issues - Support tickets and feedback

πŸ”‘ Key Concepts​

For Non-Technical Stakeholders​

ConceptWhat It Means
Ad AccountA Facebook advertising account where ads are created and run
Business ManagerA Meta tool that organizes ad accounts, pages, and team members
OrganizationA ComplyAI customer (company) with one or more users
ReviewThe AI analysis of an ad for policy compliance
WebhookReal-time notifications when something changes (like ad status)

For Technical Stakeholders​

ConceptTechnical Definition
System User TokenLong-lived OAuth token for server-to-server Meta API calls
OBO (On-Behalf-Of)Token that allows acting on behalf of a business manager
Celery TaskBackground job for async processing (ad fetching, scoring)
RSIDRun-specific ID for Word document tracked changes

πŸ“Š Quick Stats​

MetricCount
Microservices12
Database Tables40+
API Endpoints150+
External Integrations5

πŸš€ Getting Started​

For Product/Business Teams​

  1. Start with the Glossary to understand terminology
  2. Review Data Dictionary for entity definitions
  3. Check Quick Reference for common lookups

For Engineering Teams​

  1. Review Service Architecture for system design
  2. Explore API Documentation for endpoint specs
  3. Study Data Lineage for data flow understanding
  4. Reference Entity Relationships for data modeling

For Analytics/BI Teams​

  1. Start with Data Dictionary for field definitions
  2. Review Data Lineage for data pipeline understanding
  3. Check Data Governance for data quality standards

πŸ“ Contributing​

To update this documentation:

  1. Create a branch from main
  2. Make your changes in the appropriate section
  3. Update the changelog in that section's README
  4. Submit a PR for review

πŸ“… Last Updated​

December 2024 | Version 1.0.0


πŸ‘₯ Maintainers​

  • Data Team - Overall documentation ownership
  • Engineering - Technical accuracy review
  • Product - Business context validation