---
title: RisiQ Trust Center — Technisches Angebot | BEE Digital
---

[BEE Digital](https://quandoo.bee.digital/trust-center?hsLang=en)

4. März 2026 v1.0 HubSpot Native

EN

DE

ContentsInhalt

1. [01 Executive Summary](https://quandoo.bee.digital/trust-center/proposal#ps1)
2. [02 System ArchitectureSystemarchitektur](https://quandoo.bee.digital/trust-center/proposal#ps2)
3. [03 Access Control Model](https://quandoo.bee.digital/trust-center/proposal#ps3)
4. [04 Data ModelDatenmodell](https://quandoo.bee.digital/trust-center/proposal#ps4)
5. [05 Integration FlowsIntegrationsflüsse](https://quandoo.bee.digital/trust-center/proposal#ps5)
6. [06 Quote-to-Cash & Document AutomationQuote-to-Cash & Dokumentenautomatisierung](https://quandoo.bee.digital/trust-center/proposal#ps6)
7. [07 HubSpot Workflows](https://quandoo.bee.digital/trust-center/proposal#ps7)
8. [08 Document SecurityDokumentensicherheit](https://quandoo.bee.digital/trust-center/proposal#ps8)
9. [09 Authentication & SSOAuthentifizierung & SSO](https://quandoo.bee.digital/trust-center/proposal#ps9)
10. [10 Modules & TemplatesModule & Templates](https://quandoo.bee.digital/trust-center/proposal#ps10)
11. [11 Implementation StatusImplementierungsstatus](https://quandoo.bee.digital/trust-center/proposal#ps11)
12. [12 HubSpot Licensing, Ops Hub & CostsHubSpot-Lizenzierung, Ops Hub & Kosten](https://quandoo.bee.digital/trust-center/proposal#ps12)
13. [13 Comparison & Open PointsVergleich & Offene Punkte](https://quandoo.bee.digital/trust-center/proposal#ps13)
14. [14 Hybrid Solution — Costs & EstimatesHybrid-Lösung — Kosten & Schätzungen](https://quandoo.bee.digital/trust-center/proposal#ps14)

Technical ProposalTechnisches Angebot

# RisiQ Trust Center

Technical Architecture — Secure Access-Controlled Content Platform  
HubSpot-Centric Implementation with CRM, CMS & Serverless Functions Technische Architektur — Sichere zugangskontrollierte Content-Plattform  
HubSpot-zentrische Implementierung mit CRM, CMS & Serverless Functions

HubSpot CMS Hub HubSpot CRM CMS Serverless Functions CloudFront Signed URLs Private Content (Membership) Workflow Automation

1

## Executive Summary

The RisiQ Trust Center is a **secure, access-controlled content platform** for approximately 100 banking and financial services customers. It provides compliance documents, security reports, certifications, and contractual documentation through a **tiered access model** (Public → Prospect → NDA → Customer).

Das RisiQ Trust Center ist eine **sichere, zugangskontrollierte Content-Plattform** für ca. 100 Bank- und Finanzdienstleistungskunden. Es stellt Compliance-Dokumente, Sicherheitsberichte, Zertifizierungen und Vertragsunterlagen über ein **abgestuftes Zugangsmodell** (Public → Prospect → NDA → Customer) bereit.

**Approach:** This proposal explores a **HubSpot-centric architecture** — using CRM, CMS Hub, Serverless Functions, Workflows, and Private Content as the core stack. Where HubSpot reaches its limits, we identify which external tools are needed (PandaDoc, DATEV middleware) and at what stage. The goal: an honest evaluation of what HubSpot can and cannot do for this use case. **Ansatz:** Dieses Angebot untersucht eine **HubSpot-zentrische Architektur** — mit CRM, CMS Hub, Serverless Functions, Workflows und Private Content als Kernstack. Wo HubSpot an seine Grenzen stößt, identifizieren wir welche externen Tools benötigt werden (PandaDoc, DATEV-Middleware) und in welcher Phase. Das Ziel: eine ehrliche Bewertung, was HubSpot für diesen Use Case kann und was nicht.

4

Access TiersZugangsstufen

3

Security LayersSicherheitsebenen

5

Doc TypesDokumenttypen

7

Workflows

The architecture uses **HubSpot as the central platform**: CMS Hub for the frontend, CRM for contact/document management, Serverless Functions for secure downloads, Workflows for automatic tier management, and Private Content for membership login. External integrations (e-signature, DATEV) are layered on top where HubSpot’s native capabilities are insufficient.

Die Architektur nutzt **HubSpot als zentrale Plattform**: CMS Hub für das Frontend, CRM für Kontakt-/Dokumentenverwaltung, Serverless Functions für sichere Downloads, Workflows für automatische Tier-Verwaltung und Private Content für Membership-Login. Externe Integrationen (E-Signatur, DATEV) werden dort ergänzt, wo HubSpots native Fähigkeiten nicht ausreichen.

### Assumptions & PrerequisitesAnnahmen & Voraussetzungen

| # | AssumptionAnnahme | If DifferentWenn anders |
| --- | --- | --- |
| A1 | **HubSpot platform upgrade required.** Client is currently on Free/Starter. Trust Center needs **Content Hub Professional** (~$500/mo for Private Content + Serverless) and **Sales Hub Professional** (~$100/mo/seat for approval workflows). Alternatively: Customer Platform Professional (~$1,300/mo) or Enterprise (~$4,300/mo) for the full feature set.**HubSpot-Plattform-Upgrade erforderlich.** Kunde ist aktuell auf Free/Starter. Trust Center benötigt **Content Hub Professional** (~$500/Mo. für Private Content + Serverless) und **Sales Hub Professional** (~$100/Mo./Seat für Genehmigungs-Workflows). Alternativ: Customer Platform Professional (~$1.300/Mo.) oder Enterprise (~$4.300/Mo.) für den vollen Funktionsumfang. | If only Starter: no Private Content (TC cannot work), no approval workflows, no custom properties beyond 10. **Upgrade is mandatory, not optional.**Nur Starter: kein Private Content (TC kann nicht funktionieren), keine Genehmigungs-Workflows, max. 10 Custom Properties. **Upgrade ist Pflicht, nicht optional.** |
| A2 | **PandaDoc Business plan** (€39/mo) is the e-signature & document tool. Preferred over DocuSign for all-in-one coverage (NDA + Offer + Quote + Contract + Invoice in one tool).**PandaDoc Business-Plan** (€39/Mo.) als E-Signatur- & Dokumenten-Tool. Bevorzugt gegenüber DocuSign für All-in-One-Abdeckung (NDA + Angebot + Quote + Vertrag + Rechnung in einem Tool). | If DocuSign preferred: combine with HubSpot Quotes + Commerce Hub for full pipeline. Higher integration effort, but banking industry standard.Bei DocuSign: mit HubSpot Quotes + Commerce Hub für volle Pipeline kombinieren. Höherer Integrationsaufwand, aber Banking-Branchenstandard. |
| A3 | **Quote calculation logic** uses HubSpot Products + Line Items for standard pricing, with PandaDoc pricing tables for complex discount rules (contract length × volume). No external calculation engine required initially.**Quote-Berechnungslogik** nutzt HubSpot Products + Line Items für Standardpreise, mit PandaDoc Pricing Tables für komplexe Rabattregeln (Vertragslaufzeit × Volumen). Kein externer Calculation Engine initial erforderlich. | If pricing requires custom formulas (tiered discounts, multi-currency, volume bands): add Ops Hub coded action or external pricing API. See Section 6.Bei benutzerdefinierten Formeln (Staffelrabatte, Multi-Währung, Volumenstufen): Ops Hub coded action oder externe Pricing API ergänzen. Siehe Abschnitt 6. |
| A4 | **Four-eye principle** is implemented via HubSpot Deal stage gates + PandaDoc approval workflow. Sales cannot send contracts without prior Legal/Finance approval. This is a process control, not a technical lock.**4-Augen-Prinzip** wird über HubSpot Deal-Stage-Gates + PandaDoc Genehmigungs-Workflow umgesetzt. Sales kann Verträge nicht ohne vorherige Legal/Finance-Freigabe senden. Dies ist eine Prozesskontrolle, kein technischer Lock. | If hard technical enforcement needed: Ops Hub coded action can block PandaDoc API call until approval\_status = approved. Requires Ops Hub Professional.Bei harter technischer Durchsetzung: Ops Hub coded action kann PandaDoc API-Call blockieren bis approval\_status = approved. Erfordert Ops Hub Professional. |
| A5 | **DATEV variant** is DATEV Unternehmen Online. Middleware tool (sevDesk or lexoffice) handles the export. No direct API integration possible.**DATEV-Variante** ist DATEV Unternehmen Online. Middleware-Tool (sevDesk oder lexoffice) übernimmt den Export. Keine direkte API-Integration möglich. | If different DATEV variant: MAESN connector may not work. Verify with client’s accounting team before implementation.Bei anderer DATEV-Variante: MAESN-Connector funktioniert möglicherweise nicht. Mit Buchhaltungsteam des Kunden vor Implementierung abklären. |
| A6 | **User provisioning** = managing Trust Center access contacts (procurement / compliance personnel). These users log in via **HubSpot CMS Membership**. SSO via Enterprise SAML is available if needed (single IdP only).**User Provisioning** = Verwaltung von Trust Center Zugangskontakten (Einkauf / Compliance-Personal). Diese Nutzer loggen sich über **HubSpot CMS Membership** ein. SSO via Enterprise SAML verfügbar bei Bedarf (nur einzelner IdP). | If SSO needed: Enterprise plan upgrade required. Config-only, no code change.Bei SSO-Bedarf: Enterprise-Plan-Upgrade erforderlich. Nur Konfiguration, keine Codeänderung. |
| A7 | **~100 banking customers** with ~300-500 compliance documents is the medium-term scale target. HubSpot CRM handles this contact/deal volume. **Document search and editorial workflow become pain points** at this scale — see limitations in Section 13.**~100 Bankkunden** mit ~300-500 Compliance-Dokumenten ist das mittelfristige Skalierungsziel. HubSpot CRM bewältigt dieses Kontakt-/Deal-Volumen. **Dokumentensuche und Editorial-Workflow werden bei dieser Größe zu Schmerzpunkten** — siehe Limitierungen in Abschnitt 13. | If 500+ customers or 1000+ docs: consider adding Algolia for search and Sanity for editorial workflow. See Section 13.Bei 500+ Kunden oder 1000+ Docs: Algolia für Suche und Sanity für Editorial-Workflow in Betracht ziehen. Siehe Abschnitt 13. |

### User Journey OverviewUser Journey Übersicht

User Journey — Tier Progression

```

graph TB
    V["Visitor"] --> LP["Landing Page/trust-center"]
    LP --> CF["Contact FormRequest Access"]
    CF -->|"Sales enables TC"| PR["Prospect — Level 1"]
    PR --> DB["Dashboard/trust-center/home"]
    DB --> SEC["Security Docs"]
    DB --> INF["Infrastructure Docs"]
    PR -->|"NDA signed"| NDA["NDA — Level 2"]
    NDA --> COMP["Compliance & Legal"]
    NDA -->|"Deal Closed Won"| CU["Customer — Level 3"]
    CU --> CERT["Certifications"]
    CU --> VER["Version History"]

    style V fill:#1e3054,stroke:#2a3f6a,color:#f6fbff
    style LP fill:#1e3054,stroke:#2a3f6a,color:#f6fbff
    style CF fill:#1e3054,stroke:#2a3f6a,color:#f6fbff
    style PR fill:#142036,stroke:#2563eb,color:#2563eb
    style DB fill:#142036,stroke:#2a3f6a,color:#f6fbff
    style SEC fill:#142036,stroke:#2a3f6a,color:#a3b8d0
    style INF fill:#142036,stroke:#2a3f6a,color:#a3b8d0
    style NDA fill:#142036,stroke:#a78bfa,color:#a78bfa
    style COMP fill:#142036,stroke:#2a3f6a,color:#a3b8d0
    style CU fill:#142036,stroke:#FFB342,color:#FFB342
    style CERT fill:#142036,stroke:#2a3f6a,color:#a3b8d0
    style VER fill:#142036,stroke:#2a3f6a,color:#a3b8d0
    
```

2

## System ArchitectureSystemarchitektur

Unlike multi-system architectures (CMS + Object Storage + Auth Provider + Search Engine + Frontend Framework), the HubSpot-native solution consolidates everything into **one platform**:

Im Gegensatz zu Multi-System-Architekturen (CMS + Object Storage + Auth Provider + Search Engine + Frontend Framework) konsolidiert die HubSpot-Native-Lösung alles in **einer Plattform**:

System Architecture Overview

```

graph LR
    subgraph HS["HubSpot Platform"]
        CRM["CRMContacts · CompaniesDeals · Custom Objects"]
        CMS["CMS HubTemplates · ModulesPrivate Content"]
        SF["Serverless FunctionsSecure DownloadsTier Validation"]
        WF["WorkflowsTier AssignmentDeal-to-Access"]
        FM["File ManagerPrivate PDFsCloudFront CDN"]
    end
    CRM <-->|"crm_objects()"| CMS
    CRM <-->|"hubspot/api-client"| SF
    FM <-->|"Files API v3"| SF
    WF -->|"Property Update"| CRM
    CMS -->|"context.contact"| SF

    style HS fill:#0e1629,stroke:#2a3f6a,color:#f6fbff
    style CRM fill:#142036,stroke:#FFB342,color:#f6fbff
    style CMS fill:#142036,stroke:#2563eb,color:#f6fbff
    style SF fill:#142036,stroke:#22c55e,color:#f6fbff
    style WF fill:#142036,stroke:#a78bfa,color:#f6fbff
    style FM fill:#142036,stroke:#FFB342,color:#f6fbff
    
```

| ComponentKomponente | Responsible forVerantwortlich für | Does NOTMacht NICHT |
| --- | --- | --- |
| **HubSpot CRM** | Contacts, Companies, Deals, Pipeline, Access Tier Properties, Custom Object (Trust Center Document)Kontakte, Companies, Deals, Pipeline, Access-Tier-Properties, Custom Object (Trust Center Document) | File Storage, Frontend Rendering |
| **HubSpot CMS Hub** | Templates, Modules (HubL), Private Content / Membership Login, Theme RenderingTemplates, Module (HubL), Private Content / Membership Login, Theme Rendering | CRM Logic, File SigningCRM-Logik, File-Signierung |
| **CMS Serverless** | Secure Downloads, Server-side Tier Validation, Signed URL Generation via Files APISichere Downloads, Tier-Validierung serverseitig, Signed-URL-Generierung über Files API | Content Rendering, CRM Management |
| **HubSpot Workflows** | Automatic Tier Assignment, Deal Stage Mapping, Access RevocationAutomatische Tier-Zuweisung, Deal-Stage-Mapping, Access-Revocation | Frontend Logic, File AccessFrontend-Logik, File-Zugriff |
| **HubSpot File Manager** | PDF Storage (PRIVATE access), CloudFront CDN with Signed URLsPDF-Speicherung (PRIVATE access), CloudFront CDN mit Signed URLs | Metadata, Access ControlMetadaten, Zugangskontrolle |

**Internal Communication:** HubSpot CRM ↔ CMS ↔ Serverless communicate via `crm_objects()` / `crm_object()` HubL functions and `@hubspot/api-client` in Serverless Functions. This eliminates the need for a separate API gateway for Trust Center operations. **Note:** External integrations (PandaDoc, DATEV middleware) still require webhook/API communication outside HubSpot. **Interne Kommunikation:** HubSpot CRM ↔ CMS ↔ Serverless kommunizieren über `crm_objects()` / `crm_object()` HubL-Funktionen und `@hubspot/api-client` in Serverless Functions. Dies eliminiert die Notwendigkeit eines separaten API-Gateways für Trust-Center-Operationen. **Hinweis:** Externe Integrationen (PandaDoc, DATEV-Middleware) erfordern weiterhin Webhook/API-Kommunikation außerhalb von HubSpot.

3

## Access Control Model

**Four-tier access system** with numerical hierarchy. Each higher tier inherits all permissions of the lower ones:

**Vier-Stufen-Zugangssystem** mit numerischer Hierarchie. Jede höhere Stufe erbt alle Berechtigungen der unteren:

Level 0

Public

Landing page, contact form. No documents visible.Landing Page, Kontaktformular. Keine Dokumente sichtbar.

Level 1

Prospect

Security + Infrastructure documents, overview PDFs, certificate summaries.Security + Infrastructure Dokumente, Übersichts-PDFs, Zertifikats-Summaries.

Level 2

NDA

+ Compliance & Legal: GDPR, pentest reports, full security documentation.+ Compliance & Legal: GDPR, Pentest Reports, vollständige Sicherheitsdokumentation.

Level 3

Customer

+ Certifications, version history, customer-specific documents.+ Certifications, Versionsverlauf, kundenspezifische Dokumente.

### Three-Layer Security ModelDrei-Schichten-Sicherheitsmodell

Three-Layer Security Flow

```

graph LR
    A["User visits/trust-center/*"] --> B{"Layer 1CMS PrivateContent"}
    B -->|"Not logged in"| C["Redirect to/_hcms/mem/login"]
    B -->|"Logged in"| D{"Layer 2trust_center_enabled?"}
    D -->|"false"| E["Access GateContact Sales"]
    D -->|"true"| F{"Layer 3Tier Checkuser >= min"}
    F -->|"Insufficient"| G["Locked Tile"]
    F -->|"Sufficient"| H["Access Granted"]

    style A fill:#1e3054,stroke:#2a3f6a,color:#f6fbff
    style B fill:#142036,stroke:#FFB342,color:#FFB342
    style C fill:#3d1111,stroke:#ef4444,color:#ef4444
    style D fill:#142036,stroke:#FFB342,color:#FFB342
    style E fill:#3d1111,stroke:#ef4444,color:#ef4444
    style F fill:#142036,stroke:#FFB342,color:#FFB342
    style G fill:#3d1111,stroke:#ef4444,color:#ef4444
    style H fill:#0f3d24,stroke:#22c55e,color:#22c55e
    
```

- **Layer 1 — CMS Private Content:** HubSpot automatically redirects unauthenticated visitors to the membership login page. No code required.
- **Schicht 1 — CMS Private Content:** HubSpot leitet nicht eingeloggte Besucher automatisch zur Membership-Login-Seite weiter. Kein Code erforderlich.
- **Layer 2 — trust\_center\_enabled:** CRM property check via `crm_object()`. Disabled contacts see a "Contact Sales" gate.
- **Schicht 2 — trust\_center\_enabled:** CRM-Property-Check via `crm_object()`. Deaktivierte Kontakte sehen „Contact Sales“-Gate.
- **Layer 3 — Tier Comparison:** Numerical comparison (user\_level ≥ doc\_min\_level). Enforced in both HubL (frontend) and Serverless (download).
- **Schicht 3 — Tier-Vergleich:** Numerischer Vergleich (user\_level ≥ doc\_min\_level). Sowohl in HubL (Frontend) als auch in Serverless (Download) durchgesetzt.

### Tile-Level Access MatrixTile-Level Access Matrix

| AreaBereich | min\_tier | Public | Prospect | NDA | Customer |
| --- | --- | --- | --- | --- | --- |
| Security | prospect | ✗ | ✓ | ✓ | ✓ |
| Infrastructure | prospect | ✗ | ✓ | ✓ | ✓ |
| Compliance & Legal | nda | ✗ | ✗ | ✓ | ✓ |
| Certifications | customer | ✗ | ✗ | ✗ | ✓ |
| FAQ | public | ✓ | ✓ | ✓ | ✓ |
| Contact | public | ✓ | ✓ | ✓ | ✓ |

4

## Data ModelDatenmodell

### Custom Object: Trust Center Document

API Name: `p2662191_trust_center_document` · ObjectTypeId: `2-58394979`

| Property | TypeTyp | DescriptionBeschreibung |
| --- | --- | --- |
| doc\_title | String | Display name of the documentAnzeigename des Dokuments |
| doc\_bucket | Enum | Category: security, infrastructure, compliance\_legal, certificationsKategorie: security, infrastructure, compliance\_legal, certifications |
| min\_tier | Enum | Minimum access tier: public, prospect, nda, customerMindestzugangsstufe: public, prospect, nda, customer |
| secure\_file | File | HubSpot File Manager ID (PRIVATE access)HubSpot File Manager ID (PRIVATE access) |
| current\_version | URL | Fallback download linkFallback-Download-Link |
| previous\_version\_1 | URL | Previous version (Customer-only visible)Vorherige Version (nur für Customer sichtbar) |
| previous\_version\_2 | URL | Older versionÄltere Version |
| doc\_description | Text | Description for document listingBeschreibung für Dokumentenliste |
| last\_updated | Date | Last modification dateLetztes Änderungsdatum |
| change\_note | String | Change note for latest versionÄnderungshinweis für letzte Version |

### CRM Properties

Contact Properties

`trust_center_enabled` Boolean  
`trust_center_access_tier` Enum  
`trust_center_role` Enum  
`provisioning_status` Enum

Company Properties

`company_status` Enum  
`nda_signed` Boolean  
`has_active_product` Boolean

Deal Properties

`contract_signed` Boolean  
`provisioning_approved` Boolean  
`invoice_ready` Boolean

CRM Data Model — Entity Relationships

```

graph LR
    CO["Contacttrust_center_enabledaccess_tier · role"] --- COMP["Companycompany_statusnda_signed"]
    CO --- DEAL["Dealcontract_signedprovisioning_approved"]
    CO ---|"Membership"| PAGE["CMS Private Pages9 Trust Center Pages"]
    DOC["Trust Center Documentdoc_bucket · min_tiersecure_file"] ---|"crm_objects()"| PAGE
    DOC ---|"Files API"| FM["File ManagerPrivate PDFs"]

    style CO fill:#142036,stroke:#FFB342,color:#FFB342
    style COMP fill:#142036,stroke:#2563eb,color:#2563eb
    style DEAL fill:#142036,stroke:#a78bfa,color:#a78bfa
    style DOC fill:#142036,stroke:#22c55e,color:#22c55e
    style PAGE fill:#142036,stroke:#2a3f6a,color:#f6fbff
    style FM fill:#142036,stroke:#2a3f6a,color:#a3b8d0
    
```

5

## Integration FlowsIntegrationsflüsse

### Flow A — Secure Document Download

Secure Download — Sequence Diagram

```

sequenceDiagram
    participant U as User Browser
    participant SF as Serverless Function
    participant CRM as HubSpot CRM
    participant Files as Files API v3
    participant CDN as CloudFront

    U->>SF: GET /_hcms/api/secure-download?doc_id=123
    SF->>SF: Check context.contact.isLoggedIn
    alt Not logged in
        SF-->>U: 401 Unauthorized
    end
    par Parallel CRM Lookup
        SF->>CRM: GET Contact access_tier
        SF->>CRM: GET Document min_tier + file_id
    end
    SF->>SF: tier_order[contact] >= tier_order[doc]
    alt Insufficient tier
        SF-->>U: 403 Forbidden
    end
    SF->>Files: GET /files/v3/files/{id}/signed-url
    Files-->>SF: Signed URL (15min expiry)
    SF-->>U: 302 Redirect
    U->>CDN: GET signed URL
    CDN-->>U: PDF Download
    
```

GET /\_hcms/api/secure-download?doc\_id=<CRM\_OBJECT\_ID> 1. Validate doc\_id parameter → 400 if missing 2. Check context.contact.isLoggedIn → 401 if not logged in 3. Parallel CRM lookup: a) Contact: trust\_center\_access\_tier b) Document: min\_tier + secure\_file 4. Compare tier\_order\[contact\_tier\] ≥ tier\_order\[doc\_tier\] → 403 if insufficient 5. Files API v3: GET /files/v3/files/{fileId}/signed-url?expirationSeconds=900 6. 302 Redirect to CloudFront signed URL

### Flow B — Sales Pipeline → TC Access

Sales Pipeline — Tier Promotion Flow

```

graph LR
    A["DealCreated"] -->|"WF1"| B["TC Enabledtier = prospect"]
    B --> C["NDA sent viaPandaDoc / DocuSign"]
    C -->|"Client signs"| D["WF4: nda_statustier = nda"]
    D --> E["Contract sentafter 4-eyes approval"]
    E -->|"Client signs"| F["WF5: Closed Wontier = customer"]

    style A fill:#1e3054,stroke:#2a3f6a,color:#f6fbff
    style B fill:#142036,stroke:#2563eb,color:#2563eb
    style C fill:#142036,stroke:#a78bfa,color:#a78bfa
    style D fill:#142036,stroke:#a78bfa,color:#a78bfa
    style E fill:#142036,stroke:#FFB342,color:#FFB342
    style F fill:#0f3d24,stroke:#22c55e,color:#22c55e
    
```

### Flow C — Access Revocation

Access Revocation Flow

```

graph LR
    A["TC Disabledenabled = false"] -->|"WF3 triggers"| B["tier = public"]
    B --> C["All TilesLocked"]
    C --> D["Signed URLsExpire (15min)"]
    D --> E["FullRevocation"]

    style A fill:#3d1111,stroke:#ef4444,color:#ef4444
    style B fill:#4a3010,stroke:#FFB342,color:#FFB342
    style C fill:#1e3054,stroke:#2a3f6a,color:#f6fbff
    style D fill:#1e3054,stroke:#2a3f6a,color:#f6fbff
    style E fill:#0f3d24,stroke:#22c55e,color:#22c55e
    
```

6

## Quote-to-Cash & Document AutomationQuote-to-Cash & Dokumentenautomatisierung

The Trust Center's sales lifecycle generates **five document types** through PandaDoc or DocuSign: NDA, Offer, Quote, Contract, and Invoice. Each document triggers CRM automations that drive the tier progression and finance workflow. This section covers the **complete Quote-to-Cash pipeline** from first contact to DATEV export.

Der Sales-Lifecycle des Trust Centers erzeugt **fünf Dokumenttypen** über PandaDoc oder DocuSign: NDA, Angebot, Quote, Vertrag und Rechnung. Jedes Dokument löst CRM-Automatisierungen aus, die die Tier-Progression und den Finance-Workflow steuern. Dieser Abschnitt behandelt die **komplette Quote-to-Cash-Pipeline** vom Erstkontakt bis zum DATEV-Export.

### Full Document LifecycleVollständiger Dokumenten-Lifecycle

Quote-to-Cash Pipeline — End to End

```

graph LR
    A["ProspectRegistered"] -->|"Sales sends"| B["NDA"]
    B -->|"Client signs"| C["tier = nda"]
    C -->|"Sales creates"| D["Offer /Quote"]
    D -->|"Client accepts"| E["Contract"]
    E -->|"4-EyesApproval"| F["Client signs"]
    F -->|"Closed Won"| G["tier = customer"]
    G -->|"Auto-generate"| H["Invoice"]
    H -->|"Export"| I["DATEV"]

    style A fill:#1e3054,stroke:#2a3f6a,color:#f6fbff
    style B fill:#142036,stroke:#FFB342,color:#FFB342
    style C fill:#0f3d24,stroke:#22c55e,color:#22c55e
    style D fill:#142036,stroke:#2563eb,color:#2563eb
    style E fill:#142036,stroke:#a78bfa,color:#a78bfa
    style F fill:#142036,stroke:#FFB342,color:#FFB342
    style G fill:#0f3d24,stroke:#22c55e,color:#22c55e
    style H fill:#142036,stroke:#22d3ee,color:#22d3ee
    style I fill:#4a3010,stroke:#FFB342,color:#FFB342
    
```

### Document Generation MatrixDokumentenerstellungs-Matrix

| DocumentDokument | HubSpot Native | PandaDoc | DocuSign | Tier TriggerTier-Trigger |
| --- | --- | --- | --- | --- |
| **NDA** | ✗ | ✓ Template + e-signTemplate + E-Signatur | ✓ Template + e-signTemplate + E-Signatur | prospect → **nda** |
| **Offer** | ✗ | ✓ Template + merge fieldsTemplate + Merge-Felder | ✓ TemplateTemplate | — |
| **Quote** | ✓ Sales Hub Quotes | ✓ Rich templatesRich Templates | ✗ | — |
| **Contract** | ✗ | ✓ Template + 4-eyes + e-signTemplate + 4-Augen + E-Signatur | ✓ Template + e-signTemplate + E-Signatur | nda → **customer** |
| **Invoice** | ✓ Commerce Hub | ✓ Invoice templatesRechnungsvorlagen | ✗ | — (DATEV exportDATEV-Export) |

**Key insight:** PandaDoc covers **all 5 document types** with e-signature + merge fields. DocuSign excels at NDA + Contract signing but lacks quote/invoice capabilities. HubSpot native Quotes (Sales Hub) and Invoices (Commerce Hub) can complement either tool. **Kernaussage:** PandaDoc deckt **alle 5 Dokumenttypen** mit E-Signatur + Merge-Feldern ab. DocuSign glänzt bei NDA + Vertragsunterzeichnung, hat aber keine Quote/Invoice-Funktionen. HubSpots native Quotes (Sales Hub) und Invoices (Commerce Hub) können beide Tools ergänzen.

### PandaDoc vs. DocuSign — Detailed ComparisonPandaDoc vs. DocuSign — Detailvergleich

| CapabilityFähigkeit | PandaDoc | DocuSign |
| --- | --- | --- |
| Create doc from Deal sidebarDokument aus Deal-Sidebar erstellen | ✓ | ✓ |
| Cross-object merge (Contact + Company + Deal)Cross-Object Merge (Contact + Company + Deal) | ✓ AdvantageVorteil | Contact onlyNur Contact |
| Track signing status in HubSpotSigning-Status in HubSpot tracken | ✓ Sent / Viewed / Completed / Declined | ✓ Sent / Delivered / Completed / Declined |
| Auto-attach signed PDF to DealSigniertes PDF automatisch an Deal anhängen | ✓ External Automations | ✓ Native |
| Auto-update Contact properties on completionContact-Properties bei Abschluss aktualisieren | ✓ External Automations | ✓ via Workflow |
| Auto-change Deal stage on completionDeal-Stage automatisch ändern bei Abschluss | ✓ External Automations | ✓ via Workflow |
| Auto-create & send doc from workflowDokument automatisch aus Workflow erstellen & senden | ✗ Requires PandaDoc APIErfordert PandaDoc API | ✗ Requires DocuSign APIErfordert DocuSign API |
| Enterprise standard (banking)Enterprise-Standard (Banking) | Growing adoptionWachsende Verbreitung | ✓ Industry standardBranchenstandard |
| Min. plan for HubSpot automationMin. Plan für HubSpot-Automatisierung | Business (€39/moMonat) or Enterprise | Standard (€25/moMonat) or higher |

### NDA Signing FlowNDA-Unterzeichnungsablauf

NDA Signing → Trust Center Tier Upgrade

```

sequenceDiagram
    participant S as Sales Rep
    participant PD as PandaDoc / DocuSign
    participant C as Bank Contact
    participant HS as HubSpot CRM
    participant WF as Workflow

    S->>PD: Create NDA from Deal sidebar
    PD->>PD: Auto-fill Contact + Company data
    S->>PD: Send NDA to contact
    PD->>C: Email with signing link
    C->>PD: Signs NDA digitally
    PD->>HS: Webhook: nda_status = completed
    HS->>WF: Trigger: esign_nda_status changed
    WF->>HS: Set access_tier = nda
    WF->>HS: Set nda_signed = true (Company)
    WF->>S: Notification: NDA signed
    
```

**Key automation:** When the NDA is signed, `trust_center_access_tier` is automatically upgraded from `prospect` to `nda`. This unlocks Compliance & Legal documents in the Trust Center — no manual intervention needed. **Kernautomatisierung:** Wenn die NDA unterzeichnet wird, wird `trust_center_access_tier` automatisch von `prospect` auf `nda` hochgestuft. Dies schaltet Compliance & Legal Dokumente im Trust Center frei — kein manueller Eingriff nötig.

### Contract Approval & Signing FlowVertragsgenehmigung & Unterzeichnung

Contract → 4-Eyes Approval → Signing → Closed Won

```

graph TB
    A["Sales creates contractin PandaDoc / DocuSign"] --> B["Deal stage:Contract Ready"]
    B --> C{"4-Eyes ApprovalLegal / Finance"}
    C -->|"Rejected"| D["Back to Salesfor revision"]
    C -->|"Approved"| E["approval_status= approved"]
    E --> F["Sales sendscontract to client"]
    F --> G["Client signsdigitally"]
    G --> H["Webhook:contract_status= completed"]
    H --> I["WF: Deal stage= Closed Won"]
    I --> J["WF: tier= customer"]
    I --> K["Finance task:Generate invoice"]

    style A fill:#1e3054,stroke:#2a3f6a,color:#f6fbff
    style B fill:#142036,stroke:#2563eb,color:#2563eb
    style C fill:#142036,stroke:#FFB342,color:#FFB342
    style D fill:#3d1111,stroke:#ef4444,color:#ef4444
    style E fill:#0f3d24,stroke:#22c55e,color:#22c55e
    style F fill:#1e3054,stroke:#2a3f6a,color:#f6fbff
    style G fill:#142036,stroke:#a78bfa,color:#a78bfa
    style H fill:#142036,stroke:#FFB342,color:#FFB342
    style I fill:#0f3d24,stroke:#22c55e,color:#22c55e
    style J fill:#0f3d24,stroke:#22c55e,color:#22c55e
    style K fill:#142036,stroke:#2a3f6a,color:#a3b8d0
    
```

### Quote Calculation Logic — Where Does the Intelligence Live?Quote-Berechnungslogik — Wo lebt die Intelligenz?

Generating an offer or quote requires **pricing intelligence**: contract length → discount tiers, volume bands, optional modules, recurring vs. one-time fees. This calculation logic must live *somewhere* — regardless of which architecture or frontend is used.

Die Erstellung eines Angebots oder Quotes erfordert **Pricing-Intelligenz**: Vertragslaufzeit → Rabattstufen, Volumenbänder, optionale Module, wiederkehrende vs. einmalige Gebühren. Diese Berechnungslogik muss *irgendwo* leben — unabhängig von der Architektur oder dem Frontend.

| OptionOption | How It WorksFunktionsweise | ComplexityKomplexität | RequiresErfordert |
| --- | --- | --- | --- |
| **HubSpot Products + Line Items** | Products catalog in CRM with fixed prices. Sales selects products, adds to Deal. Discount entered manually per line item. Quote auto-calculates total.Produktkatalog im CRM mit Festpreisen. Sales wählt Produkte, fügt sie zum Deal hinzu. Rabatt wird manuell pro Position eingegeben. Quote berechnet Gesamtbetrag automatisch. | LowNiedrig | Sales Hub Starter+ |
| **PandaDoc Pricing Tables** | Interactive pricing tables in PandaDoc with conditional logic: contract length × volume = calculated discount. Client can toggle optional modules. Auto-updated totals.Interaktive Pricing-Tabellen in PandaDoc mit bedingter Logik: Vertragslaufzeit × Volumen = berechneter Rabatt. Kunde kann optionale Module umschalten. Auto-aktualisierte Summen. | MediumMittel | PandaDoc Business (€39/moMo.) |
| **Ops Hub Coded Action** | Custom JavaScript in workflow: reads Deal properties (contract\_length, volume, tier), computes discount via formula, writes calculated\_price back to Deal. Full flexibility.Custom JavaScript im Workflow: liest Deal-Properties (contract\_length, volume, tier), berechnet Rabatt per Formel, schreibt calculated\_price zurück zum Deal. Volle Flexibilität. | HighHoch | Ops Hub Professional+ |
| **External Pricing APIExterne Pricing API** | Serverless function or external service receives Deal data, runs pricing engine, returns calculated quote. Maximum flexibility but highest complexity. Required in *any* architecture if formulas are truly complex.Serverless Function oder externer Service empfängt Deal-Daten, führt Pricing-Engine aus, gibt berechnetes Angebot zurück. Maximale Flexibilität aber höchste Komplexität. In *jeder* Architektur erforderlich wenn Formeln wirklich komplex sind. | Very HighSehr hoch | Custom devCustom-Entwicklung |

Quote Calculation — Decision TreeQuote-Berechnung — Entscheidungsbaum

```

graph TB
    Q{"How complex isyour pricing?"}
    Q -->|"Fixed prices +manual discounts"| A["HubSpot Products+ Line Items"]
    Q -->|"Contract length affectsdiscount + optional modules"| B["PandaDocPricing Tables"]
    Q -->|"Multi-variable formulastiered + volume + currency"| C{"Ops Hubavailable?"}
    C -->|"Yes"| D["Ops HubCoded Action"]
    C -->|"No"| E["ExternalPricing API"]

    style Q fill:#142036,stroke:#FFB342,color:#FFB342
    style A fill:#0f3d24,stroke:#22c55e,color:#f6fbff
    style B fill:#0f3d24,stroke:#22c55e,color:#f6fbff
    style C fill:#142036,stroke:#a78bfa,color:#a78bfa
    style D fill:#142036,stroke:#2563eb,color:#f6fbff
    style E fill:#142036,stroke:#2563eb,color:#f6fbff
    
```

**Honest assessment:** **HubSpot Products + PandaDoc Pricing Tables** covers standard B2B SaaS pricing (fixed products, percentage discounts, optional add-ons). **Limitation:** If RisiQ needs truly dynamic pricing — multi-variable formulas, currency conversion, tiered volume bands that change quarterly — PandaDoc’s conditional logic will reach its ceiling. In that case, an **Ops Hub coded action** (custom JS in workflow) or an **external pricing API** becomes necessary. This is a HubSpot limitation, not a design choice. **Ehrliche Einschätzung:** **HubSpot Products + PandaDoc Pricing Tables** deckt Standard-B2B-SaaS-Pricing ab (feste Produkte, prozentuale Rabatte, optionale Add-ons). **Limitation:** Wenn RisiQ wirklich dynamisches Pricing braucht — Multi-Variablen-Formeln, Währungsumrechnung, gestaffelte Volumenbänder die sich quartalsweise ändern — wird PandaDocs bedingte Logik an ihre Grenze stoßen. In dem Fall wird ein **Ops Hub coded action** (Custom JS im Workflow) oder eine **externe Pricing API** notwendig. Das ist eine HubSpot-Limitation, keine Designentscheidung.

---

### Four-Eye Principle — Approval Before Sending4-Augen-Prinzip — Freigabe vor dem Versand

Banking compliance often requires that contracts and offers are approved by a second person (Legal, Finance, or Management) before they are sent to the client. HubSpot does not have a native “block send until approved” mechanism, but the same outcome is achieved through **process gates**:

Banking-Compliance erfordert oft, dass Verträge und Angebote von einer zweiten Person (Legal, Finance oder Management) genehmigt werden, bevor sie an den Kunden gesendet werden. HubSpot hat keinen nativen „Senden blockieren bis genehmigt“-Mechanismus, aber das gleiche Ergebnis wird durch **Prozess-Gates** erreicht:

Four-Eye Approval Flow4-Augen-Freigabe-Flow

```

sequenceDiagram
    participant S as Sales Rep
    participant HS as HubSpot CRM
    participant AP as Approver(Legal / Finance)
    participant PD as PandaDoc
    participant CL as Client

    S->>HS: Move Deal to "Contract Ready"
    HS->>HS: Set approval_status = pending
    HS->>AP: Task: Review contract (auto-created)
    AP->>HS: Set approval_status = approved
    HS->>S: Notification: Contract approved
    Note over S,PD: Only NOW can Sales send
    S->>PD: Send contract to client
    PD->>CL: Email with signing link
    CL->>PD: Signs contract
    PD->>HS: Webhook: contract_status = completed
    
```

Soft enforcement (recommended start)Weiche Durchsetzung (empfohlener Start)

Deal stage gate + approval task. Sales is trained not to send before approval. PandaDoc’s own approval workflow adds a second layer. Works with Sales Hub Professional.Deal-Stage-Gate + Freigabe-Task. Sales wird geschult, vor Freigabe nicht zu senden. PandaDocs eigener Genehmigungs-Workflow bietet eine zweite Ebene. Funktioniert mit Sales Hub Professional.

Hard enforcement (if required)Harte Durchsetzung (falls erforderlich)

Ops Hub coded action intercepts the PandaDoc API call. Document is only created/sent when `approval_status = approved`. Full technical block. Requires Ops Hub Professional.Ops Hub coded action fängt den PandaDoc-API-Call ab. Dokument wird nur erstellt/gesendet wenn `approval_status = approved`. Vollständiger technischer Block. Erfordert Ops Hub Professional.

**Important:** The four-eye principle works *identically* in both HubSpot-native and hybrid architectures. In both cases, PandaDoc sends the document — approval logic happens in HubSpot CRM. The frontend architecture (HubSpot CMS vs. Next.js) has no impact on this workflow. **Wichtig:** Das 4-Augen-Prinzip funktioniert in HubSpot-nativer und hybrider Architektur *identisch*. In beiden Fällen sendet PandaDoc das Dokument — die Freigabelogik findet im HubSpot CRM statt. Die Frontend-Architektur (HubSpot CMS vs. Next.js) hat keinen Einfluss auf diesen Workflow.

---

### Offer & Quote GenerationAngebots- & Quote-Erstellung

| CapabilityFähigkeit | HubSpot Quotes (Sales Hub) | PandaDoc Quotes |
| --- | --- | --- |
| Create from DealAus Deal erstellen | ✓ Native sidebarNative Sidebar | ✓ Deal sidebar widgetDeal-Sidebar-Widget |
| Line items & pricingPositionen & Preise | ✓ Products from CRMProdukte aus CRM | ✓ Custom catalog + CRM mergeEigener Katalog + CRM Merge |
| Approval workflowGenehmigungs-Workflow | ✓ Sales Hub Professional+ | ✓ Built-in approval chainsIntegrierte Freigabeketten |
| E-signature on quoteE-Signatur auf Quote | ✗ No native signingKeine native Signatur | ✓ AdvantageVorteil |
| Custom brandingCustom Branding | LimitedBegrenzt | ✓ Full template controlVolle Template-Kontrolle |
| Min. plan requiredMin. Plan erforderlich | Sales Hub Starter (€15/moMonat) | Business (€39/moMonat) |

**Assessment:** HubSpot native Quotes work for simple fixed-price proposals. However, for RisiQ’s use case — **contract-length-dependent discounts, volume tiers, optional modules** — PandaDoc’s pricing tables offer significantly more flexibility (conditional logic, interactive pricing, e-signature on the quote itself). If the pricing model is complex, **PandaDoc is the more capable choice**. Both integrate with the same CRM pipeline. **Einschätzung:** HubSpot native Quotes funktionieren für einfache Festpreis-Angebote. Für RisiQs Use Case — **laufzeitabhängige Rabatte, Volumenstufen, optionale Module** — bieten PandaDocs Pricing-Tabellen deutlich mehr Flexibilität (bedingte Logik, interaktives Pricing, E-Signatur direkt auf dem Quote). Bei komplexem Preismodell ist **PandaDoc die leistungsfähigere Wahl**. Beide integrieren sich in dieselbe CRM-Pipeline.

### Invoice GenerationRechnungserstellung

| CapabilityFähigkeit | HubSpot Invoices (Commerce Hub) | PandaDoc Invoices |
| --- | --- | --- |
| Auto-generate from DealAuto-Erstellung aus Deal | ✓ From Quotes or manualAus Quotes oder manuell | ✓ From Deal dataAus Deal-Daten |
| Payment collectionZahlungseinzug | ✓ Stripe / HubSpot Payments | ✓ Built-in payment linksIntegrierte Payment-Links |
| Recurring invoicesWiederkehrende Rechnungen | ✓ Subscription-basedAbo-basiert | ✓ Recurring schedulesWiederkehrende Zeitpläne |
| DATEV-compatible exportDATEV-kompatibler Export | ✗ Requires middlewareMiddleware erforderlich | ✗ Requires middlewareMiddleware erforderlich |
| German tax complianceDeutsche Steuerkonformität | Partial (no GoBD)Teilweise (kein GoBD) | Partial (no GoBD)Teilweise (kein GoBD) |
| Min. planMin. Plan | Commerce Hub Free (basic) / StarterCommerce Hub Free (Basis) / Starter | Business (€39/moMonat) |

### DATEV IntegrationDATEV-Integration

DATEV is the **de-facto standard** for German accounting and tax reporting. Invoice data from HubSpot/PandaDoc must ultimately reach DATEV Unternehmen Online for bookkeeping. There is no direct HubSpot ↔ DATEV API — a middleware layer is required.

DATEV ist der **De-facto-Standard** für deutsches Rechnungswesen und Steuermeldungen. Rechnungsdaten aus HubSpot/PandaDoc müssen letztlich DATEV Unternehmen Online für die Buchhaltung erreichen. Es gibt keine direkte HubSpot ↔ DATEV API — eine Middleware-Schicht ist erforderlich.

Invoice → DATEV Export Flow

```

graph LR
    A["DealClosed Won"] -->|"WF trigger"| B["Invoicegenerated"]
    B --> C{"ExportMethod"}
    C -->|"Option A"| D["sevDesk /lexoffice"]
    C -->|"Option B"| E["GetMyInvoices"]
    C -->|"Option C"| F["Manual CSVExport"]
    D --> G["DATEVUnternehmen Online"]
    E --> G
    F --> G

    style A fill:#0f3d24,stroke:#22c55e,color:#22c55e
    style B fill:#142036,stroke:#22d3ee,color:#22d3ee
    style C fill:#142036,stroke:#FFB342,color:#FFB342
    style D fill:#142036,stroke:#2563eb,color:#2563eb
    style E fill:#142036,stroke:#a78bfa,color:#a78bfa
    style F fill:#142036,stroke:#2a3f6a,color:#a3b8d0
    style G fill:#4a3010,stroke:#FFB342,color:#FFB342
    
```

| DATEV OptionDATEV-Option | How it WorksFunktionsweise | AutomationAutomatisierung | CostKosten |
| --- | --- | --- | --- |
| **A: sevDesk / lexoffice** | Cloud accounting tool with native HubSpot connector. Creates invoices, syncs to DATEV via DATEV API.Cloud-Buchhaltungstool mit nativem HubSpot-Connector. Erstellt Rechnungen, synct zu DATEV via DATEV-API. | Full autoVoll automatisch | €15-40/moMonat |
| **B: GetMyInvoices** | Invoice capture service. Pulls invoices from HubSpot/PandaDoc, exports to DATEV format.Rechnungserfassungsdienst. Zieht Rechnungen aus HubSpot/PandaDoc, exportiert ins DATEV-Format. | Semi-autoHalb-auto | €15-25/moMonat |
| **C: Manual CSVManueller CSV** | Export invoice data from HubSpot as CSV, import into DATEV Unternehmen Online.Rechnungsdaten aus HubSpot als CSV exportieren, in DATEV Unternehmen Online importieren. | ManualManuell | €0 |

**DATEV Reality Check:** There is **no direct DATEV API** for third-party integrations. DATEV uses proprietary connectors (MAESN, DATEVconnect Online) which only work through certified partner tools (sevDesk, lexoffice, DATEV-native clients). All paths — HubSpot-native or multi-system — share the **exact same DATEV limitation**. A middleware tool is always required. **DATEV Realitätscheck:** Es gibt **keine direkte DATEV-API** für Drittanbieter-Integrationen. DATEV nutzt proprietäre Konnektoren (MAESN, DATEVconnect Online), die nur über zertifizierte Partner-Tools funktionieren (sevDesk, lexoffice, DATEV-native Clients). Alle Wege — HubSpot-nativ oder Multi-System — teilen die **exakt gleiche DATEV-Limitation**. Ein Middleware-Tool ist immer erforderlich.

---

### Required CRM PropertiesErforderliche CRM-Properties

Contact Properties (E-Signature)Contact-Properties (E-Signatur)

`esign_nda_status` String  
Set by PandaDoc/DocuSign webhookGesetzt durch PandaDoc/DocuSign Webhook  
Values:Werte: sent, viewed, completed, declined

`esign_contract_status` String  
Set by PandaDoc/DocuSign webhookGesetzt durch PandaDoc/DocuSign Webhook  
Values:Werte: sent, viewed, completed, declined

Deal Properties (Approval & Finance)Deal-Properties (Genehmigung & Finanzen)

`approval_status` Enum  
Values: pending, approved, rejectedWerte: pending, approved, rejected

`contract_sent_date` Date  
Auto-set when contract is sentAutomatisch gesetzt bei Vertragsversand

`invoice_number` String  
Generated by HubSpot or PandaDocGeneriert von HubSpot oder PandaDoc

`invoice_status` Enum  
Values: draft, sent, paid, overdueWerte: draft, sent, paid, overdue

`datev_export_status` Enum  
Values: pending, exported, errorWerte: pending, exported, error

### New Workflows (Planned)Neue Workflows (Geplant)

WF4: NDA Signed → Tier Upgrade

**Trigger:** esign\_nda\_status = completed  
**Actions:**  
 • Set access\_tier = nda  
 • Set nda\_signed = true (Company)  
 • Send notification to SalesBenachrichtigung an Sales senden  
PLANNED

WF5: Contract Signed → Closed Won

**Trigger:** esign\_contract\_status = completed  
**Actions:**  
 • Set Deal stage = Closed Won  
 • WF2 auto-triggers: tier = customerWF2 wird automatisch ausgelöst: tier = customer  
 • Create Finance task: Generate invoiceFinance-Task erstellen: Rechnung generieren  
PLANNED

WF6: Invoice Generated → Finance

**Trigger:** invoice\_status = sent  
**Actions:**  
 • Set datev\_export\_status = pendingdatev\_export\_status = pending setzen  
 • Notify Finance teamFinance-Team benachrichtigen  
 • Create task: Export to DATEVAufgabe erstellen: Export nach DATEV  
PLANNED

WF7: Quote Accepted → Contract

**Trigger:** Quote status = accepted (HubSpot) or document completed (PandaDoc)Quote-Status = akzeptiert (HubSpot) oder Dokument abgeschlossen (PandaDoc)  
**Actions:**  
 • Deal stage = Contract ReadyDeal-Stage = Contract Ready  
 • Create task for Sales: Prepare contractAufgabe für Sales: Vertrag vorbereiten  
PLANNED

**Tool-agnostic design:** CRM properties use the `esign_*` prefix (not pandadoc\_ or docusign\_). Both tools write to the same properties via External Automations / webhooks. The tool can be swapped without changing any workflows. **Tool-agnostisches Design:** CRM-Properties verwenden das `esign_*`-Präfix (nicht pandadoc\_ oder docusign\_). Beide Tools schreiben über External Automations / Webhooks in dieselben Properties. Das Tool kann gewechselt werden, ohne Workflows zu ändern.

**Limitation:** Both PandaDoc and DocuSign can only trigger **Contact-based workflows** in HubSpot, not Deal-based. Workflow enrollment uses Contact property `esign_nda_status = completed`, not a Deal stage change. Document creation and sending remain manual Sales actions — full automation requires the respective API. **Limitation:** Sowohl PandaDoc als auch DocuSign können in HubSpot nur **Contact-basierte Workflows** auslösen, nicht Deal-basierte. Workflow-Enrollment verwendet Contact-Property `esign_nda_status = completed`, nicht einen Deal-Stage-Wechsel. Dokumenterstellung und -versand bleiben manuelle Sales-Aktionen — volle Automatisierung erfordert die jeweilige API.

### RecommendationEmpfehlung

Best all-in-one: PandaDocBeste All-in-One-Lösung: PandaDoc

Covers **all 5 document types** (NDA, Offer, Quote, Contract, Invoice) with e-signature + cross-object merge + deep HubSpot integration. Single tool for the entire Quote-to-Cash pipeline. Business plan €39/mo.Deckt **alle 5 Dokumenttypen** ab (NDA, Angebot, Quote, Vertrag, Rechnung) mit E-Signatur + Cross-Object Merge + tiefer HubSpot-Integration. Ein Tool für die gesamte Quote-to-Cash-Pipeline. Business-Plan €39/Monat.

Best for NDA/Contract signing: DocuSignBeste NDA/Vertragssignatur: DocuSign

Banking industry standard for regulated e-signatures. Combine with **HubSpot native Quotes** (Sales Hub) + **HubSpot Invoices** (Commerce Hub) for the full pipeline. Standard plan €25/mo.Banking-Branchenstandard für regulierte E-Signaturen. Kombinieren mit **HubSpot native Quotes** (Sales Hub) + **HubSpot Invoices** (Commerce Hub) für die volle Pipeline. Standard-Plan €25/Monat.

**For DATEV:** Regardless of PandaDoc or DocuSign choice, add **sevDesk** (€15-40/mo) or **lexoffice** (€10-35/mo) as middleware for automated DATEV export. Both have native HubSpot connectors and DATEV-certified export. **Für DATEV:** Unabhängig von PandaDoc oder DocuSign, **sevDesk** (€15-40/Monat) oder **lexoffice** (€10-35/Monat) als Middleware für automatisierten DATEV-Export hinzufügen. Beide haben native HubSpot-Konnektoren und DATEV-zertifizierten Export.

7

## HubSpot Workflows

WF1: TC Activation

**Trigger:** trust\_center\_enabled = true  
**Action:** Set tier = prospect  
**ID:** 1784603949  
ACTIVE

WF2: Deal Stage → Tier

**Trigger:** Deal Stage Change  
**Action:** Branch → Set tier  
**ID:** 1784596543  
ACTIVE

WF3: Access Revoke

**Trigger:** trust\_center\_enabled = false  
**Action:** Set tier = public  
**ID:** 1784597362  
ACTIVE

Workflow Decision Logic

```

graph TB
    START["Contact PropertyChanged"] --> CHECK{"Which propertychanged?"}
    CHECK -->|"trust_center_enabled= true"| WF1["WF1: Set tier= prospect"]
    CHECK -->|"trust_center_enabled= false"| WF3["WF3: Set tier= public"]
    CHECK -->|"Deal Stagechanged"| WF2{"WF2: Whichstage?"}
    WF2 -->|"NDA Signed"| NDA["Set tier = nda"]
    WF2 -->|"Closed Won"| CW["Set tier = customer"]
    WF2 -->|"Closed Lost"| CL["Set tier = publicenabled = false"]

    style START fill:#1e3054,stroke:#2a3f6a,color:#f6fbff
    style CHECK fill:#142036,stroke:#FFB342,color:#FFB342
    style WF1 fill:#142036,stroke:#2563eb,color:#2563eb
    style WF3 fill:#3d1111,stroke:#ef4444,color:#ef4444
    style WF2 fill:#142036,stroke:#FFB342,color:#FFB342
    style NDA fill:#142036,stroke:#a78bfa,color:#a78bfa
    style CW fill:#0f3d24,stroke:#22c55e,color:#22c55e
    style CL fill:#3d1111,stroke:#ef4444,color:#ef4444
    
```

**Deal WF Cross-Object Limitation:** HubSpot Automation API v4 cannot set Contact properties from a Deal workflow (PLATFORM\_FLOW). Solution: Workflow configured via HubSpot UI which supports cross-object actions. **Deal-WF Cross-Object Limitation:** HubSpot Automation API v4 kann keine Contact-Properties aus einem Deal-Workflow (PLATFORM\_FLOW) setzen. Lösung: Workflow über HubSpot UI konfiguriert, die Cross-Object-Actions unterstützt.

8

## Document SecurityDokumentensicherheit

Banking compliance documents require maximum protection. HubSpot File Manager is **PUBLIC** by default — anyone with a CDN URL can download. This was solved with a multi-layered security model:

Banking-Compliance-Dokumente erfordern maximalen Schutz. HubSpot File Manager ist standardmäßig **PUBLIC** — jeder mit CDN-URL kann herunterladen. Das wurde durch ein mehrschichtiges Sicherheitsmodell gelöst:

Document Security — Defense in Depth

```

graph TB
    REQ["Download Request"] --> L1{"File AccessPRIVATE?"}
    L1 -->|"CDN URL"| BLOCK1["404 — CDN blocked"]
    L1 -->|"Serverless endpoint"| L2{"Auth CheckisLoggedIn?"}
    L2 -->|"No"| BLOCK2["401 — Unauthorized"]
    L2 -->|"Yes"| L3{"Tier Validationcontact >= doc?"}
    L3 -->|"Insufficient"| BLOCK3["403 — Forbidden"]
    L3 -->|"Sufficient"| L4["Files API v3Generate Signed URL"]
    L4 --> L5["CloudFrontSigned URL (15min)"]
    L5 --> DL["PDF Download"]
    L5 -->|"After 15min"| BLOCK4["404 — URL Expired"]

    style REQ fill:#1e3054,stroke:#2a3f6a,color:#f6fbff
    style L1 fill:#142036,stroke:#FFB342,color:#FFB342
    style L2 fill:#142036,stroke:#FFB342,color:#FFB342
    style L3 fill:#142036,stroke:#FFB342,color:#FFB342
    style L4 fill:#142036,stroke:#22c55e,color:#22c55e
    style L5 fill:#142036,stroke:#22c55e,color:#22c55e
    style DL fill:#0f3d24,stroke:#22c55e,color:#22c55e
    style BLOCK1 fill:#3d1111,stroke:#ef4444,color:#ef4444
    style BLOCK2 fill:#3d1111,stroke:#ef4444,color:#ef4444
    style BLOCK3 fill:#3d1111,stroke:#ef4444,color:#ef4444
    style BLOCK4 fill:#3d1111,stroke:#ef4444,color:#ef4444
    
```

| Protection LayerSchutzschicht | ImplementationImplementierung | ResultErgebnis |
| --- | --- | --- |
| File Access | All 12 PDFs set to PRIVATE (Files API PATCH)Alle 12 PDFs auf PRIVATE gesetzt (Files API PATCH) | CDN URLs return 404CDN-URLs geben 404 zurück |
| Auth Check | `context.contact.isLoggedIn` in Serverless Function | 401 if not logged in401 wenn nicht eingeloggt |
| Tier Validation | Server-side numerical comparison (Contact vs. Document)Serverseitiger numerischer Vergleich (Contact vs. Document) | 403 if tier insufficient403 wenn Tier unzureichend |
| URL Expiry | CloudFront Signed URL, 15 minutes validityCloudFront Signed URL, 15 Minuten Gültigkeit | After expiry: 404Nach Ablauf: 404 |
| No Client Secrets | Private App Token stored as HubSpot SecretPrivate App Token als HubSpot Secret gespeichert | No token visible in browserKein Token im Browser sichtbar |

### Security Tests — All PassedSicherheitstests — Alle bestanden

✓ Auth Check

Incognito (not logged in) → 401. Logged in → PDF opened.Incognito (nicht eingeloggt) → 401. Eingeloggt → PDF geöffnet.

✓ Tier Restriction

Prospect requests NDA document → 403. Same Prospect requests Prospect document → 200 + PDF.Prospect fordert NDA-Dokument → 403. Gleiches Prospect fordert Prospect-Dokument → 200 + PDF.

✓ URL Expiry

T+0: 200 OK. T+15min: 404. CloudFront Signed URL expired.T+0: 200 OK. T+15min: 404. CloudFront Signed URL abgelaufen.

✓ CDN Bypass

After PRIVATE setting: old CDN URL returns 404.Nach PRIVATE-Setzung: alte CDN-URL gibt 404 zurück.

**Key Insight:** HubL's `file_by_id()` returns a `signed-url-redirect` URL for PRIVATE files, which requires HubSpot Portal login — NOT CMS Membership login. That's why the Serverless Function was the only viable approach. **Wichtige Erkenntnis:** HubLs `file_by_id()` gibt für PRIVATE-Dateien eine `signed-url-redirect`-URL zurück, die HubSpot-Portal-Login erfordert — NICHT CMS-Membership-Login. Deshalb war die Serverless-Function der einzig gangbare Weg.

9

## Authentication & SSOAuthentifizierung & SSO

### Current: CMS MembershipAktuell: CMS Membership

HubSpot CMS Private Content controls access. Unauthenticated visitors are automatically redirected to `/_hcms/mem/login`. After login, `request.contact` is available in HubL and `context.contact` in Serverless Functions.

HubSpot CMS Private Content steuert den Zugang. Nicht eingeloggte Besucher werden automatisch zu `/_hcms/mem/login` umgeleitet. Nach Login ist `request.contact` in HubL und `context.contact` in Serverless Functions verfügbar.

Authentication Flow — Current vs. Future

```

graph TB
    subgraph current["Current: CMS Membership"]
        A1["User visitsprivate page"] --> B1["HubSpot redirects/_hcms/mem/login"]
        B1 --> C1["Email + PasswordLogin"]
        C1 --> D1["request.contactavailable in HubL"]
    end
    subgraph future["Future: Enterprise SAML SSO"]
        A2["User visitsprivate page"] --> B2["HubSpot redirectsto RisiQ IdP"]
        B2 --> C2["SSO Loginvia Okta / Azure AD"]
        C2 --> D2["SAML Assertionto HubSpot"]
        D2 --> E2["request.contactavailable in HubL"]
    end

    style A1 fill:#1e3054,stroke:#2a3f6a,color:#f6fbff
    style B1 fill:#142036,stroke:#FFB342,color:#FFB342
    style C1 fill:#142036,stroke:#2a3f6a,color:#f6fbff
    style D1 fill:#0f3d24,stroke:#22c55e,color:#22c55e
    style A2 fill:#1e3054,stroke:#2a3f6a,color:#f6fbff
    style B2 fill:#142036,stroke:#2563eb,color:#2563eb
    style C2 fill:#142036,stroke:#2a3f6a,color:#f6fbff
    style D2 fill:#142036,stroke:#2a3f6a,color:#f6fbff
    style E2 fill:#0f3d24,stroke:#22c55e,color:#22c55e
    
```

**Two Independent Auth Systems in HubSpot:**  
 1. **CMS Membership** (`/_hcms/mem/login`): For website visitors/contacts. Uses membership lists.  
 2. **HubSpot Portal** (`app.hubspot.com/login`): For admin users (Sales, Marketing). `signed-url-redirect` URLs require THIS login.

 These are **completely independent**. A CMS Membership contact is NOT a HubSpot Portal user. **Zwei unabhängige Auth-Systeme in HubSpot:**  
 1. **CMS Membership** (`/_hcms/mem/login`): Für Website-Besucher/Kontakte. Verwendet Membership-Listen.  
 2. **HubSpot Portal** (`app.hubspot.com/login`): Für Admin-User (Sales, Marketing). `signed-url-redirect` URLs benötigen DIESEN Login.

 Diese sind **komplett unabhängig**. Ein CMS-Membership-Kontakt ist KEIN HubSpot-Portal-User.

### Future: SSO OptionZukunft: SSO-Option

RisiQ manages all user accounts centrally. Bank customers log in via **RisiQ's system**. This means: **Single IdP** (RisiQ's own).

RisiQ verwaltet alle Benutzerkonten zentral. Bankkunden loggen sich über **RisiQs System** ein. Das bedeutet: **Single IdP** (RisiQs eigener).

| SSO ScenarioSSO-Szenario | SolutionLösung | Code ChangeCodeänderung | CostKosten |
| --- | --- | --- | --- |
| Email + Password (current)Email + Passwort (aktuell) | CMS Membership | NoneKeine | Included in CMS HubIm CMS Hub enthalten |
| SSO via RisiQ's IdPSSO über RisiQs IdP | HubSpot Enterprise SAML | NoneKeine | Enterprise plan upgradeEnterprise-Plan Upgrade |

**Assessment:** CMS Membership provides the baseline authentication layer. For SSO: Enterprise SAML upgrade, connect RisiQ’s IdP — **no code change needed**. Multi-IdP SSO is not required for this project. **Einschätzung:** CMS Membership bietet die Basis-Authentifizierungsschicht. Für SSO: Enterprise SAML-Upgrade, RisiQs IdP anbinden — **keine Codeänderung nötig**. Multi-IdP SSO ist für dieses Projekt nicht erforderlich.

10

## Modules & TemplatesModule & Templates

| ModuleModul | FunctionFunktion | HighlightsBesonderheiten |
| --- | --- | --- |
| trust-center-hero | Configurable hero bannerKonfigurierbarer Hero-Banner | Color contrast algorithm, STYLE tabFarbkontrast-Algorithmus, STYLE-Tab |
| tile-grid | Navigation tiles with live tier lockingNavigations-Kacheln mit Live-Tier-Locking | CRM lookup, lock icon + diagonal stripesCRM-Lookup, Lock-Icon + Diagonalstreifen |
| document-listing | CRM-driven document listCRM-gesteuerte Dokumentenliste | bucket\_normalize map, secure file routingbucket\_normalize Map, Secure-File-Routing |
| access-gate | Tier-based access gateTier-basierte Zugangs-Sperre | crm\_object() lookup, "Contact Sales" CTAcrm\_object() Lookup, „Contact Sales“-CTA |
| faq-accordion | Accessible accordionBarrierefreies Akkordeon | CSS transitions, ARIA attributesCSS-Transitions, ARIA-Attribute |
| roadmap-tracker | Vue.js 3 interactive roadmapVue.js 3 interaktiver Roadmap | Search, tabs, architecture diagramSuche, Tabs, Architekturdiagramm |
| card | Base card moduleBasis-Kartenmodul | Reusable for layoutsWiederverwendbar für Layouts |

### Pages (9)Seiten (9)

| URL | Template | AccessZugang | FunctionFunktion |
| --- | --- | --- | --- |
| `/trust-center` | public | Public | Landing Page, Login-CTA |
| `/trust-center/home` | dashboard | Private | Dashboard with tier badgeDashboard mit Tier-Badge |
| `/trust-center/security` | category | Private | Security documentsSecurity-Dokumente |
| `/trust-center/infrastructure` | category | Private | Infrastructure documentsInfrastructure-Dokumente |
| `/trust-center/compliance-legal` | category | Private | Compliance documentsCompliance-Dokumente |
| `/trust-center/certifications` | category | Private | CertificationsZertifizierungen |
| `/trust-center/faq` | faq | Private | FAQ with 6 entriesFAQ mit 6 Einträgen |
| `/trust-center/contact` | contact | Public | Access request formZugangsanfrage-Formular |
| `/trust-center/roadmap` | roadmap | Public | Interactive project roadmapInteraktiver Projekt-Roadmap |

11

## Implementation StatusImplementierungsstatus

The following table shows the **HubSpot-centric implementation progress** for the Trust Center core system. These phases cover the foundation — CRM setup, theme modules, access control, security, and automation. The remaining work (Quote-to-Cash, DATEV, SSO, search) is outlined in Sections 6, 8, 9, and 13.

Die folgende Tabelle zeigt den **HubSpot-zentrischen Implementierungsfortschritt** für das Trust Center Kernsystem. Diese Phasen decken das Fundament ab — CRM-Setup, Theme-Module, Zugangssteuerung, Sicherheit und Automatisierung. Die verbleibende Arbeit (Quote-to-Cash, DATEV, SSO, Suche) ist in den Abschnitten 6, 8, 9 und 13 beschrieben.

| PhasePhase | ContentInhalt | Status |
| --- | --- | --- |
| Phase 1: CRM Setup | Contact/Company/Deal Properties, Custom Object, Seed DataContact/Company/Deal Properties, Custom Object, Seed Data | Done |
| Phase 2: Theme Modules | 7 CMS Modules (Hero, Tile-Grid, Document-Listing, etc.)7 CMS-Module (Hero, Tile-Grid, Document-Listing, etc.) | Done |
| Phase 3: CSS & Styling | Template stylesheet, tier badge colors, responsiveTemplate-Stylesheet, Tier-Badge-Farben, Responsive | Done |
| Phase 4: Templates | 6 page templates6 Seiten-Templates | Done |
| Phase 5: Pages & Config | 9 pages created and published9 Seiten erstellt und veröffentlicht | Done |
| Phase 6: Automation | 3 Workflows (Activation, Deal→Tier, Revocation)3 Workflows (Activation, Deal→Tier, Revocation) | Done |
| Phase 7: Configuration | Private Content, Forms, Email Templates, PipelinePrivate Content, Forms, Email-Templates, Pipeline | Done |
| Phase 8: QA & Testing | All tiers tested, workflow tests, mobile testsAlle Tiers getestet, Workflow-Tests, Mobile-Tests | Done |
| Phase 9: Document Security | Private Files, Serverless Function, Signed URLsPrivate Files, Serverless Function, Signed URLs | Done |

### Remaining Work — Full System CompletionVerbleibende Arbeit — Volle Systemfertigstellung

| Future PhaseFuture Phase | Items | HubSpot FeasibilityHubSpot-Machbarkeit |
| --- | --- | --- |
| TC Extensions | Newsflow, Service Status, Incident Form, Trust Metrics, Company Access | 4 Native 1 Partial |
| Sales & Contract | DocuSign NDA, Contract Automation, Maker-Checker, Quote Engine, Contract Expiry | 2 Native 2 Partial 1 Custom |
| Finance | DATEV Integration | 1 Custom |
| Compliance & Audit | Audit Logging, Compliance Reporting, PDF Watermarking, Rate Limiting | 2 Partial 2 Custom |

12

## HubSpot Licensing, Ops Hub & CostsHubSpot-Lizenzierung, Ops Hub & Kosten

### Current HubSpot StatusAktueller HubSpot-Status

**Current license:** Sales Hub Starter + CMS Hub Professional. Considering upgrade to **CRM Suite Enterprise**. This section clarifies exactly which features each tier unlocks and whether Operations Hub is needed. **Aktuelle Lizenz:** Sales Hub Starter + CMS Hub Professional. Upgrade auf **CRM Suite Enterprise** wird erwägt. Dieser Abschnitt klärt genau, welche Features jede Stufe freischaltet und ob Operations Hub benötigt wird.

### What Each Hub Tier UnlocksWas jede Hub-Stufe freischaltet

| Feature NeededBenötigtes Feature | Required HubErforderlicher Hub | Min. TierMin. Stufe | In CRM Enterprise?In CRM Enterprise? |
| --- | --- | --- | --- |
| Private Content (membership login)Private Content (Membership-Login) | CMS Hub | Professional | ✓ |
| Serverless FunctionsServerless Functions | CMS Hub | Professional | ✓ |
| Custom Objects | Any HubBeliebiger Hub | Enterprise | ✓ |
| Standard WorkflowsStandard-Workflows | Sales / Marketing | Professional | ✓ |
| SAML SSO | CMS Hub | Enterprise | ✓ |
| Quotes (basiceinfach) | Sales Hub | Starter | ✓ |
| Quote Approval WorkflowsQuote-Genehmigungs-Workflows | Sales Hub | Professional | ✓ |
| Invoices | Commerce Hub | Free (basic) | ✓ |
| **Custom Coded Actions (JS in workflows)Custom Coded Actions (JS in Workflows)** | **Operations Hub** | **Professional** | ✓ if CRM **Suite** Enterprise✓ wenn CRM-**Suite** Enterprise |
| **Data Sync (external systems)Data Sync (externe Systeme)** | **Operations Hub** | **Starter** | ✓ if CRM **Suite** Enterprise✓ wenn CRM-**Suite** Enterprise |

### Do We Need Operations Hub?Brauchen wir Operations Hub?

Without Ops Hub (Trust Center Core)Ohne Ops Hub (Trust Center Kern)

✓ CMS Private Content + Membership  
✓ CMS Serverless Functions  
✓ Custom Objects (Enterprise)  
✓ Standard Workflows (WF1-WF7)  
✓ Signed URL document downloadsSigned-URL-Dokumenten-Downloads  
✓ PandaDoc / DocuSign integrationIntegration  
✓ HubSpot Quotes + Invoices  
✓ SAML SSO (Enterprise)

Only With Ops HubNur mit Ops Hub

**Custom Coded Actions** — JavaScript inside workflows (e.g., complex data transformations, pricing logic) **Custom Coded Actions** — JavaScript in Workflows (z.B. komplexe Datentransformationen, Pricing-Logik)

**Data Sync** — bidirectional sync with external systems (e.g., DATEV middleware auto-sync) **Data Sync** — bidirektionaler Sync mit externen Systemen (z.B. DATEV-Middleware Auto-Sync)

**Data Quality Automation** — auto-fix formatting, deduplication **Data Quality Automation** — Auto-Fix Formatierung, Deduplizierung

**Answer: No, Operations Hub is NOT required** for the core Trust Center. All current features (WF1-WF7, serverless functions, tier management, document downloads, e-signature integration) work without it. Ops Hub becomes relevant only if you need **JavaScript in workflows** (complex pricing logic, custom calculations) or **native data sync** (DATEV auto-push). If upgrading to **CRM Suite Enterprise**, Ops Hub is included anyway. **Antwort: Nein, Operations Hub ist NICHT erforderlich** für den Trust Center-Kern. Alle aktuellen Features (WF1-WF7, Serverless Functions, Tier-Management, Dokumenten-Downloads, E-Signatur-Integration) funktionieren ohne. Ops Hub wird erst relevant bei **JavaScript in Workflows** (komplexe Pricing-Logik, Custom-Berechnungen) oder **nativem Data Sync** (DATEV Auto-Push). Bei Upgrade auf **CRM Suite Enterprise** ist Ops Hub sowieso inkludiert.

### Licensing ScenariosLizenzierungsszenarien

| ScenarioSzenario | What You GetWas Sie erhalten | TC ImpactTC-Auswirkung | Ops Hub?Ops Hub? |
| --- | --- | --- | --- |
| **A: Keep Sales Starter + CMS ProSales Starter + CMS Pro behalten** | Basic quotes, standard workflows, private content, serverlessBasis-Quotes, Standard-Workflows, Private Content, Serverless | TC works fullyTC funktioniert voll | ✗ Not includedNicht enthalten |
| **B: CRM Suite Enterprise** | ALL hubs at Enterprise: Sales, Marketing, Service, CMS, Ops, CommerceALLE Hubs auf Enterprise: Sales, Marketing, Service, CMS, Ops, Commerce | TC + all future featuresTC + alle Zukunfts-Features | ✓ **Included****Inkludiert** |
| **C: Sales Enterprise onlyeinzeln** | Advanced sales tools + custom objects. CMS Hub must stay Pro+ separately.Erweiterte Sales-Tools + Custom Objects. CMS Hub muss separat auf Pro+ bleiben. | TC worksTC funktioniert | ✗ Must buy separatelyMuss separat gekauft werden |

**Assessment:** **Scenario B (CRM Suite Enterprise)** covers the widest feature set — Custom Objects, SAML SSO, Ops Hub (coded actions + DATEV sync), Commerce Hub (invoices), and advanced workflows in a single bundle. However, it is the most expensive option. **Scenario A** is sufficient for core Trust Center operations if Custom Objects are not needed. The right choice depends on the client’s confirmed feature requirements and budget. **Einschätzung:** **Szenario B (CRM Suite Enterprise)** bietet den größten Funktionsumfang — Custom Objects, SAML SSO, Ops Hub (Coded Actions + DATEV Sync), Commerce Hub (Rechnungen) und erweiterte Workflows in einem Bundle. Es ist jedoch die teuerste Option. **Szenario A** reicht für den Kern-Trust-Center-Betrieb, wenn Custom Objects nicht benötigt werden. Die richtige Wahl hängt von den bestätigten Feature-Anforderungen und dem Budget des Kunden ab.

---

### Trust Center Cost BreakdownTrust Center Kostenaufstellung

**Current state:** The client is on **HubSpot Free / Starter tier**. The Trust Center requires **Content Hub Professional** (Private Content, Serverless Functions) and **Sales Hub Professional** (approval workflows, custom reporting) at minimum. This is a significant platform upgrade that must be factored into the total cost. **Aktueller Stand:** Der Kunde ist auf **HubSpot Free / Starter-Stufe**. Das Trust Center erfordert mindestens **Content Hub Professional** (Private Content, Serverless Functions) und **Sales Hub Professional** (Genehmigungs-Workflows, Custom Reporting). Dies ist ein erhebliches Plattform-Upgrade, das in die Gesamtkosten einfließen muss.

#### HubSpot Platform Cost (required upgrade from Free/Starter)HubSpot-Plattformkosten (erforderliches Upgrade von Free/Starter)

| ScenarioSzenario | What’s IncludedWas enthalten ist | ~Cost / Month~Kosten / Monat | Onboarding (one-time)Onboarding (einmalig) |
| --- | --- | --- | --- |
| **A: Individual HubsEinzel-Hubs** | Content Hub Pro (~$500) + Sales Hub Pro (~$100/seat, min. 1) separatelyContent Hub Pro (~$500) + Sales Hub Pro (~$100/Seat, min. 1) separat | ~$600/moMo. | ~$3,000 |
| **B: Customer Platform Pro** | All hubs at Professional (Content, Sales, Service, Ops, Commerce) — bundled discountAlle Hubs auf Professional (Content, Sales, Service, Ops, Commerce) — Bundle-Rabatt | ~$1,300/moMo. | ~$7,000 |
| **C: Customer Platform Enterprise** | All hubs at Enterprise: Custom Objects, SAML SSO, Ops Hub coded actions, advanced automationAlle Hubs auf Enterprise: Custom Objects, SAML SSO, Ops Hub Coded Actions, erweiterte Automatisierung | ~$4,300/moMo. | ~$12,000 |

Prices in USD, approximate (HubSpot lists EUR/USD at similar rates). Annual commitment required for Professional+. Seat-based hubs scale with team size. Verify exact pricing at `hubspot.com/pricing`.Preise in USD, ca.-Angaben (HubSpot listet EUR/USD zu ähnlichen Raten). Jahresvertrag für Professional+ erforderlich. Seat-basierte Hubs skalieren mit Teamgröße. Genaue Preise unter `hubspot.com/pricing` prüfen.

#### Additional TC Tools (architecture-independent)Zusätzliche TC-Tools (architektur-unabhängig)

| ToolTool | Plan | Cost / MonthKosten / Monat | NoteAnmerkung |
| --- | --- | --- | --- |
| **PandaDoc oroder DocuSign** | Business / Standard | $25-49/moMo. | NDA + Contract + Quote + Invoice. Required in both architectures.NDA + Vertrag + Quote + Rechnung. In beiden Architekturen erforderlich. |
| **DATEV Middleware** | sevDesk / lexoffice | $15-40/moMo. | Invoice → DATEV export. Required in both architectures.Rechnung → DATEV-Export. In beiden Architekturen erforderlich. |

#### Hybrid-Only Additional ToolsNur-Hybrid zusätzliche Tools

| ToolTool | Plan | Cost / MonthKosten / Monat | NoteAnmerkung |
| --- | --- | --- | --- |
| **Sanity** | Growth (3-5 seats) | $45-75/moMo. | Headless CMS for editorial workflowHeadless CMS für Editorial-Workflow |
| **Vercel** | Pro | ~$20/moMo. | Next.js hosting + CI/CDNext.js-Hosting + CI/CD |
| **AWS S3** | Pay-as-you-go | ~$1/moMo. | Document storage (~300MB, ~500 req/mo)Dokumentenspeicher (~300MB, ~500 Req./Mo.) |
| **Algolia** | Free / Build | $0/moMo. | Free tier covers initial volumeFree Tier deckt initiales Volumen ab |

#### Total Cost Comparison (monthly recurring)Gesamtkostenvergleich (monatlich wiederkehrend)

|  | HubSpot-CentricHubSpot-Zentrisch | Hybrid |
| --- | --- | --- |
| **HubSpot PlatformHubSpot-Plattform** | $600-4,300/moMo. (Scenario A-CSzenario A-C) | $600-4,300/moMo. (same — CRM always neededgleich — CRM immer nötig) |
| **Shared ToolsGemeinsame Tools** | $40-89/moMo. (PandaDoc + DATEV) | $40-89/moMo. (PandaDoc + DATEV) |
| **Hybrid-Only ToolsNur-Hybrid Tools** | $0 | $66-96/moMo. (Sanity + Vercel + S3 + Algolia) |
| **Total** | **$640-4,389/moMo.** | **$706-4,485/moMo.** |

**Key insight:** The HubSpot platform upgrade is the **dominant cost factor** in both architectures — $600-4,300/mo depending on scenario. The hybrid-only tools (Sanity + Vercel + S3 + Algolia) add only ~$66-96/mo. This means the **cost difference between approaches is relatively small** compared to the platform investment. The real question is: does the hybrid stack provide enough additional value (search, editorial workflow, frontend flexibility) to justify the added operational complexity? **Kernaussage:** Das HubSpot-Plattform-Upgrade ist der **dominierende Kostenfaktor** in beiden Architekturen — $600-4.300/Mo. je nach Szenario. Die Hybrid-Only-Tools (Sanity + Vercel + S3 + Algolia) kosten nur ~$66-96/Mo. zusätzlich. Das bedeutet: der **Kostenunterschied zwischen den Ansätzen ist relativ gering** verglichen mit der Plattform-Investition. Die eigentliche Frage ist: Bietet der Hybrid-Stack genügend Mehrwert (Suche, Editorial-Workflow, Frontend-Flexibilität), um die zusätzliche operationelle Komplexität zu rechtfertigen?

13

## Architecture Comparison & Open PointsArchitekturvergleich & Offene Punkte

Neutral comparison assuming **medium-to-long term scale**: 50+ bank customers, 100+ documents, dedicated compliance editorial team. Both approaches evaluated from scratch.

Neutraler Vergleich unter Annahme **mittel- bis langfristiger Skalierung**: 50+ Bankkunden, 100+ Dokumente, dediziertes Compliance-Editorial-Team. Beide Ansätze von Grund auf bewertet.

**Key clarification:** Several critical items are **architecture-independent** and work identically in both approaches:   
• **Quote calculation logic** — lives in HubSpot Products + PandaDoc, regardless of frontend (see Section 6)   
• **Four-eye principle** — Deal stage gates + PandaDoc approval workflow, same in both approaches   
• **DATEV integration** — middleware always required, no direct API exists for either architecture   
• **PandaDoc vs. DocuSign** — tool-level decision, not architecture-level   
• **User provisioning** — HubSpot CRM → webhook pattern, identical in both   
The architecture choice (HubSpot-native vs. hybrid) primarily affects: *frontend rendering*, *document storage*, *search infrastructure*, and *authentication method*. **Wichtige Klarstellung:** Mehrere kritische Punkte sind **architektur-unabhängig** und funktionieren in beiden Ansätzen identisch:   
• **Quote-Berechnungslogik** — lebt in HubSpot Products + PandaDoc, unabhängig vom Frontend (siehe Abschnitt 6)   
• **4-Augen-Prinzip** — Deal-Stage-Gates + PandaDoc-Genehmigungs-Workflow, in beiden Ansätzen gleich   
• **DATEV-Integration** — Middleware immer erforderlich, keine direkte API in beiden Architekturen   
• **PandaDoc vs. DocuSign** — Tool-Level-Entscheidung, nicht Architektur-Level   
• **User Provisioning** — HubSpot CRM → Webhook-Pattern, identisch in beiden   
Die Architekturwahl (HubSpot-nativ vs. hybrid) betrifft hauptsächlich: *Frontend-Rendering*, *Dokumentenspeicher*, *Suchinfrastruktur* und *Authentifizierungsmethode*.

### Architecture ComparisonArchitekturvergleich

| CriterionKriterium | HubSpot Native | Hybrid (Sanity+S3+Next.js) |
| --- | --- | --- |
| Systems to operateZu betreibende Systeme | 1 (HubSpot) | 5 (Sanity, S3, Algolia, Vercel, HubSpot) |
| Frontend | HubSpot CMS (HubL templates) — limited design flexibilityeingeschränkte Design-Flexibilität | Next.js / React — full UI/UX controlvolle UI/UX-Kontrolle |
| Backend | HubSpot Serverless (128MB, 10s, no npmkein npm) — constrainedeingeschränkt | Vercel Serverless — flexible, npm support, higher limitsflexibel, npm-Support, höhere Limits |
| Content Editorial | HubSpot CRM records — functional but not designed for editorial teamsDatensätze — funktional aber nicht für Editorial-Teams designt | Sanity Studio — purpose-built editorial workflow for compliance teamsdedizierter Editorial-Workflow für Compliance-Teams |
| Document Search (100+ docs)Dokumentensuche (100+ Docs) | HubSpot Site Search — basic, no tier-aware filtering. HubDB-based workaround possible but limited.einfach, kein Tier-aware Filter. HubDB-basierter Workaround möglich aber begrenzt. | Algolia — tier-filtered, faceted, instant resultstier-gefiltert, facettiert, sofortige Ergebnisse |
| Document Storage | HubSpot File Manager + Signed URLs (15min expiry) | S3 + Presigned URLs (60s expiry) |
| SSO — Single IdPEinzelner IdP | Enterprise SAML — config only, no code changenur Config, keine Codeänderung | Standard SSO integration via Next.js middlewareStandard-SSO-Integration via Next.js-Middleware |
| Product Entitlements | Would need custom CRM properties + HubL logic. Achievable but adds complexity.Erfordert Custom CRM Properties + HubL-Logik. Machbar aber erhöht Komplexität. | Built into data model (companyScope, productEntitlements)Im Datenmodell integriert (companyScope, productEntitlements) |
| Company-Specific DocsFirmenspezifische Docs | Achievable via doc\_scope CRM property + association queryMachbar über doc\_scope CRM Property + Association Query | Native Sanity reference (companyScope field)Native Sanity-Referenz (companyScope-Feld) |
| My Risiq Dashboard | Limited — HubL templates lack dynamic interactivity. Would need custom JS + API calls.Limitiert — HubL-Templates fehlt dynamische Interaktivität. Würde Custom JS + API-Calls erfordern. | Well-suited — Next.js + API routes enable rich interactive dashboardsGut geeignet — Next.js + API-Routes ermöglichen interaktive Dashboards |
| Quote-to-Cash | PandaDoc oroder DocuSign + HubSpot Quotes + Commerce Hub | PandaDoc oroder DocuSign (identical integrationidentische Integration) |
| DATEV | Middleware required (sevDesk/lexoffice)Middleware erforderlich (sevDesk/lexoffice) | Middleware required (identical constraint)Middleware erforderlich (identische Einschränkung) |
| Ops Hub | Not required for core TC. Needed for coded actions (complex calculations, DATEV sync). Included in CRM Suite Enterprise.Für Kern-TC nicht erforderlich. Für Coded Actions (komplexe Berechnungen, DATEV Sync) nötig. In CRM Suite Enterprise enthalten. | Required for line items → company property sync workflowsErforderlich für Line Items → Company Property Sync Workflows |
| CRM IntegrationIntegration | Native — CRM data accessed directly via HubL, no sync neededNativ — CRM-Daten direkt via HubL, kein Sync nötig | Requires sync layer (HubSpot ↔ Sanity ↔ S3) — adds consistency management effortErfordert Sync-Layer (HubSpot ↔ Sanity ↔ S3) — erhöht Konsistenz-Management-Aufwand |
| Team Training | HubSpot only — lower learning curveNur HubSpot — geringere Lernkurve | HubSpot + Sanity + Next.js — broader skill requirementsHubSpot + Sanity + Next.js — breitere Skill-Anforderungen |
| Deployment | `hs upload` — simple but manualeinfach aber manuell | Vercel CI/CD + S3 + Sanity Publish — automated but multi-stepVercel CI/CD + S3 + Sanity Publish — automatisiert aber mehrstufig |
| Monitoring & DebuggingÜberwachung & Debugging | Single platform logs — limited detailEinzelne Plattform-Logs — begrenzte Details | Distributed logs across services — more detailed but harder to correlateVerteilte Logs über Dienste — detaillierter aber schwerer zu korrelieren |
| Build Time (from scratch)Bauzeit (von Null) | ~6-9 weeksWochen | ~12-18 weeksWochen |
| Total Monthly CostMonatl. Gesamtkosten | $640-4,389 (HS platform + shared toolsHS-Plattform + gemeinsame Tools) | $706-4,485 (HS platform + shared + hybrid toolsHS-Plattform + gemeinsame + Hybrid-Tools) |
| Scalability ModelSkalierungsmodell | Platform-bound — HubSpot capabilities are the ceiling. External tools (Algolia) can be layered on when needed.Plattform-gebunden — HubSpot-Fähigkeiten sind die Obergrenze. Externe Tools (Algolia) können bei Bedarf ergänzt werden. | Modular from start — each component independently scalable. Higher upfront effort, fewer constraints later.Modular von Anfang an — jede Komponente unabhängig skalierbar. Höherer Anfangsaufwand, weniger Einschränkungen später. |

### Where Each Approach ExcelsWo jeder Ansatz glänzt

HubSpot-Centric — StrengthsHubSpot-Zentrisch — Stärken

- **Lower operational complexity** — one primary platform to manage, monitor, and invoice
- **Geringere operationelle Komplexität** — eine primäre Plattform für Verwaltung, Monitoring und Abrechnung
- **No data sync needed** — CRM data accessed directly via HubL, no cross-system consistency management
- **Kein Daten-Sync nötig** — CRM-Daten direkt via HubL, kein systemübergreifendes Konsistenz-Management
- **Shorter build time** — ~6-9 weeks (fewer integrations to wire up)
- **Kürzere Bauzeit** — ~6-9 Wochen (weniger Integrationen)
- **Lower infrastructure cost** — €40-79/mo (e-sign + DATEV only)
- **Geringere Infrastrukturkosten** — €40-79/Monat (nur E-Sign + DATEV)
- **Managed platform** — HubSpot handles hosting, security updates, uptime
- **Verwaltete Plattform** — HubSpot übernimmt Hosting, Sicherheitsupdates, Uptime

Hybrid — StrengthsHybrid — Stärken

- **Superior editorial workflow** — Sanity Studio is purpose-built for content teams
- **Überlegener Editorial-Workflow** — Sanity Studio ist für Content-Teams gebaut
- **Real search infrastructure** — Algolia provides tier-filtered, faceted, instant search at scale
- **Echte Suchinfrastruktur** — Algolia bietet tier-gefilterte, facettierte, sofortige Suche in großem Maßstab
- **Full frontend control** — Next.js/React enables polished UX, important for investor demos
- **Volle Frontend-Kontrolle** — Next.js/React ermöglicht polierte UX, wichtig für Investoren-Demos
- **Independent frontend deployment** — Vercel CI/CD enables atomic deploys, rollbacks, and preview environments
- **Unabhängiges Frontend-Deployment** — Vercel CI/CD ermöglicht atomare Deploys, Rollbacks und Preview-Umgebungen
- **Richer data model** — product entitlements, company-scoped docs, flexible content schema
- **Reicheres Datenmodell** — Produkt-Entitlements, firmenspezifische Docs, flexibles Content-Schema

### Limitations of EachLimitierungen beider Ansätze

HubSpot-Centric — LimitationsHubSpot-Zentrisch — Limitierungen

- **No tier-aware search** — HubSpot Site Search cannot filter by access tier. Becomes a real problem at 100+ documents.
- **Keine tier-aware Suche** — HubSpot Site Search kann nicht nach Zugangsstufe filtern. Wird bei 100+ Dokumenten ein echtes Problem.
- **Limited frontend flexibility** — HubL templates constrain UI/UX design. Custom interactive dashboards (My Risiq) are difficult to implement.
- **Eingeschränkte Frontend-Flexibilität** — HubL-Templates beschränken UI/UX-Design. Interaktive Custom-Dashboards (My Risiq) sind schwer umsetzbar.
- **Serverless constraints** — 128MB memory, 10s timeout, no npm packages. Complex calculations may hit these limits.
- **Serverless-Einschränkungen** — 128MB Speicher, 10s Timeout, keine npm-Pakete. Komplexe Berechnungen können an diese Grenzen stoßen.
- **Editorial workflow gap** — CRM records are functional but lack draft/publish, version history, and content approval workflows that Sanity Studio provides.
- **Editorial-Workflow-Lücke** — CRM-Datensätze sind funktional, aber ohne Draft/Publish, Versionshistorie und Content-Freigabe-Workflows die Sanity Studio bietet.
- **No preview/staging environments** — `hs upload` deploys directly to production. No atomic rollbacks, no branch previews.
- **Keine Preview-/Staging-Umgebungen** — `hs upload` deployed direkt in die Produktion. Keine atomaren Rollbacks, keine Branch-Previews.
- **Product entitlements** — not natively supported, requires custom CRM properties + HubL logic to add this dimension.
- **Produkt-Entitlements** — nicht nativ unterstützt, erfordert Custom CRM Properties + HubL-Logik für diese Dimension.

Hybrid — LimitationsHybrid — Limitierungen

- **Higher operational complexity** — 5 systems to build, integrate, maintain, and monitor across different vendors.
- **Höhere operationelle Komplexität** — 5 Systeme zu bauen, integrieren, warten und überwachen über verschiedene Anbieter.
- **Data consistency management** — HubSpot ↔ Sanity ↔ S3 sync requires careful orchestration and conflict handling.
- **Datenkonsistenz-Management** — HubSpot ↔ Sanity ↔ S3 Sync erfordert sorgfältige Orchestrierung und Konfliktbehandlung.
- **Ops Hub dependency** — key workflows (line items → company properties) require Operations Hub.
- **Ops Hub Abhängigkeit** — Schlüssel-Workflows (Line Items → Company Properties) erfordern Operations Hub.
- **Broader skill requirements** — team must operate HubSpot + Sanity + Next.js/Vercel.
- **Breitere Skill-Anforderungen** — Team muss HubSpot + Sanity + Next.js/Vercel betreiben.
- **Distributed debugging** — error tracing across 5 systems requires structured logging and correlation.
- **Verteiltes Debugging** — Fehlersuche über 5 Systeme erfordert strukturiertes Logging und Korrelation.
- **Longer build time** — ~12-18 weeks from scratch; more integrations to wire and test.
- **Längere Bauzeit** — ~12-18 Wochen von Null; mehr Integrationen zu verdrahten und testen.
- All systems must be built and integrated upfront
- Alle Systeme müssen vorab gebaut und integriert werden

---

### Implementation Timeline — Side by SideImplementierungszeitplan — Seite an Seite

Implementation Phases — Side by SideImplementierungsphasen — Seite an Seite

```

graph TB
    subgraph HN["HubSpot Native"]
        direction LR
        H1["Phase 1CRM + CMS + ServerlessTier access + Docs"]
        H2["Phase 2PandaDoc/DocuSignQuotes + InvoicesDATEV Middleware"]
        H3["Phase 3HubDB SearchExpanded TilesOps Hub coded actions"]
        H4["Phase 4Enterprise SSOAdvanced Portal"]
        H1 --> H2
        H2 --> H3
        H3 --> H4
    end
    subgraph HY["Hybrid (Sanity + S3 + Next.js)"]
        direction LR
        Y1["Phase 1CRM + Next.js FrontendSanity StudioS3 Storage"]
        Y2["Phase 2PandaDoc/DocuSignQuotes + InvoicesDATEV Middleware"]
        Y3["Phase 3Algolia SearchExpanded ContentCustom Webhooks"]
        Y4["Phase 4Enterprise SSOAdvanced Portal"]
        Y1 --> Y2
        Y2 --> Y3
        Y3 --> Y4
    end

    style HN fill:#0a1628,stroke:#2563eb,color:#2563eb
    style HY fill:#0a1628,stroke:#a78bfa,color:#a78bfa
    style H1 fill:#142036,stroke:#2563eb,color:#f6fbff
    style H2 fill:#142036,stroke:#2563eb,color:#f6fbff
    style H3 fill:#142036,stroke:#2563eb,color:#f6fbff
    style H4 fill:#142036,stroke:#2563eb,color:#f6fbff
    style Y1 fill:#1a1040,stroke:#a78bfa,color:#f6fbff
    style Y2 fill:#1a1040,stroke:#a78bfa,color:#f6fbff
    style Y3 fill:#1a1040,stroke:#a78bfa,color:#f6fbff
    style Y4 fill:#1a1040,stroke:#a78bfa,color:#f6fbff
    
```

| PhasePhase | HubSpot NativeHubSpot Nativ | Hybrid StackHybrid-Stack | TimelineZeitrahmen |
| --- | --- | --- | --- |
| **Phase 1 — Core TCPhase 1 — Kern-TC** | CRM + CMS + Serverless. Tier-based access, document listing, secure downloads, membership login.CRM + CMS + Serverless. Tier-basierter Zugang, Dokumentenliste, sichere Downloads, Membership-Login. | CRM + Next.js + Sanity + S3. Same features but built on custom frontend + headless CMS + cloud storage.CRM + Next.js + Sanity + S3. Gleiche Features, aber auf Custom-Frontend + Headless CMS + Cloud-Storage aufgebaut. | Native: ~4-6 wks Hybrid: ~8-12 wksNativ: ~4-6 Wo. Hybrid: ~8-12 Wo. |
| **Phase 2 — Quote-to-CashPhase 2 — Quote-to-Cash** | PandaDoc/DocuSign integration, NDA → Offer → Quote → Contract → Invoice automation, DATEV middleware (sevDesk/lexoffice).PandaDoc/DocuSign-Integration, NDA → Angebot → Quote → Vertrag → Rechnung Automatisierung, DATEV-Middleware (sevDesk/lexoffice). | Same integrations — PandaDoc/DocuSign + DATEV middleware are tool-level, architecture-independent. Identical effort for both approaches.Gleiche Integrationen — PandaDoc/DocuSign + DATEV-Middleware sind tool-basiert, architektur-unabhängig. Identischer Aufwand für beide Ansätze. | ~3-4 wks (both)~3-4 Wo. (beide) |
| **Phase 3 — ScalePhase 3 — Skalierung** | HubDB-powered search, 4→12+ tile expansion, Ops Hub coded actions for advanced automation.HubDB-basierte Suche, 4→12+ Tile-Erweiterung, Ops Hub coded actions für erweiterte Automatisierung. | Algolia full-text search, Sanity content expansion, custom Next.js API routes for automation.Algolia-Volltextsuche, Sanity-Content-Erweiterung, Custom Next.js API-Routes für Automatisierung. | Native: ~3-5 wks Hybrid: ~4-6 wksNativ: ~3-5 Wo. Hybrid: ~4-6 Wo. |
| **Phase 4 — EnterprisePhase 4 — Enterprise** | HubSpot Enterprise SSO (single IdP). Advanced portal features, My Risiq dashboard.HubSpot Enterprise SSO (einzelner IdP). Erweiterte Portal-Features, My Risiq Dashboard. | Enterprise SSO via Next.js middleware. Advanced portal features, personalized dashboards.Enterprise SSO via Next.js-Middleware. Erweiterte Portal-Features, personalisierte Dashboards. | Native: ~4-8 wks Hybrid: ~2-3 wksNativ: ~4-8 Wo. Hybrid: ~2-3 Wo. |

$600-4.3K

HubSpot Platform /moHubSpot-Plattform /Mo.

+$40-89

Shared Tools /moGemeinsame Tools /Mo.

+$66-96

Hybrid-Only /moNur-Hybrid /Mo.

HubSpot platform upgrade is required for both approaches. Hybrid adds ~$66-96/mo on top. See Section 12 for full breakdown. HubSpot-Plattform-Upgrade ist für beide Ansätze erforderlich. Hybrid kommt ~$66-96/Mo. hinzu. Siehe Abschnitt 12 für vollständige Aufstellung.

**Which approach fits better?** Both architectures reach the same destination. The right choice depends on three factors: **(1)** Will the document count exceed 200+ with search as a critical UX element? If yes, Algolia is hard to replicate in HubSpot. **(2)** Is a polished, custom UX required for investor demos? If yes, Next.js provides more design freedom. **(3)** Does the team have capacity to operate 5 systems, or is a simpler operational footprint preferable? These are not hypothetical — they must be answered before committing to either architecture (see Open Points below). **Welcher Ansatz passt besser?** Beide Architekturen erreichen das gleiche Ziel. Die richtige Wahl hängt von drei Faktoren ab: **(1)** Wird die Dokumentenanzahl 200+ übersteigen mit Suche als kritischem UX-Element? Wenn ja, ist Algolia in HubSpot schwer replizierbar. **(2)** Ist eine polierte, individuelle UX für Investoren-Demos erforderlich? Wenn ja, bietet Next.js mehr Designfreiheit. **(3)** Hat das Team die Kapazität 5 Systeme zu betreiben, oder ist ein einfacherer operationeller Fußabdruck vorzuziehen? Das sind keine hypothetischen Fragen — sie müssen vor der Festlegung auf eine Architektur beantwortet werden (siehe Offene Punkte unten).

---

### What Both Approaches ShareWas beide Ansätze gemeinsam haben

HubSpot CRM as single source of truthHubSpot CRM als Single Source of Truth

Contacts, Companies, Deals, Workflows, Pipeline, Tier Management — always in HubSpot regardless of frontend architecture.Kontakte, Companies, Deals, Workflows, Pipeline, Tier-Management — immer in HubSpot, unabhängig von der Frontend-Architektur.

Same tier model & CRM propertiesGleiches Tier-Modell & CRM-Properties

Four tiers (Public → Prospect → NDA → Customer), same Contact/Company/Deal properties, same workflow triggers. Architecture-independent.Vier Tiers (Public → Prospect → NDA → Customer), gleiche Contact/Company/Deal-Properties, gleiche Workflow-Trigger. Architektur-unabhängig.

Same e-signature integrationGleiche E-Signatur-Integration

PandaDoc/DocuSign → webhook → CRM property → workflow → tier upgrade. Tool-level integration, identical in both architectures.PandaDoc/DocuSign → Webhook → CRM-Property → Workflow → Tier-Upgrade. Tool-Level-Integration, identisch in beiden Architekturen.

Same DATEV constraintsGleiche DATEV-Einschränkungen

No direct HubSpot ↔ DATEV API exists. Middleware always required (sevDesk, lexoffice, or manual CSV). Identical limitation for both approaches.Keine direkte HubSpot ↔ DATEV API vorhanden. Middleware immer erforderlich (sevDesk, lexoffice oder manueller CSV). Identische Einschränkung für beide Ansätze.

---

### Independent IT Architect AssessmentUnabhängige IT-Architekten-Bewertung

**The question:** *“If you were designing this system end-to-end from scratch — would you use HubSpot? Or would you go hybrid? Why?”* **Die Frage:** *„Wenn du dieses System end-to-end von Grund auf entwerfen würdest — würdest du HubSpot nehmen? Oder hybrid? Warum?“*

Honest Answer: Neither approach is the “correct” one. Both are compromises — but the nature of the compromises is different.Ehrliche Antwort: Keiner der Ansätze ist der „richtige“. Beide sind Kompromisse — aber die Art der Kompromisse unterscheidet sich.

If I were building a **secure, tier-based document portal for ~100 banking customers** with no prior technology commitment, here is how I would approach it:

Wenn ich ein **sicheres, tier-basiertes Dokumentenportal für ~100 Bankkunden** ohne vorherige Technologie-Festlegung bauen würde, wäre mein Ansatz folgender:

#### What I would NOT doWas ich NICHT tun würde

I would NOT use HubSpot CMS as the frontendIch würde HubSpot CMS NICHT als Frontend nutzen

HubL is a server-side template language designed for marketing websites, not for dynamic, tier-filtered, interactive compliance portals. The constraints are real: **no npm packages** in serverless, **128MB/10s limits**, **no preview/staging environments**, no component-level caching, and a markup language that was never meant to handle complex access logic. Building “My Risiq” dashboards or per-company document filtering in HubL is fighting the tool, not using it. HubL ist eine serverseitige Template-Sprache für Marketing-Websites, nicht für dynamische, tier-gefilterte, interaktive Compliance-Portale. Die Einschränkungen sind real: **keine npm-Pakete** in Serverless, **128MB/10s-Limits**, **keine Preview-/Staging-Umgebungen**, kein Component-Level-Caching und eine Markup-Sprache, die nie für komplexe Zugriffslogik gedacht war. „My Risiq“-Dashboards oder firmenspezifische Dokumentfilterung in HubL zu bauen, heißt gegen das Tool zu kämpfen, nicht es zu nutzen.

I would NOT build 5 separate systems from day oneIch würde NICHT 5 separate Systeme ab Tag eins bauen

For 100 customers and ~500 documents, Sanity + S3 + Algolia + Vercel + HubSpot CRM is over-engineered. You don’t need Algolia for 500 documents. You don’t need Sanity until you have a dedicated compliance editorial team. Adding complexity “because we might need it later” is the fastest way to burn budget and slow down delivery. **Architect for today’s requirements, not for imagined scale.** Für 100 Kunden und ~500 Dokumente ist Sanity + S3 + Algolia + Vercel + HubSpot CRM überdimensioniert. Man braucht kein Algolia für 500 Dokumente. Man braucht kein Sanity, solange es kein dediziertes Compliance-Editorial-Team gibt. Komplexität hinzuzufügen „weil wir es später brauchen könnten“ ist der schnellste Weg, Budget zu verbrennen und die Lieferung zu verlangsamen. **Architektur für heutige Anforderungen, nicht für vorgestellte Skalierung.**

#### What I WOULD doWas ich tun WÜRDE

Keep HubSpot CRM as the backboneHubSpot CRM als Backbone behalten

This is where HubSpot genuinely excels. Contact management, deal pipelines, tier-based workflows, property-driven automation, company associations — **HubSpot CRM is the right tool for this job**. The CRM data model we’ve built (4 tiers, custom objects, 7 workflows) is solid and production-tested. **Don’t move this.** Hier glänzt HubSpot wirklich. Kontaktverwaltung, Deal-Pipelines, tier-basierte Workflows, Property-gesteuerte Automatisierung, Company-Assoziationen — **HubSpot CRM ist das richtige Tool für diesen Job**. Das CRM-Datenmodell, das wir gebaut haben (4 Tiers, Custom Objects, 7 Workflows), ist solide und produktionsgetestet. **Das nicht verschieben.**

Build a lightweight custom frontendEin leichtgewichtiges Custom-Frontend bauen

Next.js (or even Astro/SvelteKit) with HubSpot CRM as the data source via API. **Not because it’s trendy, but because the frontend requirements exceed what HubL can deliver well**: per-company document filtering, interactive dashboards, granular access control in the UI layer, proper staging/preview, and a polished UX for investor demos. This doesn’t require Sanity or Algolia — just a good frontend that reads from HubSpot CRM. Next.js (oder auch Astro/SvelteKit) mit HubSpot CRM als Datenquelle via API. **Nicht weil es trendy ist, sondern weil die Frontend-Anforderungen übersteigen, was HubL gut liefern kann**: firmenspezifische Dokumentfilterung, interaktive Dashboards, granulare Zugangskontrolle im UI-Layer, echtes Staging/Preview und eine polierte UX für Investoren-Demos. Das erfordert weder Sanity noch Algolia — nur ein gutes Frontend, das aus HubSpot CRM liest.

#### My recommended architectureMeine empfohlene Architektur

Pragmatic Architecture — CRM Backbone + Lean FrontendPragmatische Architektur — CRM-Backbone + Lean Frontend

```

graph TB
    subgraph Core["Core (Keep)"]
        CRM["HubSpot CRMContacts, Companies, DealsTier Workflows, Custom Objects"]
        PD["PandaDoc / DocuSignNDA + Quote + Contract"]
    end
    subgraph Frontend["Frontend (Replace HubL)"]
        FE["Next.js / Astroon Vercel"]
        API["HubSpot APICRM data"]
        SF["Serverless FunctionsVercel Edge or CF Workers"]
    end
    subgraph Storage["Storage (Move)"]
        S3["S3 / R2Private Documents"]
        SIGN["Presigned URLs60s expiry"]
    end
    subgraph Keep["Keep As-Is"]
        DATEV["DATEV MiddlewaresevDesk / lexoffice"]
        SSO["Enterprise SAMLSingle IdP"]
    end

    CRM --> API
    API --> FE
    FE --> SF
    SF --> S3
    S3 --> SIGN
    CRM --> PD
    CRM --> DATEV

    style Core fill:#0a1628,stroke:#22c55e,color:#22c55e
    style Frontend fill:#0a1628,stroke:#2563eb,color:#2563eb
    style Storage fill:#0a1628,stroke:#a78bfa,color:#a78bfa
    style Keep fill:#0a1628,stroke:#FFB342,color:#FFB342
    style CRM fill:#142036,stroke:#22c55e,color:#f6fbff
    style PD fill:#142036,stroke:#22c55e,color:#f6fbff
    style FE fill:#142036,stroke:#2563eb,color:#f6fbff
    style API fill:#142036,stroke:#2563eb,color:#f6fbff
    style SF fill:#142036,stroke:#2563eb,color:#f6fbff
    style S3 fill:#142036,stroke:#a78bfa,color:#f6fbff
    style SIGN fill:#142036,stroke:#a78bfa,color:#f6fbff
    style DATEV fill:#142036,stroke:#FFB342,color:#f6fbff
    style SSO fill:#142036,stroke:#FFB342,color:#f6fbff
    
```

| LayerSchicht | ToolTool | WhyWarum |
| --- | --- | --- |
| **CRM + Automation** | HubSpot CRM (Professional+) | Already built. Best-in-class for contact/deal management, workflows, tier logic. **Keep.**Bereits gebaut. Best-in-Class für Kontakt-/Deal-Management, Workflows, Tier-Logik. **Behalten.** |
| **Frontend** | Next.js on Vercel | Full UI control, preview environments, CI/CD, SSR for SEO. **Replace HubL.**Volle UI-Kontrolle, Preview-Umgebungen, CI/CD, SSR für SEO. **HubL ersetzen.** |
| **Document StorageDokumentenspeicher** | S3 / R2 | Presigned URLs with 60s expiry. More secure than HubSpot File Manager’s 15min signed URLs. **Replace HS Files.**Presigned URLs mit 60s Ablauf. Sicherer als HubSpot File Managers 15min Signed URLs. **HS Files ersetzen.** |
| **E-Signature** | PandaDoc / DocuSign | Architecture-independent. Same tool in both approaches. **Keep.**Architektur-unabhängig. Gleiches Tool in beiden Ansätzen. **Behalten.** |
| **SSO** | HubSpot Enterprise SAML | Single IdP, config-only. No extra system needed. **Keep.**Einzelner IdP, nur Konfiguration. Kein zusätzliches System nötig. **Behalten.** |
| **Accounting** | DATEV + sevDesk/lexoffice | Standard German accounting export. Architecture-independent. **Keep.**Standard-deutscher Buchhaltungsexport. Architektur-unabhängig. **Behalten.** |
| **Search (if needed)Suche (bei Bedarf)** | Add Algolia when >200 docsAlgolia ergänzen bei >200 Docs | Don’t over-engineer. Simple client-side filtering works for 100-200 documents. Add search infrastructure when it becomes a pain point.Nicht über-engineeren. Einfaches Client-Side Filtering reicht für 100-200 Dokumente. Suchinfrastruktur ergänzen, wenn es zum Schmerzpunkt wird. |
| **Editorial (if needed)Editorial (bei Bedarf)** | Add Sanity when editorial team existsSanity ergänzen wenn Editorial-Team existiert | HubSpot CRM records are fine for a small team. Sanity adds value only when you have dedicated compliance editors who need draft/publish workflows.HubSpot CRM-Datensätze reichen für ein kleines Team. Sanity bringt erst Mehrwert bei dediziertem Compliance-Editorial-Team mit Draft/Publish-Workflows. |

#### The uncomfortable truth about both proposalsDie unbequeme Wahrheit über beide Ansätze

HubSpot-Centric (this proposal)HubSpot-Zentrisch (dieses Angebot)

Is a **pragmatic starting point** that leverages existing work (9 phases done, CRM tested). But it hits a ceiling: HubL is wrong for interactive portals, and HubSpot File Manager is not enterprise-grade document storage. At medium scale (~100+ customers), the frontend must be rebuilt or heavily supplemented with custom JavaScript. **This is not “if”, it is “when”.** Ist ein **pragmatischer Startpunkt**, der bestehende Arbeit nutzt (9 Phasen erledigt, CRM getestet). Aber er stößt an eine Decke: HubL ist falsch für interaktive Portale, und HubSpot File Manager ist kein Enterprise-Grade Dokumentenspeicher. Bei mittlerer Skalierung (~100+ Kunden) muss das Frontend neu gebaut oder stark mit Custom JavaScript ergänzt werden. **Das ist nicht „ob“, sondern „wann“.**

Hybrid (Victor’s proposal)Hybrid (Victors Angebot)

Is **architecturally more correct** for the end-state, but over-builds for the current stage. It introduces 5 systems, 5 deployment targets, and 5 points of failure before a single customer logs in. The proposal has **no timeline, no solved calculation logic, and marks critical items as “out of scope”**. The architecture is designed for a scale that doesn’t exist yet. Ist **architektonisch korrekter** für den Endzustand, aber überbaut für die aktuelle Phase. Er führt 5 Systeme, 5 Deployment-Ziele und 5 Fehlerquellen ein, bevor ein einziger Kunde sich einloggt. Das Angebot hat **keine Timeline, keine gelöste Berechnungslogik und markiert kritische Punkte als „out of scope“**. Die Architektur ist für eine Skalierung entworfen, die noch nicht existiert.

#### The pragmatic path forwardDer pragmatische Weg nach vorne

**Phase 1 (now):** Ship with HubSpot CRM + HubSpot CMS. The foundation is built, tested, and working. The CRM backbone is correct. The frontend is functional. **Get customers in.**

**Phase 2 (with revenue):** When the first 20-30 customers are active and the UX becomes a bottleneck — not before — replace the HubL frontend with Next.js. Keep the CRM. Move documents from HubSpot Files to S3. This is a **controlled migration, not a rewrite**: the CRM data model, workflows, and tier logic stay exactly the same. Only the rendering layer changes.

**Phase 3 (with scale):** When 200+ documents make search painful, add Algolia. When the editorial team needs proper content workflows, add Sanity. When the investor says “this needs to look like SAP Trust Center”, you already have the frontend framework to deliver.

**Bottom line:** Don’t build for Phase 3 when you’re in Phase 1. But don’t pretend Phase 1 is the final architecture either. The CRM is permanent. The frontend is replaceable. Plan accordingly. **Phase 1 (jetzt):** Ausliefern mit HubSpot CRM + HubSpot CMS. Das Fundament ist gebaut, getestet und funktioniert. Das CRM-Backbone ist korrekt. Das Frontend ist funktional. **Kunden reinbringen.**

**Phase 2 (mit Umsatz):** Wenn die ersten 20-30 Kunden aktiv sind und die UX zum Engpass wird — nicht vorher — das HubL-Frontend durch Next.js ersetzen. CRM behalten. Dokumente von HubSpot Files nach S3 verschieben. Das ist eine **kontrollierte Migration, kein Rewrite**: CRM-Datenmodell, Workflows und Tier-Logik bleiben exakt gleich. Nur der Rendering-Layer ändert sich.

**Phase 3 (mit Skalierung):** Wenn 200+ Dokumente die Suche schmerzhaft machen, Algolia ergänzen. Wenn das Editorial-Team echte Content-Workflows braucht, Sanity ergänzen. Wenn der Investor sagt „das muss wie SAP Trust Center aussehen“, hat man bereits das Frontend-Framework dafür.

**Fazit:** Nicht für Phase 3 bauen, wenn man in Phase 1 ist. Aber auch nicht so tun, als wäre Phase 1 die finale Architektur. Das CRM ist permanent. Das Frontend ist austauschbar. Entsprechend planen.

---

### Open PointsOffene Punkte

| # | DecisionEntscheidung | ImpactAuswirkung | PhasePhase |
| --- | --- | --- | --- |
| 1 | SSO required? If yes: which IdP (Azure AD, Okta, Google)?SSO erforderlich? Wenn ja: welcher IdP (Azure AD, Okta, Google)? | Enterprise SAML upgrade, config-only, no code change. Single IdP supported.Enterprise SAML-Upgrade, nur Konfiguration, keine Codeänderung. Einzelner IdP unterstützt. | Phase 3 |
| 2 | PandaDoc or DocuSign? (see Section 6)PandaDoc oder DocuSign? (siehe Abschnitt 6) | Both analyzed, tool-agnostic CRM design ready. DocuSign = banking standard, PandaDoc = deeper HubSpot integration.Beide analysiert, tool-agnostisches CRM-Design bereit. DocuSign = Banking-Standard, PandaDoc = tiefere HubSpot-Integration. | Phase 1 |
| 3 | DATEV Unternehmen Online version & connector type?DATEV Unternehmen Online Version & Connector-Typ? | MAESN = PDF-only, one-way. Must confirm client uses this specific DATEV variant.MAESN = nur PDF, Einweg. Muss bestätigen, dass Kunde diese spezifische DATEV-Variante nutzt. | Phase 3 |
| 4 | Complete document classification matrix?Vollständige Dokument-Klassifikationsmatrix? | Determines 4→12 tile expansion and partial visibility rules.Bestimmt 4→12 Tile-Erweiterung und Partial-Visibility-Regeln. | Phase 1 |
| 5 | Four-eyes principle: Who approves contracts?4-Augen-Prinzip: Wer genehmigt Verträge? | Defines approval workflow roles (Legal, Finance, Management).Definiert Genehmigungs-Workflow-Rollen (Legal, Finance, Management). | Phase 1 |
| 6 | Audit logging requirement (regulatory)?Audit-Logging-Anforderung (regulatorisch)? | Determines if external audit service needed or HubSpot activity log suffices.Bestimmt, ob externer Audit-Service nötig oder HubSpot Activity Log ausreicht. | Phase 3 |
| 7 | Service status data source (manual or API)?Service-Status-Datenquelle (manuell oder API)? | HubDB (manual) vs. external status page API integration.HubDB (manuell) vs. externe Status-Page-API-Integration. | Phase 1 |
| 8 | Contract renewal: New deal or update existing?Vertragserneuerung: Neuer Deal oder bestehender aktualisieren? | Affects tier management logic and deal pipeline structure.Beeinflusst Tier-Management-Logik und Deal-Pipeline-Struktur. | Phase 1 |
| 9 | Product entitlements model needed?Produkt-Entitlements-Modell benötigt? | If yes: add product dimension to access control. CRM property + module update.Wenn ja: Produkt-Dimension zur Zugangskontrolle hinzufügen. CRM-Property + Modul-Update. | Phase 2-3 |
| 10 | My Risiq personalized dashboard scope?My Risiq personalisiertes Dashboard Umfang? | Contract view, tickets, meeting booking, due diligence packages. Defines API surface.Vertragsansicht, Tickets, Meeting-Buchung, Due-Diligence-Pakete. Definiert API-Oberfläche. | Phase 3 |
| 11 | **HubSpot licensing: CRM Suite Enterprise or individual hubs?****HubSpot-Lizenz: CRM Suite Enterprise oder Einzel-Hubs?** | Suite Enterprise = Ops Hub included, SSO included, all features unlocked. Individual = must buy Ops Hub separately if needed. See Section 12.Suite Enterprise = Ops Hub inkl., SSO inkl., alle Features freigeschaltet. Einzel = Ops Hub bei Bedarf separat kaufen. Siehe Abschnitt 12. | Phase 0-1 |
| 12 | **Quote-to-Cash tool selection: PandaDoc all-in-one vs. DocuSign + HubSpot Quotes?****Quote-to-Cash Tool-Auswahl: PandaDoc All-in-One vs. DocuSign + HubSpot Quotes?** | PandaDoc covers NDA+Offer+Quote+Contract+Invoice in one tool. DocuSign needs HubSpot Quotes + Commerce Hub for full pipeline. See Section 6.PandaDoc deckt NDA+Angebot+Quote+Vertrag+Rechnung in einem Tool ab. DocuSign benötigt HubSpot Quotes + Commerce Hub für volle Pipeline. Siehe Abschnitt 6. | Phase 1 |
| 13 | **DATEV middleware choice: sevDesk, lexoffice, or manual?****DATEV-Middleware-Wahl: sevDesk, lexoffice oder manuell?** | sevDesk/lexoffice = full automation (€15-40/mo). Manual CSV = free but labor-intensive. Confirm which DATEV variant the client uses (Unternehmen Online?). See Section 6.sevDesk/lexoffice = volle Automatisierung (€15-40/Monat). Manueller CSV = kostenlos aber arbeitsintensiv. Bestätigen, welche DATEV-Variante der Kunde nutzt (Unternehmen Online?). Siehe Abschnitt 6. | Phase 1-2 |
| 14 | **Invoice requirements: Recurring, one-time, or both?****Rechnungsanforderungen: Wiederkehrend, einmalig oder beides?** | Determines Commerce Hub configuration, PandaDoc invoice template design, and DATEV export format.Bestimmt Commerce-Hub-Konfiguration, PandaDoc-Rechnungsvorlagen-Design und DATEV-Exportformat. | Phase 1 |
| 15 | **Exact HubSpot license level? Sales Starter is insufficient.****Genaue HubSpot-Lizenzstufe? Sales Starter reicht nicht aus.** | Minimum: Sales Hub Professional for approval workflows + custom reporting. CRM Suite Enterprise is optimal (includes Ops Hub, SSO, Custom Objects, Commerce Hub). See Section 12.Minimum: Sales Hub Professional für Genehmigungs-Workflows + Custom Reporting. CRM Suite Enterprise ist optimal (inkl. Ops Hub, SSO, Custom Objects, Commerce Hub). Siehe Abschnitt 12. | Pre-Build |
| 16 | **Where is the “command center”?** Central place to orchestrate all flows (documents, approvals, provisioning).**Wo ist die „Kommandozentrale“?** Zentraler Ort zur Orchestrierung aller Flows (Dokumente, Genehmigungen, Provisioning). | HubSpot-native: the CRM Deal record IS the command center (stage gates, tasks, timeline, associated docs). Hybrid: same CRM backend, different frontend view. The orchestration layer is identical.HubSpot-nativ: der CRM Deal-Datensatz IST die Kommandozentrale (Stage Gates, Tasks, Timeline, zugeordnete Docs). Hybrid: gleiches CRM-Backend, anderes Frontend-View. Die Orchestrierungsebene ist identisch. | Phase 1 |
| 17 | **UX quality bar for investor “show and tell”?****UX-Qualitätsstandard für Investoren-„Show and Tell“?** | If polished custom UI is a hard requirement for investor demos: hybrid frontend (Next.js) has more design freedom. If enterprise-grade and functional suffices: HubSpot CMS with good theming delivers. Clarify with stakeholders.Wenn polierte Custom-UI eine harte Anforderung für Investoren-Demos ist: Hybrid-Frontend (Next.js) bietet mehr Designfreiheit. Wenn Enterprise-Grade und funktional reicht: HubSpot CMS mit gutem Theming liefert. Mit Stakeholdern klären. | Pre-Build |

14

## Hybrid Solution — Costs & EstimatesHybrid-Lösung — Kosten & Schätzungen

**Decision: Hybrid architecture.** HubSpot CRM remains the backbone (contacts, deals, workflows, tier logic). The Trust Center frontend, document storage, and search infrastructure move to a custom stack (Next.js + S3 + Algolia). This section details the full implementation cost — phase by phase, category by category — with required HubSpot features and effort estimates for each deliverable. **Entscheidung: Hybrid-Architektur.** HubSpot CRM bleibt das Backbone (Kontakte, Deals, Workflows, Tier-Logik). Das Trust-Center-Frontend, der Dokumentenspeicher und die Suchinfrastruktur werden auf einen Custom-Stack verlagert (Next.js + S3 + Algolia). Dieser Abschnitt beschreibt die vollständigen Implementierungskosten — Phase für Phase, Kategorie für Kategorie — mit erforderlichen HubSpot-Features und Aufwandsschätzungen für jedes Deliverable.

### Architecture & Feature FlowArchitektur & Feature-Flow

Complete system architecture showing how every component connects. HubSpot CRM is the backbone; all other services read from or write to it.

Vollständige Systemarchitektur mit allen Verbindungen. HubSpot CRM ist das Backbone; alle anderen Dienste lesen von oder schreiben in das CRM.

Hybrid Trust Center — Full ArchitectureHybrides Trust Center — Gesamtarchitektur

```

graph TB
    subgraph USR ["End Users"]
        BANK["Bank / Prospect"]
        ADMIN["Compliance Team"]
    end

    subgraph FE ["Frontend Layer - Next.js / Vercel"]
        AUTH["Auth Middleware\nLogin - SSO SAML - Session"]
        TC["Trust Center UI\nDashboard - Categories - Tiles"]
        DL["Secure Download API\nTier check then S3 presigned URL"]
        SEARCH["Search UI\nAlgolia - Phase 3"]
    end

    subgraph HS ["HubSpot CRM - Backbone"]
        CO["Custom Objects\nTrust Center Documents\nSales Hub Enterprise"]
        WF["Workflows 7+\nTier automation - Stage gates\nApproval - Churn revocation"]
        PIPE["Deal Pipeline\nProspect - NDA - Quote\nContract - Customer"]
        PROP["CRM Properties\ntrust_center_enabled\naccess_tier - company_status"]
        CODED["Coded Actions + Webhooks\nData Hub Professional"]
    end

    subgraph STORE ["Document Storage"]
        S3["AWS S3 private\nPresigned URLs - 60s expiry"]
    end

    subgraph EXT ["External Integrations"]
        PANDA["PandaDoc / DocuSign\nNDA - Contract - Invoice"]
        DATEV["DATEV Middleware\nsevDesk / lexoffice"]
        ALGOLIA["Algolia Index\nTier-filtered search"]
        SANITY["Sanity Studio\nEditorial CMS - Phase 3"]
    end

    BANK --> AUTH
    ADMIN --> SANITY
    AUTH -->|"contact lookup"| PROP
    AUTH --> TC
    TC -->|"CRM API read"| CO
    TC -->|"tier resolution"| PROP
    TC --> DL
    DL -->|"tier >= min_tier?"| CO
    DL -->|"presigned URL"| S3
    S3 -->|"302 redirect"| BANK
    TC --> SEARCH
    SEARCH -->|"query"| ALGOLIA

    PIPE -->|"stage change"| WF
    WF -->|"tier upgrade/downgrade"| PROP
    PANDA -->|"signed event webhook"| CODED
    CODED -->|"update deal/tier"| WF
    CODED -->|"invoice export"| DATEV
    CO -->|"metadata sync"| ALGOLIA
    SANITY -->|"publish"| CO
    CO -->|"editorial data"| SANITY

    classDef hs fill:#fff4e6,stroke:#f59e0b,stroke-width:2px
    classDef fe fill:#eff6ff,stroke:#3b82f6,stroke-width:2px
    classDef ext fill:#f0fdf4,stroke:#22c55e,stroke-width:2px
    classDef store fill:#fef2f2,stroke:#ef4444,stroke-width:2px

    class CO,WF,PIPE,PROP,CODED hs
    class AUTH,TC,DL,SEARCH fe
    class PANDA,DATEV,ALGOLIA,SANITY ext
    class S3 store
    
```

**Reading the diagram:** Orange = HubSpot CRM (backbone). Blue = Next.js frontend (Vercel). Green = external integrations. Red = document storage (S3). All arrows show data flow direction. The CRM is the single source of truth for access tiers, document metadata, and deal status — every other system reads from or writes to it. **Diagramm lesen:** Orange = HubSpot CRM (Backbone). Blau = Next.js-Frontend (Vercel). Grün = Externe Integrationen. Rot = Dokumentenspeicher (S3). Alle Pfeile zeigen die Datenflussrichtung. Das CRM ist die einzige Wahrheitsquelle für Zugangsstufen, Dokumenten-Metadaten und Deal-Status — jedes andere System liest davon oder schreibt hinein.

---

### Phase OverviewPhasenübersicht

Hybrid Implementation — 4 PhasesHybrid-Implementierung — 4 Phasen

```

gantt
    title Hybrid Trust Center — Implementation Timeline
    dateFormat YYYY-MM-DD
    axisFormat %b %Y

    section Phase 0
    License decisions & tool selection   :p0a, 2026-04-01, 2w
    Environment setup (Vercel, S3, repo)  :p0b, after p0a, 1w

    section Phase 1
    CRM data model & workflows           :p1a, after p0b, 3w
    Next.js frontend + auth layer        :p1b, after p0b, 5w
    S3 storage + secure download API     :p1c, after p1a, 2w
    Tier-based access UI + pages         :p1d, after p1b, 3w
    Integration testing + go-live        :p1e, after p1d, 2w

    section Phase 2
    PandaDoc / DocuSign integration      :p2a, after p1e, 2w
    Quote-to-Cash pipeline automation    :p2b, after p2a, 2w
    DATEV middleware setup               :p2c, after p2a, 1w

    section Phase 3
    Algolia search integration           :p3a, after p2b, 2w
    Sanity Studio editorial workflow     :p3b, after p2b, 3w
    My Risiq dashboard + entitlements    :p3c, after p3a, 3w

    section Phase 4
    Enterprise SSO (single IdP)          :p4a, after p3c, 1w
    Audit logging + compliance           :p4b, after p3c, 2w
    Provisioning webhook service         :p4c, after p4a, 2w
    
```

~21-28

Total WeeksGesamtwochen

4

PhasesPhasen

~$2,107-2,246

Monthly Recurring (full)Monatl. wiederkehrend (voll)

---

### Phase 0 — Pre-Build Decisions & SetupPhase 0 — Vorab-Entscheidungen & Setup

Before writing a single line of code, these decisions must be locked. They determine the entire cost structure and toolchain.

Bevor eine einzige Zeile Code geschrieben wird, müssen diese Entscheidungen feststehen. Sie bestimmen die gesamte Kostenstruktur und Toolchain.

| # | CategoryKategorie | DeliverablesLieferobjekte | HubSpot RequirementHubSpot-Anforderung | EffortAufwand |
| --- | --- | --- | --- | --- |
| 0.1 | **HubSpot License DecisionHubSpot-Lizenzentscheidung** | CRM Suite Enterprise vs. individual hubs. Determines Custom Objects and Data Hub availability.CRM Suite Enterprise vs. Einzel-Hubs. Bestimmt Custom Objects- und Data Hub-Verfügbarkeit. | Sales Hub Enterprise (Custom Objects require Enterprise)Sales Hub Enterprise (Custom Objects erfordern Enterprise) | 2-3d |
| 0.2 | **E-Signature ToolE-Signatur-Tool** | PandaDoc (all-in-one: NDA+Quote+Contract+Invoice) vs. DocuSign (signature-only + HubSpot Quotes). Evaluate trial, decide.PandaDoc (All-in-One: NDA+Quote+Vertrag+Rechnung) vs. DocuSign (nur Signatur + HubSpot Quotes). Trial evaluieren, entscheiden. | HubSpot Quotes (Sales Hub Enterprise) if DocuSign chosenHubSpot Quotes (Sales Hub Enterprise) falls DocuSign gewählt | 2-3d |
| 0.3 | **DATEV MiddlewareDATEV-Middleware** | sevDesk vs. lexoffice vs. manual CSV. Confirm client’s DATEV variant (Unternehmen Online?).sevDesk vs. lexoffice vs. manueller CSV. DATEV-Variante des Kunden bestätigen (Unternehmen Online?). | None — external tool decisionKeine — externe Tool-Entscheidung | 1-2d |
| 0.4 | **Environment SetupUmgebungs-Setup** | Vercel project + CI/CD, S3 bucket + IAM policies, Git monorepo structure, Staging/Preview config, DNS planning.Vercel-Projekt + CI/CD, S3-Bucket + IAM-Policies, Git-Monorepo-Struktur, Staging/Preview-Konfiguration, DNS-Planung. | HubSpot API key / Private App tokenHubSpot API-Key / Private App Token | 3-5d |

~2-3

WeeksWochen

~40-52h

EffortAufwand

---

### Phase 1 — Core Trust Center (Hybrid Foundation)Phase 1 — Kern-Trust-Center (Hybrid-Fundament)

The largest phase. Delivers a working Trust Center with tier-based access, secure document downloads, and a custom Next.js frontend reading from HubSpot CRM.

Die größte Phase. Liefert ein funktionierendes Trust Center mit tier-basiertem Zugang, sicheren Dokument-Downloads und einem Custom Next.js-Frontend, das aus HubSpot CRM liest.

| # | CategoryKategorie | DeliverablesLieferobjekte | HubSpot RequirementHubSpot-Anforderung | EffortAufwand |
| --- | --- | --- | --- | --- |
| 1.1 | **CRM Data ModelCRM-Datenmodell** | Custom Object: Trust Center Document (doc\_title, doc\_bucket, min\_tier, secure\_file, versions). Contact/Company/Deal properties (trust\_center\_enabled, access\_tier, company\_status, nda\_signed). Association labels.Custom Object: Trust Center Document (doc\_title, doc\_bucket, min\_tier, secure\_file, Versionen). Contact/Company/Deal Properties (trust\_center\_enabled, access\_tier, company\_status, nda\_signed). Association Labels. | Sales Hub Enterprise (Custom Objects require Enterprise — [docs](https://knowledge.hubspot.com/object-settings/create-custom-objects))Sales Hub Enterprise (Custom Objects erfordern Enterprise — [Docs](https://knowledge.hubspot.com/object-settings/create-custom-objects)) | 3-5d |
| 1.2 | **CRM WorkflowsCRM-Workflows** | 7 core workflows: • WF1: Contact tier assignment (manual + automated) • WF2: Company status → contact tier sync • WF3: NDA signed → tier upgrade to NDA • WF4: Contract signed → tier upgrade to Customer • WF5: Deal lost → tier downgrade • WF6: Invoice → DATEV export trigger • WF7: Access revocation on churn 7 Kern-Workflows: • WF1: Contact-Tier-Zuweisung (manuell + automatisiert) • WF2: Company-Status → Contact-Tier-Sync • WF3: NDA unterschrieben → Tier-Upgrade auf NDA • WF4: Vertrag unterschrieben → Tier-Upgrade auf Customer • WF5: Deal verloren → Tier-Downgrade • WF6: Rechnung → DATEV-Export-Trigger • WF7: Zugriffsentzug bei Churn | Workflows (Sales Hub Enterprise) Data Hub Pro for coded actions in WF6Workflows (Sales Hub Enterprise) Data Hub Pro für Coded Actions in WF6 | 5-8d |
| 1.3 | **Next.js FrontendNext.js-Frontend** | Full Trust Center UI on Next.js/React: • Public landing page (/trust-center) • Dashboard with tile grid (/trust-center/home) • Category pages (security, infrastructure, compliance, certifications) • FAQ page, Contact page, Roadmap page • Responsive design, dark/light theme • Bilingual support (EN/DE) Vollständige Trust-Center-UI auf Next.js/React: • Öffentliche Landingpage (/trust-center) • Dashboard mit Tile-Grid (/trust-center/home) • Kategorieseiten (Security, Infrastructure, Compliance, Certifications) • FAQ-Seite, Kontaktseite, Roadmap-Seite • Responsives Design, Dark/Light Theme • Zweisprachig (EN/DE) | HubSpot CRM API (read access) Private App token with CRM scopesHubSpot CRM API (Lesezugriff) Private App Token mit CRM-Scopes | 15-20d |
| 1.4 | **Authentication LayerAuthentifizierungsschicht** | Next.js middleware auth: login/register flow, session management, HubSpot contact lookup on login, tier resolution from CRM. Password reset, email verification.Next.js-Middleware-Auth: Login/Registrierungs-Flow, Session-Management, HubSpot-Kontaktabfrage bei Login, Tier-Auflösung aus CRM. Passwort-Reset, E-Mail-Verifizierung. | CRM Contacts API contact.trust\_center\_enabled propertyCRM-Kontakte-API contact.trust\_center\_enabled Property | 5-8d |
| 1.5 | **S3 Document StorageS3-Dokumentenspeicher** | S3 bucket setup (private ACL), IAM roles, presigned URL generation (60s expiry), upload workflow for compliance team, folder structure per bucket (security/, infrastructure/, etc.).S3-Bucket-Setup (privates ACL), IAM-Rollen, Presigned-URL-Generierung (60s Ablauf), Upload-Workflow für Compliance-Team, Ordnerstruktur pro Bucket (security/, infrastructure/, etc.). | None — external AWS service CRM custom object stores file referencesKeine — externer AWS-Dienst CRM Custom Object speichert Dateireferenzen | 3-5d |
| 1.6 | **Secure Download APISichere Download-API** | Vercel serverless function: authenticate user, CRM lookup (contact tier + document min\_tier), generate S3 presigned URL, 302 redirect. Rate limiting, error handling, download logging.Vercel Serverless Function: Benutzer authentifizieren, CRM-Abfrage (Kontakt-Tier + Dokument min\_tier), S3 Presigned URL generieren, 302 Redirect. Rate Limiting, Fehlerbehandlung, Download-Logging. | CRM API: Custom Object read Contact properties readCRM-API: Custom Object Lesen Kontakt-Properties Lesen | 3-5d |
| 1.7 | **Tier-Based Access UITier-basierte Zugangs-UI** | Frontend tier logic: show/hide documents per tier, locked tile indicators, upgrade prompts, access gate for non-enabled contacts. Real-time tier resolution from CRM API.Frontend-Tier-Logik: Dokumente pro Tier anzeigen/ausblenden, gesperrte Tile-Indikatoren, Upgrade-Aufforderungen, Access Gate für nicht-aktivierte Kontakte. Echtzeit-Tier-Auflösung aus CRM-API. | contact.trust\_center\_access\_tier Custom Object min\_tier propertycontact.trust\_center\_access\_tier Custom Object min\_tier Property | 3-5d |
| 1.8 | **Integration TestingIntegrationstests** | End-to-end testing: all 4 tiers, secure download across tiers, access revocation, workflow triggers, CRM ↔ frontend sync, cross-browser, responsive. Staging environment validation.End-to-End-Tests: alle 4 Tiers, sicherer Download über Tiers, Zugriffsentzug, Workflow-Trigger, CRM ↔ Frontend-Sync, Cross-Browser, Responsiv. Staging-Umgebungs-Validierung. | HubSpot Sandbox for testing All CRM APIsHubSpot Sandbox für Tests Alle CRM-APIs | 5-8d |

~8-12

WeeksWochen

~42-64d

Effort (person-days)Aufwand (Personentage)

**Phase 1 delivers:** A fully functional Trust Center with tier-based access, secure document downloads via S3 presigned URLs, custom Next.js frontend, and HubSpot CRM as the data backbone. Equivalent to what the HubSpot-centric MVP already demonstrates — but on a modern, scalable stack. **Phase 1 liefert:** Ein voll funktionsfähiges Trust Center mit tier-basiertem Zugang, sicheren Dokument-Downloads via S3 Presigned URLs, Custom Next.js-Frontend und HubSpot CRM als Daten-Backbone. Äquivalent zu dem, was das HubSpot-zentrische MVP bereits demonstriert — aber auf einem modernen, skalierbaren Stack.

---

### Phase 2 — Quote-to-Cash & Document AutomationPhase 2 — Quote-to-Cash & Dokumentenautomatisierung

Architecture-independent phase. PandaDoc/DocuSign integration, contract automation, and DATEV middleware work identically regardless of frontend choice.

Architektur-unabhängige Phase. PandaDoc/DocuSign-Integration, Vertragsautomatisierung und DATEV-Middleware funktionieren identisch unabhängig von der Frontend-Wahl.

| # | CategoryKategorie | DeliverablesLieferobjekte | HubSpot RequirementHubSpot-Anforderung | EffortAufwand |
| --- | --- | --- | --- | --- |
| 2.1 | **E-Signature IntegrationE-Signatur-Integration** | PandaDoc or DocuSign ↔ HubSpot native integration. NDA template, Offer template, Contract template. Webhook → CRM property update on signed/declined/expired events.PandaDoc oder DocuSign ↔ HubSpot native Integration. NDA-Vorlage, Angebots-Vorlage, Vertrags-Vorlage. Webhook → CRM-Property-Update bei Signed/Declined/Expired-Events. | Sales Hub Enterprise (deal automation) Data Hub Pro (webhook actions)Sales Hub Enterprise (Deal-Automatisierung) Data Hub Pro (Webhook-Aktionen) | 5-8d |
| 2.2 | **Deal Pipeline AutomationDeal-Pipeline-Automatisierung** | Full pipeline: Prospect → NDA Sent → NDA Signed → Offer → Quote → Contract → Active Customer. • Stage gate logic (four-eye principle) • Automatic tier upgrades on stage transitions • Task creation for approvals • Deal property updates from PandaDoc events Vollständige Pipeline: Prospect → NDA Gesendet → NDA Unterschrieben → Angebot → Quote → Vertrag → Aktiver Kunde. • Stage-Gate-Logik (4-Augen-Prinzip) • Automatische Tier-Upgrades bei Stage-Übergängen • Task-Erstellung für Genehmigungen • Deal-Property-Updates aus PandaDoc-Events | Sales Hub Enterprise (deal pipelines, approval workflows) Custom deal propertiesSales Hub Enterprise (Deal-Pipelines, Genehmigungs-Workflows) Custom Deal Properties | 5-8d |
| 2.3 | **Invoice AutomationRechnungsautomatisierung** | Invoice generation (PandaDoc or Commerce Hub), payment tracking, recurring vs. one-time invoice handling, invoice status → CRM property sync.Rechnungserstellung (PandaDoc oder Commerce Hub), Zahlungsverfolgung, Wiederkehrende vs. einmalige Rechnungen, Rechnungsstatus → CRM-Property-Sync. | Commerce Hub (if native invoicing) or PandaDoc handles invoicingCommerce Hub (falls native Rechnungsstellung) oder PandaDoc übernimmt Rechnungsstellung | 3-5d |
| 2.4 | **DATEV MiddlewareDATEV-Middleware** | sevDesk or lexoffice setup. Invoice → middleware → DATEV export automation. CRM property datev\_export\_status tracking. Error handling for failed exports.sevDesk- oder lexoffice-Setup. Rechnung → Middleware → DATEV-Export-Automatisierung. CRM-Property datev\_export\_status Tracking. Fehlerbehandlung für fehlgeschlagene Exporte. | Data Hub Pro (coded actions for WF6) CRM custom propertiesData Hub Pro (Coded Actions für WF6) CRM Custom Properties | 3-5d |
| 2.5 | **Quote Pricing LogicAngebots-Preislogik** | Product catalog in HubSpot (base products, add-ons, tiers). Line item calculations. Discount rules. Multi-year pricing. Quote template with dynamic line items.Produktkatalog in HubSpot (Basisprodukte, Add-Ons, Tiers). Line-Item-Berechnungen. Rabattregeln. Mehrjahrespreise. Angebotsvorlage mit dynamischen Line Items. | Sales Hub Enterprise (Products, Quotes) Data Hub Pro if complex calculationsSales Hub Enterprise (Produkte, Quotes) Data Hub Pro bei komplexen Berechnungen | 3-5d |

~4-6

WeeksWochen

~19-31d

Effort (person-days)Aufwand (Personentage)

---

### Phase 3 — Scale, Search & EditorialPhase 3 — Skalierung, Suche & Editorial

Add search infrastructure, editorial workflow, and advanced features when the Trust Center grows beyond initial scope (~100+ documents, dedicated compliance team).

Suchinfrastruktur, Editorial-Workflow und erweiterte Features hinzufügen, wenn das Trust Center über den initialen Umfang hinauswächst (~100+ Dokumente, dediziertes Compliance-Team).

| # | CategoryKategorie | DeliverablesLieferobjekte | HubSpot RequirementHubSpot-Anforderung | EffortAufwand |
| --- | --- | --- | --- | --- |
| 3.1 | **Algolia SearchAlgolia-Suche** | Algolia index setup. Document metadata indexing (title, bucket, tier, tags). Tier-filtered search API (user can only search docs at their tier or below). Faceted search UI (by bucket, tier, date). Instant results.Algolia-Index-Setup. Dokumenten-Metadaten-Indizierung (Titel, Bucket, Tier, Tags). Tier-gefilterte Such-API (Benutzer kann nur Docs auf eigenem Tier oder darunter suchen). Facettierte Such-UI (nach Bucket, Tier, Datum). Sofortige Ergebnisse. | CRM API for document metadata sync Webhook on document create/updateCRM-API für Dokumenten-Metadaten-Sync Webhook bei Dokument-Erstellung/Update | 5-8d |
| 3.2 | **Sanity StudioSanity Studio** | Sanity content model: documents, categories, changelogs. Editorial workflow: draft → review → publish. GROQ queries for frontend. HubSpot CRM ↔ Sanity bidirectional sync (document metadata). Compliance team training.Sanity-Content-Modell: Dokumente, Kategorien, Changelogs. Editorial-Workflow: Entwurf → Review → Veröffentlichung. GROQ-Queries für Frontend. HubSpot CRM ↔ Sanity bidirektionaler Sync (Dokumenten-Metadaten). Compliance-Team-Schulung. | Data Hub Pro (coded actions for sync) CRM Custom Object APIData Hub Pro (Coded Actions für Sync) CRM Custom Object API | 8-12d |
| 3.3 | **My Risiq DashboardMy Risiq Dashboard** | Interactive personal dashboard: company-specific documents, recent activity, download history, tier status, pending actions (NDA to sign, docs to review). React components with real-time CRM data.Interaktives persönliches Dashboard: firmenspezifische Dokumente, letzte Aktivitäten, Download-Verlauf, Tier-Status, ausstehende Aktionen (NDA zu unterschreiben, Docs zu prüfen). React-Komponenten mit Echtzeit-CRM-Daten. | CRM API: Contacts, Companies, Deals, Associations Custom Object queriesCRM-API: Kontakte, Companies, Deals, Assoziationen Custom Object Abfragen | 8-12d |
| 3.4 | **Product EntitlementsProdukt-Entitlements** | Company-level product entitlements: different document sets per product subscription. doc\_scope property on documents. CRM association queries for company-specific access. Entitlement → tier mapping logic.Firmen-spezifische Produkt-Entitlements: unterschiedliche Dokumentensets pro Produktabonnement. doc\_scope-Property auf Dokumenten. CRM-Association-Queries für firmenspezifischen Zugang. Entitlement → Tier-Mapping-Logik. | CRM Custom Properties (company level) Associations API Custom Object extensionsCRM Custom Properties (Firmenebene) Associations-API Custom Object Erweiterungen | 5-8d |
| 3.5 | **Content ExpansionContent-Erweiterung** | Expand from 4 to 12+ document buckets. Version management UI (3-slot rotation with visual diff). Changelog pages. New category pages for expanded content.Erweiterung von 4 auf 12+ Dokumenten-Buckets. Versionsverwaltungs-UI (3-Slot-Rotation mit visuellem Diff). Changelog-Seiten. Neue Kategorieseiten für erweiterten Content. | CRM Custom Object: bucket enum extension No new HubSpot features requiredCRM Custom Object: Bucket-Enum-Erweiterung Keine neuen HubSpot-Features erforderlich | 3-5d |

~6-9

WeeksWochen

~29-45d

Effort (person-days)Aufwand (Personentage)

**Phase 3 is demand-driven.** Not all items are needed from day one. Algolia makes sense at 200+ documents. Sanity makes sense when a dedicated editorial team exists. My Risiq dashboard makes sense when 20+ active customers need self-service. Build when the pain is real, not before. **Phase 3 ist bedarfsgesteuert.** Nicht alle Punkte werden ab Tag eins benötigt. Algolia ergibt Sinn bei 200+ Dokumenten. Sanity ergibt Sinn, wenn ein dediziertes Editorial-Team existiert. My Risiq Dashboard ergibt Sinn bei 20+ aktiven Kunden mit Self-Service-Bedarf. Bauen wenn der Schmerz real ist, nicht vorher.

---

### Phase 4 — Enterprise FeaturesPhase 4 — Enterprise-Features

Enterprise-grade features: SSO, audit compliance, and automated provisioning for large-scale operations.

Enterprise-Grade-Features: SSO, Audit-Compliance und automatisiertes Provisioning für großangelegten Betrieb.

| # | CategoryKategorie | DeliverablesLieferobjekte | HubSpot RequirementHubSpot-Anforderung | EffortAufwand |
| --- | --- | --- | --- | --- |
| 4.1 | **Enterprise SSOEnterprise SSO** | Single IdP SAML integration via Next.js middleware. Enterprise login flow. Session management with SSO tokens. Fallback to email/password for non-SSO users.Single IdP SAML-Integration via Next.js-Middleware. Enterprise-Login-Flow. Session-Management mit SSO-Tokens. Fallback auf E-Mail/Passwort für Nicht-SSO-Benutzer. | Next.js middleware only — no HubSpot SSO license neededNur Next.js-Middleware — keine HubSpot-SSO-Lizenz erforderlich | 3-5d |
| 4.2 | **Audit LoggingAudit-Logging** | Comprehensive audit trail: document access logs (who, when, which version), admin action logs (tier changes, access grants/revocations), download tracking, integration event logs. Exportable for compliance audits.Umfassender Audit-Trail: Dokumentenzugriffsprotokolle (wer, wann, welche Version), Admin-Aktionsprotokolle (Tier-Änderungen, Zugriffsgewährungen/-entzug), Download-Tracking, Integrations-Event-Logs. Exportierbar für Compliance-Audits. | CRM API for event correlation External logging service (Datadog/CloudWatch)CRM-API für Event-Korrelation Externer Logging-Dienst (Datadog/CloudWatch) | 5-8d |
| 4.3 | **Provisioning ServiceProvisioning-Dienst** | Webhook-based provisioning: contract signed → HubSpot webhook → external service creates user in RISIQ product, assigns roles, sets up tenant access. Deactivation on churn. Status sync back to CRM.Webhook-basiertes Provisioning: Vertrag unterschrieben → HubSpot Webhook → externer Dienst erstellt Benutzer im RISIQ-Produkt, weist Rollen zu, richtet Tenant-Zugang ein. Deaktivierung bei Churn. Status-Sync zurück ins CRM. | Data Hub Pro (webhooks + coded actions) provisioning\_status custom propertyData Hub Pro (Webhooks + Coded Actions) provisioning\_status Custom Property | 5-8d |
| 4.4 | **Advanced Portal FeaturesErweiterte Portal-Features** | Notification system (document updates, tier changes). Bulk download for compliance audits. API access for enterprise customers. White-label options for co-branded portals.Benachrichtigungssystem (Dokumenten-Updates, Tier-Änderungen). Massen-Download für Compliance-Audits. API-Zugang für Enterprise-Kunden. White-Label-Optionen für Co-Branding-Portale. | CRM API for notification triggers Custom Object associationsCRM-API für Benachrichtigungs-Trigger Custom Object Assoziationen | 5-8d |

~4-6

WeeksWochen

~18-29d

Effort (person-days)Aufwand (Personentage)

---

### HubSpot Licensing — What You NeedHubSpot-Lizenzierung — Was Sie brauchen

In the hybrid model, HubSpot CRM is the backbone — but the CMS/frontend moves to Next.js. This changes the licensing requirement significantly. Below is the definitive licensing plan, phase by phase.

Im Hybrid-Modell ist HubSpot CRM das Backbone — aber das CMS/Frontend wandert zu Next.js. Das verändert den Lizenzbedarf erheblich. Unten der definitive Lizenzplan, Phase für Phase.

**Key facts:** Custom Objects require **Sales Hub Enterprise** ([HubSpot docs](https://knowledge.hubspot.com/object-settings/create-custom-objects)). Coded Actions + Webhooks in workflows require **Data Hub Professional** ([formerly Operations Hub](https://www.brightdigital.com/en/blog/hubspot-operations-hub-is-now-data-hub-what-can-you-do-with-it/), rebranded Sept 2025). Since the Trust Center frontend runs on Next.js, **SSO is handled in Next.js middleware — no HubSpot SSO license needed**. Content Hub (CMS) is also not required. **Wichtige Fakten:** Custom Objects erfordern **Sales Hub Enterprise** ([HubSpot-Docs](https://knowledge.hubspot.com/object-settings/create-custom-objects)). Coded Actions + Webhooks in Workflows erfordern **Data Hub Professional** ([früher Operations Hub](https://www.brightdigital.com/en/blog/hubspot-operations-hub-is-now-data-hub-what-can-you-do-with-it/), umbenannt Sept 2025). Da das Trust-Center-Frontend auf Next.js läuft, **wird SSO in Next.js-Middleware behandelt — keine HubSpot-SSO-Lizenz erforderlich**. Content Hub (CMS) wird ebenfalls nicht benötigt.

#### Required HubSpot HubsErforderliche HubSpot-Hubs

| HubHub | TierStufe | Required FromErforderlich ab | Why It’s NeededWarum benötigt | What It UnlocksWas es freischaltet |
| --- | --- | --- | --- | --- |
| **Sales Hub** | **Enterprise** | **Phase 1** | Custom Objects require Enterprise ([docs](https://knowledge.hubspot.com/object-settings/create-custom-objects)). Core CRM automation for Trust Center + sales pipeline.Custom Objects erfordern Enterprise ([Docs](https://knowledge.hubspot.com/object-settings/create-custom-objects)). Kern-CRM-Automatisierung für Trust Center + Sales Pipeline. | • **Custom Objects** (Trust Center Documents) — Enterprise only • Workflows (7 tier automation workflows) • Deal Pipelines with stage gates • Products & Quotes • Custom Properties (30+ TC properties) • Approval workflows (four-eye principle) • API access (Private App) • **Custom Objects** (Trust Center Documents) — nur Enterprise • Workflows (7 Tier-Automatisierungs-Workflows) • Deal-Pipelines mit Stage Gates • Produkte & Quotes • Custom Properties (30+ TC Properties) • Genehmigungs-Workflows (4-Augen-Prinzip) • API-Zugang (Private App) |
| **Data Hub** (formerly Operations Hub) | **Professional** | **Phase 2** | Coded Actions + Webhooks in workflows. Data Hub is the [rebranded Operations Hub](https://www.brightdigital.com/en/blog/hubspot-operations-hub-is-now-data-hub-what-can-you-do-with-it/) (Sept 2025). Single license covers both capabilities.Coded Actions + Webhooks in Workflows. Data Hub ist der [umbenannte Operations Hub](https://www.brightdigital.com/en/blog/hubspot-operations-hub-is-now-data-hub-what-can-you-do-with-it/) (Sept 2025). Eine Lizenz deckt beide Fähigkeiten ab. | • **Send webhook** action in workflows • PandaDoc/DocuSign event triggers • Provisioning service triggers • External system notifications • CRM → Next.js event push • **Webhook senden** Aktion in Workflows • PandaDoc/DocuSign-Event-Trigger • Provisioning-Service-Trigger • Externe System-Benachrichtigungen • CRM → Next.js Event-Push |
| **Content Hub** | **Not RequiredNicht erforderlich** | — | Frontend runs on Next.js, not HubSpot CMSFrontend läuft auf Next.js, nicht HubSpot CMS | Eliminated in hybrid approachIm Hybrid-Ansatz eliminiert |
| **Marketing Hub** | **Not RequiredNicht erforderlich** | — | Trust Center has no marketing automation needsTrust Center hat keine Marketing-Automatisierungsanforderungen | — |
| **Service Hub** | **Not RequiredNicht erforderlich** | — | No ticketing/support portal in Trust Center scopeKein Ticketing/Support-Portal im Trust-Center-Umfang | — |
| **SSO** | **Not RequiredNicht erforderlich** | — | Trust Center frontend is Next.js — SSO handled in Next.js middleware, not HubSpotTrust-Center-Frontend ist Next.js — SSO wird in Next.js-Middleware behandelt, nicht in HubSpot | No HubSpot Enterprise SSO neededKein HubSpot Enterprise SSO nötig |

#### What Each Hub Tier Unlocks — Why We Need These Specific TiersWas jede Hub-Stufe freischaltet — Warum wir genau diese Stufen brauchen

The table below shows which features are available at each tier and why lower tiers are insufficient for the Trust Center.

Die folgende Tabelle zeigt, welche Features auf jeder Stufe verfügbar sind und warum niedrigere Stufen für das Trust Center nicht ausreichen.

| FeatureFeature | Free | Starter | Professional | Enterprise | Our NeedUnser Bedarf |
| --- | --- | --- | --- | --- | --- |
| Sales Hub — minimum required: EnterpriseSales Hub — mindestens erforderlich: Enterprise |  |  |  |  |  |
| Custom PropertiesCustom Properties | ✓ | ✓ | ✓ | ✓ | 30+ properties (access\_tier, nda\_signed, etc.)30+ Properties (access\_tier, nda\_signed, etc.) |
| Private App / API | ✓ | ✓ | ✓ | ✓ | Next.js reads CRM via REST APINext.js liest CRM via REST API |
| Deal PipelinesDeal-Pipelines | × | 2 | 15 | 50 | Prospect → NDA → Quote → Contract → Customer |
| Workflows | × | × | 300 | 1,000 | 7+ tier automation + deal stage workflows7+ Tier-Automatisierung + Deal-Stage-Workflows |
| Products & QuotesProdukte & Quotes | × | × | ✓ | ✓ | Product catalog + quote generationProduktkatalog + Angebotserstellung |
| Approval WorkflowsGenehmigungs-Workflows | × | × | × | ✓ | Four-eye principle on deal stage transitions4-Augen-Prinzip bei Deal-Stage-Übergängen |
| **Custom Objects** | × | × | × | **✓** | **Trust Center Document object — THE reason for Enterprise** ([docs](https://knowledge.hubspot.com/object-settings/create-custom-objects))**Trust Center Document Objekt — DER Grund für Enterprise** ([Docs](https://knowledge.hubspot.com/object-settings/create-custom-objects)) |
| Hierarchical TeamsHierarchische Teams | × | × | × | ✓ | Team-based permissions for compliance staffTeam-basierte Berechtigungen für Compliance-Mitarbeiter |
| Sandboxes | × | × | × | ✓ | Safe testing of workflows + data model changesSicheres Testen von Workflows + Datenmodelländerungen |
| Data Hub (formerly Operations Hub) — minimum required: ProfessionalData Hub (früher Operations Hub) — mindestens erforderlich: Professional |  |  |  |  |  |
| Data SyncDaten-Sync | × | ✓ | ✓ | ✓ | Basic 3rd-party syncEinfacher Drittanbieter-Sync |
| Data Quality AutomationDatenqualitäts-Automatisierung | × | × | ✓ | ✓ | Clean CRM data for reliable tier logicSaubere CRM-Daten für zuverlässige Tier-Logik |
| **Coded Actions** | × | × | **✓** | ✓ | **Custom JS in workflows — DATEV export, calculations, Sanity sync****Custom JS in Workflows — DATEV-Export, Berechnungen, Sanity-Sync** |
| **Webhooks** | × | × | **✓ (10)** | ✓ (100) | **Send HTTP to external — PandaDoc, provisioning, Next.js events** ([docs](https://knowledge.hubspot.com/workflows/how-do-i-use-webhooks-with-hubspot-workflows))**HTTP an extern senden — PandaDoc, Provisioning, Next.js Events** ([Docs](https://knowledge.hubspot.com/workflows/how-do-i-use-webhooks-with-hubspot-workflows)) |
| Scheduled WorkflowsGeplante Workflows | × | × | ✓ | ✓ | Periodic data sync, cleanup jobsPeriodischer Daten-Sync, Bereinigungsjobs |
| Data Studio | × | × | ✓ | ✓ | Cross-object reporting, drag-and-drop datasetsObjektübergreifendes Reporting, Drag-and-Drop-Datasets |

**Key takeaway:** We cannot use Professional for Sales Hub — Custom Objects are **Enterprise-only**. We cannot use Starter for Data Hub — Coded Actions and Webhooks are **Professional-only**. There is no way to lower these tiers without losing core Trust Center functionality. The highlighted rows (orange) are the specific features that force each tier. **Kernaussage:** Wir können nicht Professional für Sales Hub verwenden — Custom Objects sind **nur Enterprise**. Wir können nicht Starter für Data Hub verwenden — Coded Actions und Webhooks sind **nur Professional**. Es gibt keine Möglichkeit, diese Stufen zu senken, ohne die Kernfunktionalität des Trust Centers zu verlieren. Die hervorgehobenen Zeilen (orange) sind die Features, die jede Stufe erzwingen.

#### Alternative: CRM Suite Enterprise (bundle)Alternative: CRM Suite Enterprise (Bundle)

| OptionOption | What You GetWas Sie bekommen | ConsiderationÜberlegung |
| --- | --- | --- |
| **Individual HubsEinzel-Hubs** (recommended)(empfohlen) | Sales Hub Enterprise + Data Hub ProfessionalSales Hub Enterprise + Data Hub Professional | Buy only what you need. No unused Marketing/Service/Content Hub costs. **Most cost-effective for the hybrid Trust Center.**Nur kaufen was benötigt wird. Keine ungenutzten Marketing/Service/Content Hub Kosten. **Am kosteneffektivsten für das hybride Trust Center.** |
| **CRM Suite Enterprise** (10 seats) | All hubs at Enterprise tier (Sales, Marketing, Service, Content, Ops, Commerce)Alle Hubs auf Enterprise-Stufe (Sales, Marketing, Service, Content, Ops, Commerce) | Includes hubs you don’t need (Marketing, Service, Content). **Only worth it if the bundle discount makes it cheaper than Sales Enterprise + Ops Pro individually.** Check current pricing at `hubspot.com/pricing`.Enthält Hubs die Sie nicht benötigen (Marketing, Service, Content). **Nur sinnvoll wenn der Bundle-Rabatt günstiger ist als Sales Enterprise + Ops Pro einzeln.** Aktuelle Preise unter `hubspot.com/pricing` prüfen. |

#### License Requirements by PhaseLizenzanforderungen nach Phase

| PhasePhase | HubSpot License NeededBenötigte HubSpot-Lizenz | Key Features UsedVerwendete Hauptfeatures |
| --- | --- | --- |
| **Phase 0-1** Core TCKern-TC | **Sales Hub Enterprise** | Custom Objects (Enterprise required), Workflows, Custom Properties, API (Private App), Deal PipelinesCustom Objects (Enterprise erforderlich), Workflows, Custom Properties, API (Private App), Deal-Pipelines |
| **Phase 2** Quote-to-Cash | **Sales Hub Enterprise** + **Data Hub Professional** | Products & Quotes, Approval Workflows, Webhooks + Coded Actions (Data Hub Pro), Commerce HubProdukte & Quotes, Genehmigungs-Workflows, Webhooks + Coded Actions (Data Hub Pro), Commerce Hub |
| **Phase 3** ScaleSkalierung | **Sales Hub Enterprise** + **Data Hub Professional** | Same as Phase 2 + Coded Actions for CRM ↔ Sanity sync, Custom Object extensions for entitlementsWie Phase 2 + Coded Actions für CRM ↔ Sanity Sync, Custom Object Erweiterungen für Entitlements |
| **Phase 4** Enterprise | **Sales Hub Enterprise** + **Data Hub Professional** | SSO handled in Next.js middleware (no HubSpot SSO needed). Provisioning: Webhooks + Coded Actions (Data Hub Pro). **No additional license upgrade needed.**SSO wird in Next.js-Middleware behandelt (kein HubSpot-SSO nötig). Provisioning: Webhooks + Coded Actions (Data Hub Pro). **Kein zusätzliches Lizenz-Upgrade erforderlich.** |

**Definitive recommendation:**

**Day 1 (Phase 0-1):** Sales Hub Enterprise — required for Custom Objects ([Enterprise only](https://knowledge.hubspot.com/object-settings/create-custom-objects)). Includes Workflows, Deal Pipelines, Products & Quotes, API access (Private App).

**Phase 2 (add):** Data Hub Professional — the [rebranded Operations Hub](https://www.brightdigital.com/en/blog/hubspot-operations-hub-is-now-data-hub-what-can-you-do-with-it/) (Sept 2025). Single license covers **both** Coded Actions (DATEV export, calculations, Sanity sync) **and** Webhooks (PandaDoc/DocuSign events, provisioning triggers).

**Phase 3-4:** No additional license upgrade needed. Sales Hub Enterprise + Data Hub Pro covers all phases.

**SSO:** Handled in Next.js middleware — **no HubSpot SSO license needed**.

**Not required:** Content Hub, Marketing Hub, Service Hub, HubSpot SSO. The hybrid approach eliminates all four.

**Total HubSpot platform cost:** 2 licenses — ~$2,000/mo from Phase 2 onward. **Definitive Empfehlung:**

**Tag 1 (Phase 0-1):** Sales Hub Enterprise — erforderlich für Custom Objects ([nur Enterprise](https://knowledge.hubspot.com/object-settings/create-custom-objects)). Beinhaltet Workflows, Deal-Pipelines, Produkte & Quotes, API-Zugang (Private App).

**Phase 2 (ergänzen):** Data Hub Professional — der [umbenannte Operations Hub](https://www.brightdigital.com/en/blog/hubspot-operations-hub-is-now-data-hub-what-can-you-do-with-it/) (Sept 2025). Eine Lizenz deckt **sowohl** Coded Actions (DATEV-Export, Berechnungen, Sanity-Sync) **als auch** Webhooks (PandaDoc/DocuSign-Events, Provisioning-Trigger) ab.

**Phase 3-4:** Kein zusätzliches Lizenz-Upgrade nötig. Sales Hub Enterprise + Data Hub Pro deckt alle Phasen ab.

**SSO:** Wird in Next.js-Middleware behandelt — **keine HubSpot-SSO-Lizenz erforderlich**.

**Nicht erforderlich:** Content Hub, Marketing Hub, Service Hub, HubSpot SSO. Der Hybrid-Ansatz eliminiert alle vier.

**HubSpot-Plattformkosten gesamt:** 2 Lizenzen — ~$2.000/Mo. ab Phase 2.

#### Feature → License ReferenceFeature → Lizenz-Referenz

| FeatureFeature | Included InEnthalten in | PhasePhase | Purpose in Trust CenterZweck im Trust Center |
| --- | --- | --- | --- |
| Custom Objects | **Sales Hub Enterprise** | 1+ | Enterprise required ([docs](https://knowledge.hubspot.com/object-settings/create-custom-objects)). Document metadata, tier-based access control (min\_tier), version tracking, S3 file references, workflow triggers, company associations. S3 stores the files — CRM stores the business logic.Enterprise erforderlich ([Docs](https://knowledge.hubspot.com/object-settings/create-custom-objects)). Dokumenten-Metadaten, tier-basierte Zugangskontrolle (min\_tier), Versionsverfolgung, S3-Dateireferenzen, Workflow-Trigger, Company-Assoziationen. S3 speichert die Dateien — CRM speichert die Geschäftslogik. |
| Custom Properties | CRM Free+ | 0+ | trust\_center\_enabled, access\_tier, company\_status, nda\_signed |
| Workflows | Sales Hub Enterprise | 1+ | 7 tier automation workflows, deal stage triggers7 Tier-Automatisierungs-Workflows, Deal-Stage-Trigger |
| Deal Pipelines | Sales Hub Enterprise | 2 | Prospect → NDA → Quote → Contract → Customer |
| Products & Quotes | Sales Hub Enterprise | 2 | Product catalog, line items, quote generationProduktkatalog, Line Items, Angebotserstellung |
| Approval Workflows | Sales Hub Enterprise | 2 | Four-eye principle on deal stage transitions4-Augen-Prinzip bei Deal-Stage-Übergängen |
| Webhooks | **Data Hub Professional** | 2+ | Webhook actions in workflows require Data Hub Pro ([docs](https://knowledge.hubspot.com/workflows/how-do-i-use-webhooks-with-hubspot-workflows)). PandaDoc/DocuSign events, provisioning triggers, external system notifications.Webhook-Aktionen in Workflows erfordern Data Hub Pro ([Docs](https://knowledge.hubspot.com/workflows/how-do-i-use-webhooks-with-hubspot-workflows)). PandaDoc/DocuSign-Events, Provisioning-Trigger, externe System-Benachrichtigungen. |
| Commerce Hub | Sales Hub Enterprise | 2 | Native invoicing (if not using PandaDoc for invoices)Native Rechnungsstellung (falls nicht PandaDoc) |
| Private App / API | CRM Free+ | 1+ | Next.js frontend reads CRM data via REST APINext.js-Frontend liest CRM-Daten via REST API |
| Coded Actions | **Data Hub Pro** | 2+ | Included in Data Hub (rebranded Ops Hub). DATEV export logic, complex calculations, Sanity syncIn Data Hub enthalten (umbenannter Ops Hub). DATEV-Export-Logik, komplexe Berechnungen, Sanity-Sync |
| Enterprise SSO | **Not RequiredNicht erforderlich** | 4 | Trust Center frontend is Next.js — SSO is handled in Next.js middleware (SAML/OIDC). No HubSpot SSO license needed.Trust-Center-Frontend ist Next.js — SSO wird in Next.js-Middleware behandelt (SAML/OIDC). Keine HubSpot-SSO-Lizenz erforderlich. |

---

### Recurring Monthly CostsMonatlich wiederkehrende Kosten

| CategoryKategorie | Tool / ServiceTool / Dienst | PlanPlan | Cost / MonthKosten / Monat | PhasePhase |
| --- | --- | --- | --- | --- |
| HubSpot Platform (backbone)HubSpot-Plattform (Backbone) |  |  |  |  |
| Sales Hub | HubSpot Sales Hub | Enterprise (10 seats) | ~$1,200/mo | Phase 0+ |
| Data Hub | HubSpot Data Hub (formerly Ops Hub) | Professional (1 seat) | ~$800/mo | Phase 2+ |
| Hybrid Stack (frontend + storage + search)Hybrid-Stack (Frontend + Storage + Suche) |  |  |  |  |
| Frontend Hosting | Vercel | Pro | ~$20/mo | Phase 1+ |
| Document StorageDokumentenspeicher | AWS S3 | Pay-as-you-go | ~$1-5/mo | Phase 1+ |
| SearchSuche | Algolia | Free → Build | $0-29/mo | Phase 3+ |
| Editorial CMSEditorial-CMS | Sanity | Growth | $45-75/mo | Phase 3+ |
| Shared Tools (architecture-independent)Gemeinsame Tools (architektur-unabhängig) |  |  |  |  |
| E-SignatureE-Signatur | PandaDoc oroder DocuSign | Business / Standard | $25-49/mo | Phase 2+ |
| DATEV Middleware | sevDesk / lexoffice | Standard | €15-40/mo | Phase 2+ |
| Audit Logging | CloudWatch / Datadog | Free → Basic | $0-25/mo | Phase 4 |
| **Total — Phase 0-1 (core TC only)Gesamt — Phase 0-1 (nur Kern-TC)** |  | **~$1,221-1,225/mo** | Sales Ent + Vercel + S3 |  |
| **Total — Phase 1-2 (core + Q2C)Gesamt — Phase 1-2 (Kern + Q2C)** |  | **~$2,062-2,117/mo** | + Data Hub + PandaDoc + DATEV |  |
| **Total — Phase 1-3 (scaled)Gesamt — Phase 1-3 (skaliert)** |  | **~$2,107-2,221/mo** | + Algolia + Sanity |  |
| **Total — Phase 1-4 (full platform)Gesamt — Phase 1-4 (vollständige Plattform)** |  | **~$2,107-2,246/mo** | + Audit logging |  |

---

### Implementation Effort SummaryÜbersicht Implementierungsaufwand

| PhasePhase | FocusFokus | DurationDauer | Effort (person-days)Aufwand (Personentage) | Key DeliverableHaupt-Lieferobjekt |
| --- | --- | --- | --- | --- |
| **Phase 0** | Decisions & SetupEntscheidungen & Setup | 2-3 wksWo. | 8-13d | Toolchain locked, environments readyToolchain festgelegt, Umgebungen bereit |
| **Phase 1** | Core Trust CenterKern-Trust-Center | 8-12 wksWo. | 42-64d | Working TC with tier access + secure downloadFunktionierendes TC mit Tier-Zugang + sicherem Download |
| **Phase 2** | Quote-to-CashQuote-to-Cash | 4-6 wksWo. | 19-31d | Full sales pipeline: NDA → Contract → InvoiceVolle Sales-Pipeline: NDA → Vertrag → Rechnung |
| **Phase 3** | Scale & SearchSkalierung & Suche | 6-9 wksWo. | 29-45d | Algolia + Sanity + My Risiq + EntitlementsAlgolia + Sanity + My Risiq + Entitlements |
| **Phase 4** | EnterpriseEnterprise | 4-6 wksWo. | 18-29d | SSO + Audit + ProvisioningSSO + Audit + Provisioning |
| **Total** |  | **24-36 wksWo.** | **116-182d** | Full hybrid Trust Center platformVollständige Hybrid-Trust-Center-Plattform |

**Pragmatic sequencing:** Phase 0+1+2 delivers a production-ready Trust Center with full sales pipeline in **~14-21 weeks** at **~$2,062-2,117/mo** recurring. Phase 3 and 4 are expansion phases — triggered by growth, not by calendar. The CRM backbone built in Phase 1 supports all future phases without rework. **Pragmatische Reihenfolge:** Phase 0+1+2 liefert ein produktionsreifes Trust Center mit vollständiger Sales-Pipeline in **~14-21 Wochen** bei **~$2.062-2.117/Mo.** wiederkehrend. Phase 3 und 4 sind Erweiterungsphasen — ausgelöst durch Wachstum, nicht durch den Kalender. Das in Phase 1 gebaute CRM-Backbone unterstützt alle zukünftigen Phasen ohne Neuarbeit.

---

### Total Investment OverviewGesamtinvestitionsübersicht

One-Time Implementation (Phase 0-2)Einmalige Implementierung (Phase 0-2)

**69-108 person-days** (~552-864 hours, ~14-21 weeks)

 Delivers: Working Trust Center + Sales Pipeline + DATEV + Secure Downloads

**Implementation cost:** 552X – 864X  
where X = agreed hourly rate **69-108 Personentage** (~552-864 Stunden, ~14-21 Wochen)

 Liefert: Funktionierendes Trust Center + Sales Pipeline + DATEV + Sichere Downloads

**Implementierungskosten:** 552X – 864X  
wobei X = vereinbarter Stundensatz

Full Platform (Phase 0-4)Vollständige Plattform (Phase 0-4)

**116-182 person-days** (~928-1,456 hours, ~24-36 weeks)

 Delivers: Everything above + Search + Editorial + SSO + Audit + Provisioning

**Implementation cost:** 928X – 1,456X  
where X = agreed hourly rate **116-182 Personentage** (~928-1.456 Stunden, ~24-36 Wochen)

 Liefert: Alles oben + Suche + Editorial + SSO + Audit + Provisioning

**Implementierungskosten:** 928X – 1.456X  
wobei X = vereinbarter Stundensatz

X = hourly rate to be agreed upon. Actual rates depend on team composition (senior architect, frontend developer, HubSpot specialist, DevOps). Estimates assume a single experienced developer; parallel work with 2-3 people can compress timelines by ~30-40%.X = zu vereinbarender Stundensatz. Tatsächliche Sätze hängen von der Teamzusammensetzung ab (Senior Architekt, Frontend-Entwickler, HubSpot-Spezialist, DevOps). Schätzungen gehen von einem einzelnen erfahrenen Entwickler aus; parallele Arbeit mit 2-3 Personen kann Zeitrahmen um ~30-40% verkürzen.

Zürich

Seefeldstrasse 231  
8008 Zürich  
+41 43 336 90 00  
info@bee.digital

Stuttgart

Relenbergstraße 6  
D-70174 Stuttgart  
+49 711 49010128  
info@bee.digital

Design ReferencesDesign Referenzen

SAP Trust Center  
Siemens Trust Center  
Quality Standard: Enterprise SaaSQualitätsstandard: Enterprise SaaS

© 2026 BEE Digital Growth AG. All Rights Reserved.© 2026 BEE Digital Growth AG. Alle Rechte vorbehalten.

×

ESC / click outside to closeAußerhalb klicken zum Schließen