4. März 2026 v1.0 HubSpot Native
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 Form
Request 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["CRM
Contacts · Companies
Deals · Custom Objects"] CMS["CMS Hub
Templates · Modules
Private Content"] SF["Serverless Functions
Secure Downloads
Tier Validation"] WF["Workflows
Tier Assignment
Deal-to-Access"] FM["File Manager
Private PDFs
CloudFront 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 1
CMS Private
Content"} B -->|"Not logged in"| C["Redirect to
/_hcms/mem/login"] B -->|"Logged in"| D{"Layer 2
trust_center
_enabled?"} D -->|"false"| E["Access Gate
Contact Sales"] D -->|"true"| F{"Layer 3
Tier Check
user >= 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
Securityprospect
Infrastructureprospect
Compliance & Legalnda
Certificationscustomer
FAQpublic
Contactpublic
4

Data ModelDatenmodell

Custom Object: Trust Center Document

API Name: p2662191_trust_center_document · ObjectTypeId: 2-58394979

PropertyTypeTypDescriptionBeschreibung
doc_titleStringDisplay name of the documentAnzeigename des Dokuments
doc_bucketEnumCategory: security, infrastructure, compliance_legal, certificationsKategorie: security, infrastructure, compliance_legal, certifications
min_tierEnumMinimum access tier: public, prospect, nda, customerMindestzugangsstufe: public, prospect, nda, customer
secure_fileFileHubSpot File Manager ID (PRIVATE access)HubSpot File Manager ID (PRIVATE access)
current_versionURLFallback download linkFallback-Download-Link
previous_version_1URLPrevious version (Customer-only visible)Vorherige Version (nur für Customer sichtbar)
previous_version_2URLOlder versionÄltere Version
doc_descriptionTextDescription for document listingBeschreibung für Dokumentenliste
last_updatedDateLast modification dateLetztes Änderungsdatum
change_noteStringChange 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["Contact
trust_center_enabled
access_tier · role"] --- COMP["Company
company_status
nda_signed"] CO --- DEAL["Deal
contract_signed
provisioning_approved"] CO ---|"Membership"| PAGE["CMS Private Pages
9 Trust Center Pages"] DOC["Trust Center Document
doc_bucket · min_tier
secure_file"] ---|"crm_objects()"| PAGE DOC ---|"Files API"| FM["File Manager
Private 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["Deal
Created"] -->|"WF1"| B["TC Enabled
tier = prospect"] B --> C["NDA sent via
PandaDoc / DocuSign"] C -->|"Client signs"| D["WF4: nda_status
tier = nda"] D --> E["Contract sent
after 4-eyes approval"] E -->|"Client signs"| F["WF5: Closed Won
tier = 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 Disabled
enabled = false"] -->|"WF3 triggers"| B["tier = public"] B --> C["All Tiles
Locked"] C --> D["Signed URLs
Expire (15min)"] D --> E["Full
Revocation"] 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["Prospect
Registered"] -->|"Sales sends"| B["NDA"] B -->|"Client signs"| C["tier = nda"] C -->|"Sales creates"| D["Offer /
Quote"] D -->|"Client accepts"| E["Contract"] E -->|"4-Eyes
Approval"| 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 contract
in PandaDoc / DocuSign"] --> B["Deal stage:
Contract Ready"] B --> C{"4-Eyes Approval
Legal / Finance"} C -->|"Rejected"| D["Back to Sales
for revision"] C -->|"Approved"| E["approval_status
= approved"] E --> F["Sales sends
contract to client"] F --> G["Client signs
digitally"] 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 is
your pricing?"} Q -->|"Fixed prices +
manual discounts"| A["HubSpot Products
+ Line Items"] Q -->|"Contract length affects
discount + optional modules"| B["PandaDoc
Pricing Tables"] Q -->|"Multi-variable formulas
tiered + volume + currency"| C{"Ops Hub
available?"} C -->|"Yes"| D["Ops Hub
Coded Action"] C -->|"No"| E["External
Pricing 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["Deal
Closed Won"] -->|"WF trigger"| B["Invoice
generated"] B --> C{"Export
Method"} C -->|"Option A"| D["sevDesk /
lexoffice"] C -->|"Option B"| E["GetMyInvoices"] C -->|"Option C"| F["Manual CSV
Export"] D --> G["DATEV
Unternehmen 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 Property
Changed"] --> CHECK{"Which property
changed?"} CHECK -->|"trust_center_enabled
= true"| WF1["WF1: Set tier
= prospect"] CHECK -->|"trust_center_enabled
= false"| WF3["WF3: Set tier
= public"] CHECK -->|"Deal Stage
changed"| WF2{"WF2: Which
stage?"} WF2 -->|"NDA Signed"| NDA["Set tier = nda"] WF2 -->|"Closed Won"| CW["Set tier = customer"] WF2 -->|"Closed Lost"| CL["Set tier = public
enabled = 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 Access
PRIVATE?"} L1 -->|"CDN URL"| BLOCK1["404 — CDN blocked"] L1 -->|"Serverless endpoint"| L2{"Auth Check
isLoggedIn?"} L2 -->|"No"| BLOCK2["401 — Unauthorized"] L2 -->|"Yes"| L3{"Tier Validation
contact >= doc?"} L3 -->|"Insufficient"| BLOCK3["403 — Forbidden"] L3 -->|"Sufficient"| L4["Files API v3
Generate Signed URL"] L4 --> L5["CloudFront
Signed 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 visits
private page"] --> B1["HubSpot redirects
/_hcms/mem/login"] B1 --> C1["Email + Password
Login"] C1 --> D1["request.contact
available in HubL"] end subgraph future["Future: Enterprise SAML SSO"] A2["User visits
private page"] --> B2["HubSpot redirects
to RisiQ IdP"] B2 --> C2["SSO Login
via Okta / Azure AD"] C2 --> D2["SAML Assertion
to HubSpot"] D2 --> E2["request.contact
available 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-centerpublicPublicLanding Page, Login-CTA
/trust-center/homedashboardPrivateDashboard with tier badgeDashboard mit Tier-Badge
/trust-center/securitycategoryPrivateSecurity documentsSecurity-Dokumente
/trust-center/infrastructurecategoryPrivateInfrastructure documentsInfrastructure-Dokumente
/trust-center/compliance-legalcategoryPrivateCompliance documentsCompliance-Dokumente
/trust-center/certificationscategoryPrivateCertificationsZertifizierungen
/trust-center/faqfaqPrivateFAQ with 6 entriesFAQ mit 6 Einträgen
/trust-center/contactcontactPublicAccess request formZugangsanfrage-Formular
/trust-center/roadmaproadmapPublicInteractive 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 SetupContact/Company/Deal Properties, Custom Object, Seed DataContact/Company/Deal Properties, Custom Object, Seed DataDone
Phase 2: Theme Modules7 CMS Modules (Hero, Tile-Grid, Document-Listing, etc.)7 CMS-Module (Hero, Tile-Grid, Document-Listing, etc.)Done
Phase 3: CSS & StylingTemplate stylesheet, tier badge colors, responsiveTemplate-Stylesheet, Tier-Badge-Farben, ResponsiveDone
Phase 4: Templates6 page templates6 Seiten-TemplatesDone
Phase 5: Pages & Config9 pages created and published9 Seiten erstellt und veröffentlichtDone
Phase 6: Automation3 Workflows (Activation, Deal→Tier, Revocation)3 Workflows (Activation, Deal→Tier, Revocation)Done
Phase 7: ConfigurationPrivate Content, Forms, Email Templates, PipelinePrivate Content, Forms, Email-Templates, PipelineDone
Phase 8: QA & TestingAll tiers tested, workflow tests, mobile testsAlle Tiers getestet, Workflow-Tests, Mobile-TestsDone
Phase 9: Document SecurityPrivate Files, Serverless Function, Signed URLsPrivate Files, Serverless Function, Signed URLsDone

Remaining Work — Full System CompletionVerbleibende Arbeit — Volle Systemfertigstellung

Future PhaseFuture Phase Items HubSpot FeasibilityHubSpot-Machbarkeit
TC ExtensionsNewsflow, Service Status, Incident Form, Trust Metrics, Company Access4 Native 1 Partial
Sales & ContractDocuSign NDA, Contract Automation, Maker-Checker, Quote Engine, Contract Expiry2 Native 2 Partial 1 Custom
FinanceDATEV Integration1 Custom
Compliance & AuditAudit Logging, Compliance Reporting, PDF Watermarking, Rate Limiting2 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 IncludedInkludiert
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 Systeme1 (HubSpot)5 (Sanity, S3, Algolia, Vercel, HubSpot)
FrontendHubSpot CMS (HubL templates) — limited design flexibilityeingeschränkte Design-FlexibilitätNext.js / React — full UI/UX controlvolle UI/UX-Kontrolle
BackendHubSpot Serverless (128MB, 10s, no npmkein npm) — constrainedeingeschränktVercel Serverless — flexible, npm support, higher limitsflexibel, npm-Support, höhere Limits
Content EditorialHubSpot CRM records — functional but not designed for editorial teamsDatensätze — funktional aber nicht für Editorial-Teams designtSanity 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 StorageHubSpot File Manager + Signed URLs (15min expiry)S3 + Presigned URLs (60s expiry)
SSO — Single IdPEinzelner IdPEnterprise SAML — config only, no code changenur Config, keine CodeänderungStandard SSO integration via Next.js middlewareStandard-SSO-Integration via Next.js-Middleware
Product EntitlementsWould 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 DocsAchievable via doc_scope CRM property + association queryMachbar über doc_scope CRM Property + Association QueryNative Sanity reference (companyScope field)Native Sanity-Referenz (companyScope-Feld)
My Risiq DashboardLimited — 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-CashPandaDoc oroder DocuSign + HubSpot Quotes + Commerce HubPandaDoc oroder DocuSign (identical integrationidentische Integration)
DATEVMiddleware required (sevDesk/lexoffice)Middleware erforderlich (sevDesk/lexoffice)Middleware required (identical constraint)Middleware erforderlich (identische Einschränkung)
Ops HubNot 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 IntegrationIntegrationNative — CRM data accessed directly via HubL, no sync neededNativ — CRM-Daten direkt via HubL, kein Sync nötigRequires sync layer (HubSpot ↔ Sanity ↔ S3) — adds consistency management effortErfordert Sync-Layer (HubSpot ↔ Sanity ↔ S3) — erhöht Konsistenz-Management-Aufwand
Team TrainingHubSpot only — lower learning curveNur HubSpot — geringere LernkurveHubSpot + Sanity + Next.js — broader skill requirementsHubSpot + Sanity + Next.js — breitere Skill-Anforderungen
Deploymenths uploadsimple but manualeinfach aber manuellVercel CI/CD + S3 + Sanity Publish — automated but multi-stepVercel CI/CD + S3 + Sanity Publish — automatisiert aber mehrstufig
Monitoring & DebuggingÜberwachung & DebuggingSingle platform logs — limited detailEinzelne Plattform-Logs — begrenzte DetailsDistributed 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 ModelSkalierungsmodellPlatform-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 environmentshs upload deploys directly to production. No atomic rollbacks, no branch previews.
  • Keine Preview-/Staging-Umgebungenhs 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 1
CRM + CMS + Serverless
Tier access + Docs"] H2["Phase 2
PandaDoc/DocuSign
Quotes + Invoices
DATEV Middleware"] H3["Phase 3
HubDB Search
Expanded Tiles
Ops Hub coded actions"] H4["Phase 4
Enterprise SSO
Advanced Portal"] H1 --> H2 H2 --> H3 H3 --> H4 end subgraph HY["Hybrid (Sanity + S3 + Next.js)"] direction LR Y1["Phase 1
CRM + Next.js Frontend
Sanity Studio
S3 Storage"] Y2["Phase 2
PandaDoc/DocuSign
Quotes + Invoices
DATEV Middleware"] Y3["Phase 3
Algolia Search
Expanded Content
Custom Webhooks"] Y4["Phase 4
Enterprise SSO
Advanced 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 wks
Nativ: ~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 wks
Nativ: ~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 wks
Nativ: ~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 CRM
Contacts, Companies, Deals
Tier Workflows, Custom Objects"] PD["PandaDoc / DocuSign
NDA + Quote + Contract"] end subgraph Frontend["Frontend (Replace HubL)"] FE["Next.js / Astro
on Vercel"] API["HubSpot API
CRM data"] SF["Serverless Functions
Vercel Edge or CF Workers"] end subgraph Storage["Storage (Move)"] S3["S3 / R2
Private Documents"] SIGN["Presigned URLs
60s expiry"] end subgraph Keep["Keep As-Is"] DATEV["DATEV Middleware
sevDesk / lexoffice"] SSO["Enterprise SAML
Single 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 + AutomationHubSpot 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.
FrontendNext.js on VercelFull 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 StorageDokumentenspeicherS3 / R2Presigned 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-SignaturePandaDoc / DocuSignArchitecture-independent. Same tool in both approaches. Keep.Architektur-unabhängig. Gleiches Tool in beiden Ansätzen. Behalten.
SSOHubSpot Enterprise SAMLSingle IdP, config-only. No extra system needed. Keep.Einzelner IdP, nur Konfiguration. Kein zusätzliches System nötig. Behalten.
AccountingDATEV + sevDesk/lexofficeStandard 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 DocsDon’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 existiertHubSpot 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)Sales Hub Enterprise (Custom Objects erfordern Enterprise — Docs) 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 WF6
Workflows (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 scopes
HubSpot 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 property
CRM-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 references
Keine — 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 read
CRM-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 property
contact.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 APIs
HubSpot 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 properties
Sales 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 invoicing
Commerce 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 properties
Data 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 calculations
Sales 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/update
CRM-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 API
Data 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 queries
CRM-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 extensions
CRM 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 required
CRM 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 property
Data 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 associations
CRM-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). Coded Actions + Webhooks in workflows require Data Hub Professional (formerly Operations Hub, 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). Coded Actions + Webhooks in Workflows erfordern Data Hub Professional (früher Operations Hub, 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). Core CRM automation for Trust Center + sales pipeline.Custom Objects erfordern Enterprise (Docs). 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 (Sept 2025). Single license covers both capabilities.Coded Actions + Webhooks in Workflows. Data Hub ist der umbenannte Operations Hub (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)Trust Center Document Objekt — DER Grund für Enterprise (Docs)
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 syncCustom JS in Workflows — DATEV-Export, Berechnungen, Sanity-Sync
Webhooks × × ✓ (10) ✓ (100) Send HTTP to external — PandaDoc, provisioning, Next.js events (docs)HTTP an extern senden — PandaDoc, Provisioning, Next.js Events (Docs)
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). Includes Workflows, Deal Pipelines, Products & Quotes, API access (Private App).

Phase 2 (add): Data Hub Professional — the rebranded Operations Hub (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). Beinhaltet Workflows, Deal-Pipelines, Produkte & Quotes, API-Zugang (Private App).

Phase 2 (ergänzen): Data Hub Professional — der umbenannte Operations Hub (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). 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). 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). PandaDoc/DocuSign events, provisioning triggers, external system notifications.Webhook-Aktionen in Workflows erfordern Data Hub Pro (Docs). 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.

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