-
Fix
use the .gate-confidential token class, not an inline hex · css
07cc8e65
-
Fix
stop the room footer floating above the feedback bar · investor
73a8326b
-
Fix
route hardcoded hex through tokens so dark skins stay legible · css
e6ca006b
-
New
give blank screens a next action to link to · app
b6d409f5
-
New
derive founder and co-founder checklist progress · onboarding
71b98d7f
-
New
select invited_by_user_id, the durable founder signal · users
b08822ee
-
Fix
add a composite (startup_id, started_at) index on visits · db
e621a683
-
Fix
name the document behind "median document time" · dashboard
b8e778cf
-
Fix
stop counting deleted or private documents as shared · views
833ae458
-
Fix
re-derive "share the link" from currently shareable views only · onboarding
92feb659
-
Fix
wire the founder dashboard to real tracking data · app
d1ae01fd
-
Fix
exclude bot visits from the document-open trail, add dashboard aggregates · tracking
f6f14ae4
-
Fix
tag the northwind fixture's co-founder as invited · seed
5c329444
-
New
build a real SQL migration runner · deploy
a88c5045
-
New
add restore-check.sh to prove a backup actually restores · deploy
e16b074e
-
New
schedule the nightly backup with a systemd timer and failure alerting · deploy
726b3fb9
-
New
rotate rp_backup alongside the app and DDL accounts · deploy
dbfea01d
-
New
read Mailgun credentials, and refuse to boot with a real one off live · config
ed27fb8f
-
New
add a Mailgun provider alongside Postmark · mail
dc51e998
-
New
name the city an investor opened your deck from, without a local database · geo
d19c3058
-
New
resolve visitor geo from Cloudflare's headers instead of MaxMind · tracking
ccafe218
-
New
import a spreadsheet with a column mapper and a diff before writing · captable
07d6e5ba
-
New
compute round scenarios and render the saved default in investor rooms · captable
982763b6
-
New
add a shared minor-units-to-form-field formatter · money
9a2a58a6
-
New
tell founders when a confidential holder can't be hidden safely · captable
a42fd1fc
-
New
see which version of the cap table an investor actually read · captable
69f7c128
-
New
let a founder turn cap table sharing on per view, and choose the detail level · captable
21ddfcef
-
New
show investors only the cap table numbers their room is allowed to see · captable
8baeece7
-
New
let a founder create the unallocated option pool · captable
5bc006c2
-
New
add the founder-side cap table register · captable
9201fc25
-
New
apply the founder's brand colour on every investor surface · rooms
046bd179
-
New
apply a room template, refused server-side when locked · settings
6a0f0465
-
New
render the paid skin investors actually see (SPEC §13.5) · room
b43f5c3e
-
New
add the public pricing page · raise
d4e5f6ad
-
New
wire up GET/POST /app/billing · billing
fa5f36f1
-
New
add Checkout/Billing Portal orchestration and live pricing · billing
ae592b24
-
New
add the signed, idempotent Stripe webhook · billing
93309af5
-
New
map Stripe subscription state to plan and module entitlements · billing
d6ba1973
-
New
add the Stripe REST client with raw-body signature check · billing
9ce93bc7
-
New
add Stripe price-id config and the live-key safety rail · config
8fadbea3
-
New
add Stripe billing tables and stripe_customer_id · db
66324d3e
-
New
actually send email on live via Postmark instead of throwing · mail
2f9aa181
-
New
reset a forgotten password, and confirm your email address · auth
c8bd342d
-
New
put the platform console behind its own network allowlist · nginx
a03f0c46
-
New
the platform console — tenants, growth, health, one tenant · ops
c34e9e20
-
New
the cross-tenant repository behind the platform console · ops
450fc0ea
-
New
a suspended tenant gets a notice on sign-in and a closed room · ops
8a97f36b
-
New
the operator session, its own trust domain · ops
db78a6ed
-
New
operator accounts repository and the ops-admin CLI · ops
a3826f42
-
New
add platform_admins and an 'operator' audit actor type · db
d75b2ab7
-
New
A guide to using RaisePortal, in the menu when you sign in · guide
72a5ece1
-
New
Investors can ask questions in your data room, answered from the documents you choose · assistant
99e562a4
-
Security
cap import size, rate-limit uploads, and bound conversion memory · captable
eea72133
-
Fix
call the real migration runner and stop leaking the backup password to ps · deploy
66d9a9e7
-
Fix
parameterise backup.sh for dev and live, and stop leaking the DB password to ps · deploy
9047df6e
-
Fix
only trust Cloudflare's visitor-location headers from Cloudflare · nginx
db6fc3ff
-
Fix
keep visitors' precise coordinates and postal code out of logs · security
21cea467
-
Fix
label the import wizard's tables for mobile · captable
e2e86b42
-
Fix
solve the SAFE discount price and the pool top-up together · captable
562faa35
-
Fix
let a convertible note accrue interest through the real form · captable
30462569
-
Fix
stop editing a holder from multiplying their Invested amount by 100 · captable
736f5940
-
Fix
never 500 the whole investor room when the cap table aggregator throws · room
4130b87a
-
Fix
stop a confidential group's label from lying about who is in it · captable
9231e468
-
Fix
stop a confidential holder's numbers from ever reaching a named row · captable
90f6a8b4
-
Fix
stop the confidential holder merge from crossing class boundaries · captable
a8d349dd
-
Fix
the SAFE total can no longer be subtracted to reveal a suppressed instrument · captable
e881e7e7
-
Fix
close the SPEC §14 CSP gap on style-src, font-src and frame-ancestors · security
aafa7416
-
Fix
clear rate-limit budgets so the suite is runnable repeatedly · e2e
a7d41942
-
Fix
verify fixture founders' email through the real /verify flow · e2e
b5d2ef14
-
Fix
make signup() prove the browser really lands on the dashboard · e2e
9fea664f
-
Fix
stop the founder's dark/light chrome from leaking onto investor pages · rooms
36ba2437
-
Fix
scope the CSP form-action allowlist to this app's own subdomains and Stripe · security
e60eaf21
-
Fix
skin the investor-facing AI screen like the room it opened from · rooms
8aa47c34
-
Fix
bust the 60s tenant cache on every webhook entitlement change · billing
790b15eb
-
Fix
hide the billing link from a member who can't open it · ai
372160ff
-
Fix
send Cache-Control: private, no-store on every investor-facing response · room
b9b42094
-
Fix
redact the investor-room password slug and access code from the log stream · logs
015b0def
-
Fix
redact token-shaped values in header values, not just header keys · logs
c971d3db
-
Fix
close three account-recovery gaps in one pass · auth
990740dc
-
Fix
make every failed email send loud instead of silently vanishing · mail
8b2fd846
-
Fix
stop reset/verify tokens and session cookies leaking into request logs · logs
bdc4cbd9
-
Fix
keep the helpful message when an investor's link arrives mangled · room
a37170ee
-
New
tell the founder someone opened the deck, and only then · alerts
c1d185e2
-
New
let a founder allow one document to be downloaded · views
8608d003
-
New
who read what, for how long, and how far they got · tracking
3cdb1b7e
-
New
track the goal, who owns what, and what has actually closed · raise
7a29536d
-
New
an investor can open a link and read the deck · room
0bf6c9f8
-
New
invite a co-founder, and enforce what each role may do · team
144dde3a
-
New
one public nav everywhere, usable on a phone and legible in dark · ui
6d59e4aa
-
New
ask for the round and target investors, and vet the address · signup
8719cbd0
-
New
apply the brand palette, and make the public nav usable on a phone · ui
c544be4c
-
New
sign in from the marketing site, not just a portal subdomain · auth
076da660
-
New
upload, categorise and version a data room's files · documents
efd7dfdb
-
New
add CSRF protection to signup, login and logout · security
0544b8b5
-
New
IP-allowlist dev behind Cloudflare real-IP restoration · nginx
49619751
-
New
add tenant resolution, signup, login and the dashboard shell · auth
ef4362d7
-
New
wire the footer pages, the real changelog, and 404/500 · marketing
4e72775b
-
New
add an app-wide dark/light mode, defaulting to dark · ui
86146de9
-
New
render the landing page and signup form from Express · skeleton
b21e7083
-
Fix
report a virus scan honestly, and preview Office files · documents
6e9dfd7d
-
Fix
store timestamps in UTC · db
47a68a2b
-
Fix
stop formatting a calendar DATE in the viewer's timezone · raise
c76a1400
-
Fix
make dark mode actually render, and drop the OS-preference fallback · ui
65edac95
-
Fix
bust the 60s tenant cache when a signup fills a subdomain · tenant
faf2256a
-
Fix
stop /app's auth guard from swallowing unrelated 404s · auth
2f02898b
-
Fix
drop trailing .00 on whole-dollar amounts to match the mockups · raise
04bfe5ec
-
Fix
enforce the 30-day absolute session cap without touching anonymous traffic · auth
a5ce77a4
-
Fix
use a real definition list for the contact page's kv block · marketing
66546c37
-
Fix
stop schema.sql hardcoding the live database name · db
5eac0251
-
Fix
quote MAIL_FROM so .env can be sourced by a shell · env
faf329ff
-
New
Startups can claim a subdomain and open a free investor portal · portal
c8f1e1ee
Times are UTC. Versions follow semantic versioning: a major number changes when something you
rely on works differently, a minor when a feature is added.