Overview

The Collaboration pillar provides the multi-user, multi-organization infrastructure that enables teams to work together on automotive cybersecurity projects. It encompasses real-time collaborative editing, role-based access control for OEMs and tiered suppliers, tenant-isolated supplier portals, flexible report sharing, open API access for tool integration, and a comprehensive notification system.

Real-Time Collaborative Editing

Presence Tracking

  • Every user’s editing activity is tracked with a 5-minute TTL (300-second expiry)
  • Client-side heartbeat every 60 seconds with exponential backoff retry logic
  • Visibility change detection pauses/resumes presence when users switch browser tabs
  • Socket events: editing:start and editing:stop broadcast to all project members

Entity-Level Locking

  • When a user begins editing an entity, other users see a presence indicator
  • Optimistic locking prevents concurrent conflicting writes
  • Version conflict detection surfaces resolution UI when conflicts occur
  • Lock auto-releases on session expiry or explicit stop

Auto-Save & Undo/Redo

  • Auto-save triggers after 2-second debounce period
  • Undo/redo stack maintains 50 actions per session
  • Graph structural changes broadcast to all viewers via graph:updated socket event

Supported Collaboration Contexts

  • System architecture graph (component placement, connections)
  • Threat modeling graph (threat relationships, attack paths)
  • Risk register (risk editing, treatment linking)
  • All entity editors (goals, requirements, controls, claims, test cases)

Role-Based Access Control (RBAC)

Two-Tier Architecture

LevelScopePurpose
Organization RolesPlatform-wideGovern organization settings, documentation, catalog access
Project RolesPer-projectGrant module-specific permissions within individual projects

Organization Role Permissions

  • Org_Settings: Read / Write / Delete for organization-level administration
  • canEditDocumentation: Boolean flag for documentation editing
  • System roles (non-deletable) vs. custom roles

Project Role Permissions

Each project role defines permissions per module:

ModuleDescription
System_ModellingE/E architecture editing
Threat_ModellingThreat analysis access
Attack_Path_AnalysisAttack path creation (requires Threat_Modelling Read)
Risk_AssessmentRisk scoring and register
Risk_TreatmentGoals, requirements, controls, claims
SBOMSoftware supply chain management
Monitoring_and_IncidentsSecurity events and incident response
Validation_and_TestingTest case and campaign management
Compliance_ReportingCompliance assessment and reports
Activity_LogProject activity feed

Permission Actions: Read, Write, Delete, Full_Access

RBAC Enforcement

  • Middleware-based enforcement at every API endpoint
  • Decorators: @RequireRead(), @RequireWrite(), @RequireDelete(), @RequireFullAccess()
  • @RequireProjectMembership() validates project-level access
  • Activity feeds are filtered based on the viewer’s module permissions

License Tier Gating

TierUser LimitsModule AccessFeatures
TeamBasic limitFoundation modulesCore TARA, basic compliance
ProfessionalExtended limitFoundation + TARA + SBOMFull analysis, China GB standard
EnterpriseUnlimitedAll modulesFull platform, blueprints, advanced governance

License enforcement validates at both the API and UI layers, gating features, user counts, and module availability.

Multi-Tenant Supplier Portal

Tenant Isolation

  • Each organization gets a dedicated database instance
  • Database context is resolved dynamically from JWT tenant claims
  • All API requests validate tenant isolation before data access
  • Global control plane manages cross-tenant operations

Tenant Provisioning

  1. Organization creation webhook triggers provisioning
  2. Dedicated database created with encrypted connection credentials
  3. Default users, roles, and permissions seeded
  4. Catalogs seeded (SPDX licenses, risk methods, vulnerability sources, tool definitions)
  5. Feature flags configured based on license tier
  6. License validity dates and tier limits enforced

Supplier Access Model

  • OEMs manage their own tenant with full platform access
  • Tier-1 suppliers receive their own tenant with tier-appropriate features
  • Cross-project sharing enables controlled collaboration between tenants
  • Each supplier sees only their assigned projects and modules

Report Sharing

OptionValuesPurpose
Link TypeLive / SnapshotReal-time data vs. frozen point-in-time
Access ModePublic / Authenticated / PasswordAccess control level
CommentingEnabled / DisabledAllow external comments
ExpirationOptional timestampAuto-revoke after date
StatusActive / RevokedManual access control

Security features include unique URI generation, SHA256 password hashing, token rotation, and immediate link revocation.

Report Comments

  • Threaded comment support on shared reports
  • Permission middleware controls who can comment
  • Comment deletion with permission checks

Open APIs & External Integration

API Key Management

  • 256-bit entropy key generation with identifying prefix
  • Project-scoped with read/write permission levels
  • SHA256 hashing for secure storage
  • Key lifecycle: Create, List, Revoke
  • Last-visited tracking for usage analytics

Webhook Integration

  • HMAC-SHA256 signature verification (X-Uraeus-Signature header)
  • IP allowlisting for webhook sources
  • Supported types: Organization provisioning, GitHub SBOM sync, SendGrid email events
  • Correlation IDs for request tracking

OpenAPI Documentation

  • Full OpenAPI 3.0.0 specification
  • Three API server groups: Main API (/api/v1), Webhooks (/webhooks/v1), Admin (/admin)
  • Security schemes: Bearer JWT, Session Token, Admin API Key
  • 18 comprehensive documentation modules covering all platform endpoints

Integration Use Cases

  • CI/CD pipeline SBOM uploads via API key
  • VSOC event export (JSON, AUTOSAR, STIX, Custom)
  • Threat intelligence feed import
  • GitHub webhook-driven SBOM auto-sync
  • External test bench agent registration

Notification System

Notification Categories

CategoryTriggers
AssignmentRisk, task, goal, control, or requirement assigned to user
Mention@mention in comments or descriptions
ApprovalApproval request created or decision made
VulnerabilityCritical/high CVE discovered in SBOM component
EscalationRisk severity change or incident escalation
SystemProject invite, role change, export completion

Delivery Channels

  • In-app: Real-time via Socket.IO with user-specific rooms
  • Email: Conditional based on license tier and user preferences
  • Fallback: 60-second polling for notification summary if WebSocket unavailable

Priority Levels: Critical, High, Medium, Low — affecting delivery urgency and channel selection.

User Preferences

  • Per-category enable/disable
  • Quiet hours configuration
  • Project-level muting
  • 90-day notification retention with automatic cleanup

Activity Tracking

All actions across the platform are logged in the project activity feed:

  • Tracked modules: System Modeling, Threat Modeling, Risk Assessment, Compliance, SBOM, Analytics
  • Recorded data: User, timestamp, module, action type, entity references, severity
  • Permission filtering: Users see activities only from modules they have Read access to
  • Organization-level view: Org_Settings Read permission grants access to all module activities

Integration with Other Pillars

DirectionPillarCollaboration Feature
AllDesignReal-time co-editing of system architecture graph
AllTARAConcurrent threat modeling with presence indicators
AllTestingShared campaign monitoring via WebSocket dashboards
AllOperationsReal-time security event notifications
AllComplianceReport sharing with access control
AllSBOMCI/CD pipeline integration via API keys
AllGovernanceAudit trail of all collaborative actions