zooqueen 7ef03a2bdd the bundle becomes a module cloud can pin, not a file it copies
cloud carried a hand-vendored byte-copy of goja/bundle.js because this repo is
a TS app with no Go module, so nothing checked what it embedded. The copy had
already drifted: cloud's carried the link deny-list and this one did not.

A std-lib-only embed module — the same shape github.com/hanzoai/sign has — makes
the bundle a dependency cloud requires at a version and records in go.sum, so
the three folds (sign, captable, dataroom) are all pinned the same way and there
is no second copy to drift.

The deny-list the copy was ahead by lands here with it: an address on a link's
deny list is refused even when the allow list would admit it, checked first so
deny cannot be bypassed.
2026-08-14 21:12:45 -07:00
2026-02-20 00:10:28 +11:00
2026-02-20 00:10:28 +11:00
2026-02-19 14:37:27 +11:00
2024-09-09 17:50:25 +02:00
2026-04-17 16:58:13 -07:00
2024-01-23 19:13:55 +13:00
2024-05-22 18:46:55 +02:00
2025-01-17 16:08:09 +01:00
2025-12-08 17:23:07 +01:00
2025-02-28 13:40:14 +01:00
2024-05-13 14:52:25 +02:00
2026-06-28 20:09:09 -07:00
2025-07-17 18:15:00 +02:00

dataroom

Hanzo Dataroom

The open-source DocSend alternative.

Hanzo Dataroom - The open-source DocSend alternative | Product Hunt


GitHub Repo stars Twitter Follow License

Hanzo Dataroom is the open-source document-sharing alternative to DocSend, featuring built-in analytics and custom domains.

Features

  • Shareable Links: Share your documents securely by sending a custom link.
  • Custom Branding: Add a custom domain and your own branding.
  • Analytics: Gain insights through document tracking and soon page-by-page analytics.
  • Self-hosted, Open-source: Host it yourself and customize it as needed.

Demo

Hanzo Dataroom Welcome GIF

Tech Stack

Getting Started

Prerequisites

Here's what you need to run Hanzo Dataroom:

  • Node.js (version >= 18.17.0)
  • PostgreSQL Database
  • Blob storage (currently AWS S3 or Vercel Blob)
  • Resend (for sending emails)

1. Clone the repository

git clone https://github.com/hanzoai/dataroom.git
cd hanzo-dataroom

2. Install npm dependencies

npm install

3. Copy the environment variables to .env and change the values

cp .env.example .env

4. Initialize the database

npm run dev:prisma

5. Run the dev server

npm run dev

6. Open the app in your browser

Visit http://localhost:3000 in your browser.

Tinybird Instructions

To prepare the Tinybird database, follow these steps:

  1. We use pipenv to manage our Python dependencies. If you don't have it installed, you can install it using the following command:
    pkgx pipenv
    
  2. Download the Tinybird CLI from here and install it on your system.
  3. After authenticating with the Tinybird CLI, navigate to the lib/tinybird directory:
    cd lib/tinybird
    
  4. Push the necessary data sources using the following command:
    tb push datasources/*
    tb push endpoints/get_*
    
  5. Don't forget to set the TINYBIRD_TOKEN with the appropriate rights in your .env file.

Updating Tinybird

pipenv shell
## start: pkgx-specific
cd ..
cd hanzo-dataroom
## end: pkgx-specific
pipenv update tinybird-cli

Contributing

Hanzo Dataroom is an open-source project, and we welcome contributions from the community.

If you'd like to contribute, please fork the repository and make any changes you'd like. Pull requests are warmly welcome.

Our Contributors ✨

S
Description
Hanzo Dataroom — secure document sharing with built-in analytics and custom domains.
Readme AGPL-3.0
36 MiB
Languages
TypeScript 98.9%
JavaScript 0.6%
CSS 0.4%