Hanzo

Hanzo Dataroom

Secure document sharing with analytics and access controls

Hanzo Dataroom

API reference · Dataroom → — every endpoint, generated from the OpenAPI spec.

Hanzo Dataroom is an open-source secure document-sharing platform — a self-hostable fork of Papermark (AGPLv3) — with real-time analytics, granular access controls, and custom branding. Share pitch decks, fundraising materials, and legal documents through controlled links, and organize due-diligence material into structured data rooms with full visibility into how recipients engage. It runs as a standalone Next.js application at dataroom.hanzo.ai and signs in through Hanzo IAM.

Features

  • Shareable Links: Per-link expiration, password protection, email verification, and allow/deny lists
  • Watermarking: Dynamic watermarks stamped with viewer information
  • Screenshot Protection: Discourage capture of sensitive material
  • Custom Domains & Branding: Per-team logos and colors, custom domains, and custom link metatags
  • Data Rooms: Multi-document collections with folders, viewer groups, and granular permissions
  • Real-Time Analytics: Page-by-page view tracking, time spent, downloads, and per-page reactions
  • Conversations: Comment threads on documents and data rooms
  • AI Q&A: Chat over documents and data rooms (optional; requires a model-provider key)
  • File Requests: Collect document uploads from visitors through a link
  • Link Presets & Tags: Reusable link configurations and labels across links, documents, and data rooms
  • NDA & Agreements: Require acceptance before viewing
  • Enterprise SSO: SAML via BoxyHQ Jackson, plus SCIM directory sync
  • Passkeys: WebAuthn authentication via Hanko
  • Hanzo IAM SSO: Single sign-on via Hanzo identity

Endpoints

EnvironmentURL
Productionhttps://dataroom.hanzo.ai
APIhttps://dataroom.hanzo.ai/api

Architecture

+---------------------------------------------------------------+
|                     HANZO DATAROOM                             |
+---------------------------------------------------------------+
|                                                                |
|  +-----------------------+  +-------------------------------+  |
|  |    Documents          |  |       Data Rooms              |  |
|  |  +------+  +-------+  |  |  +--------+  +-------------+  |  |
|  |  | Links|  |Version|  |  |  |Folders |  | Permissions |  |  |
|  |  +------+  +-------+  |  |  +--------+  +-------------+  |  |
|  +-----------------------+  +-------------------------------+  |
|                                                                |
|  +-----------------------+  +-------------------------------+  |
|  |    Analytics          |  |       Access Control          |  |
|  |  +------+  +-------+  |  |  +--------+  +-------------+  |  |
|  |  | Views|  | Time  |  |  |  |Password|  | NDA/Email   |  |  |
|  |  +------+  +-------+  |  |  +--------+  +-------------+  |  |
|  +-----------------------+  +-------------------------------+  |
|                                                                |
+---------------------------------------------------------------+

How It Works

The full workflow runs in the dashboard.

Upload a Document

Upload a PDF (or other supported file) to your team's library. Uploads go to S3-compatible object storage or Vercel Blob, depending on the configured transport, with resumable upload support.

Generate a link and attach controls — a name, optional password, expiration date, email verification, allow/deny lists, download permission, and watermarking. Share the resulting /view/... URL with recipients.

Track Engagement

Watch views arrive in real time: who opened the link, how long they spent on each page, which pages they revisited, and what they downloaded.

Data Rooms

Organize documents into structured data rooms for due diligence, fundraising, or any multi-document workflow. Each data room supports nested folders, viewer groups, and permission groups so different recipients see different subsets, with an optional introduction page and per-room change notifications.

Access Controls

FeatureDescription
Password ProtectionRequire a password to view
Email VerificationRequire a verified email
NDA AgreementAccept an NDA before viewing
Expiration DateAuto-expire links
Download RestrictionPrevent file downloads
WatermarkingDynamic watermarks with viewer info
Screenshot ProtectionDiscourage screen capture
Allow / Deny ListsRestrict to (or block) specific emails or domains

Analytics

View Metrics

MetricDescription
totalViewsTotal number of views
uniqueViewersUnique email addresses
avgDurationAverage time spent
completionRate% of pages viewed
lastViewedAtMost recent view

Per-Page Analytics

Track engagement at the page level to understand which sections resonate:

  • Time spent per page
  • Page revisits
  • Per-page reactions
  • Download activity

Authentication

Hanzo Dataroom signs users in through Hanzo IAM and supports:

  • Hanzo IAM: SSO via https://hanzo.id (default, recommended)
  • Email Magic Link: Passwordless email login
  • Passkeys: WebAuthn/FIDO2 authentication via Hanko
  • SAML SSO: Enterprise SSO via BoxyHQ Jackson, with SCIM directory sync
  • Google OAuth: Optional legacy provider

IAM Integration

# Environment variables
IAM_URL=https://hanzo.id
IAM_CLIENT_ID=app-dataroom
IAM_CLIENT_SECRET=<from-kms>

Self-Hosting

Hanzo Dataroom ships as a Next.js standalone application with an embedded SQLite database by default (single-replica), so a basic deployment needs only a persistent volume and object storage.

Docker

docker run -d \
  --name hanzo-dataroom \
  -p 3000:3000 \
  -v dataroom-data:/app/data \
  -e NEXTAUTH_URL=https://dataroom.yourdomain.com \
  -e IAM_URL=https://hanzo.id \
  -e IAM_CLIENT_ID=app-dataroom \
  ghcr.io/hanzoai/dataroom:latest

Environment Variables

VariableDescription
DATABASE_URLDatabase connection (embedded SQLite by default)
NEXTAUTH_URLPublic URL of the application
NEXTAUTH_SECRETNextAuth encryption secret
IAM_URLHanzo IAM server URL
IAM_CLIENT_IDIAM application client ID
IAM_CLIENT_SECRETIAM application client secret
NEXT_PUBLIC_UPLOAD_TRANSPORTStorage backend — s3 or vercel
S3_*S3-compatible object storage credentials
SMTP_HOSTEmail server host

Integrations & API

Hanzo Dataroom is primarily a dashboard-driven product: documents are uploaded, links are created, and analytics are viewed in the app. Programmatic surfaces include:

  • Next.js API routes under /api (unversioned) — links, views, teams, verification, and file handling used by the app and its share pages.
  • SAML SSO & SCIM for enterprise identity and directory sync.
  • Incoming webhooks and Slack notifications for view and download events.
  • AI Q&A endpoints for chat over documents and data rooms.

Refer to your instance and the self-hosting configuration for the exact route set.

Next Steps

Document signing platform

Equity management platform

Identity and access management

How is this guide?

Last updated on

On this page