Skip to content

Admin & scoped auth ​

Each ADMIN_USERS entry binds { user, slug, salt, passHash }.

Sign-in page
your-domain.com/admin
The admin sign-in form, titled Ferraresi family: Admin, with Username and Password fields and a Sign in button.The admin sign-in form, titled Ferraresi family: Admin, with Username and Password fields and a Sign in button.
EndpointScope
GET /bioOnly content/bios/<session.slug>.json
POST /bioRejects if body slug ≠ session slug; path forced to session slug
POST /mediaFilename must match <slug>-(original|250|600|2000).webp
GET /statsPostHog filtered to that slug

The admin UI also forces form.slug = session.slug on load, save, and avatar upload.

Editor with live preview
your-domain.com/admin
The admin editor signed in as giulia, with her name, colours, font, and layout in the form and, on desktop, a live preview of her page.The admin editor signed in as giulia, with her name, colours, font, and layout in the form and, on desktop, a live preview of her page.

The Stats tab needs PostHog. Setup and the meaning of each number are in Analytics and admin stats.

Stats for the last 30 days, sample data
your-domain.com/admin
The admin Stats tab for the last 30 days, with 1240 visits, 812 unique visitors, a bar chart of views per day, and lists of clicks by link, sources, and countries.The admin Stats tab for the last 30 days, with 1240 visits, 812 unique visitors, a bar chart of views per day, and lists of clicks by link, sources, and countries.

Open-source white-label, made with ❤️ by Massimo De Luisa