TOOLS
Routing Map
Infrastructure documentation — @eqnx.vc only
Access restricted to @eqnx.vc accounts.
Domains
2
tools + galaxy
Tool Pages
19
HTML files
API Endpoints
6
PHP backends
Infrastructure
5
shared modules
Auth
3
auth methods
FTP Host
OVH
cluster100.hosting.ovh.net
Domain Mapping (OVH Multisite)
DomainFTP RootPurposeSSL
tools.eqnx.vc/portfolio/All internal tools (this site)Let's Encrypt
galaxy.eqnx.vc/galaxy/Galaxy Fund I marketing site + tool copiesLet's Encrypt
Deploy Architecture
tools.eqnx.vc /portfolio/
index.html Hub
portfolio.html Tool
deal-flow.html Tool
companies-index.html Tool
database.html Tool
team.html Tool
jack.html Tool
improvements.html Tool
deals-api.php API
portfolio-api.php API
team-api.php API
api.php API
shared-auth.js Infra
shared-error.js Infra
rate-limit.php Infra
audit.php Infra
deploy.sh
galaxy.eqnx.vc /galaxy/
index.html LP Site
fr.html, it.html, es.html, ar.html i18n
dataroom.html Dataroom
dataroom/index.html Fallback
sectors.js Shared

deploy.sh deploys tool files to /portfolio/{file} and /portfolio/{basename}/index.html only. Galaxy stays pure — only the LP marketing site and investor dataroom live there. sectors.js deploys to both /portfolio/ and /galaxy/ as it is shared. dataroom-galaxy.html deploys to /galaxy/dataroom.html only.

tools.eqnx.vc — URL Routing
URLServesTypeStatus
/tools-index.html (Hub)SourceLive
/portfolio/portfolio.html302Live
/deal-flow/deal-flow.html302Live
/companies/companies-index.html302Live
/database/database.html302Live
/team/team.html302Live
/news/news.html302Live
/audience/audience.html302Live
/access/access.html302Live
/improvements/improvements.html302Live
/reporting/reporting.html302Live
/websites/websites.html302Live
/jack/jack.html302Live
/dashboard/dashboard-new.html302Live
/dataroom/dataroom-hub.html302Live
/routing/routing.html302Live

.htaccess in /portfolio/ handles all /tool//tool.html redirects (302 temporary). Each tool also has a fallback /tool/index.html copy.

API Endpoints
FileEndpointsData StoreMiddleware
deals-api.phplist, create, update, move, delete, reorder/data/deals.jsonRate limit, Audit, CSRF
team-api.phplist, create, update, delete/data/team.jsonRate limit, Audit, CSRF
improvements-api.phplist, get, create, update, delete, approve, reject, comment, status/data/improvements.jsonRate limit, Audit, CSRF
api.phpdata (gate, analytics, contact, dataroom), log/data/*.jsonRate limit, Audit, CSRF
portfolio-api.phpload, save, version, backup/data/portfolio.jsonRate limit, Audit, CSRF
jack-api.phpchat, autofillClaude API (external)Rate limit
Shared Infrastructure
FileTypePurpose
shared-auth.jsJSGoogle Sign-In, token management, auth utilities. EQNX_AUTH namespace.
shared-error.jsJSGlobal error handler (window.onerror + unhandledrejection). Error toast UI.
rate-limit.phpPHPIP-based rate limiting (60 req/min). File-based sliding window.
audit.phpPHPChange tracking to /data/audit.json. Capped at 10k entries.
csrf-check.phpPHPCSRF protection via Content-Type + Origin/Referer validation.
backup.phpPHPTimestamped backup of all /data/*.json. 30-day retention.
jack-widget.jsJSFloating Jack AI chat widget. Loaded on every tool page.
Authentication
ScopeMethodSessionExpiry
All tools (19 apps)Google Sign-In — @eqnx.vc onlylocalStorage:eqnx_auth4 hours
Galaxy websiteGate form (email + company)Own system (gate events)Session
Data RoomAccess Management (email-based)Own systemManaged

Google OAuth Client ID: 961770869786-...apps.googleusercontent.com. Domain restriction: @eqnx.vc. All tools share the same localStorage token.

Data Storage
DataLocationAccessBackup
Portfolio (companies, SPVs, investments)/data/portfolio.json + localStorageportfolio-api.php10 versions in /data/portfolio_history/
Deals/data/deals.jsondeals-api.phpbackup.php
Team/data/team.jsonteam-api.phpbackup.php
Gate / Analytics / Contact / Dataroom/data/*.jsonapi.phpbackup.php
Improvements/data/improvements.jsonimprovements-api.phpbackup.php
Audit Log/data/audit.jsonDirect readbackup.php
Backups/data/backups/backup_{timestamp}/backup.php30-day retention