feat: persona-driven trust & info-scent fixes#28
Merged
Conversation
Addresses the visitor-persona audit findings in one pass: First-time developer (info scent): - Homepage gains a feature bridge — an in-fiction "SELECT name, summary FROM features LIMIT 4;" mini result set (NL2SQL Copilot, AI Query Safety, Visual EXPLAIN, Data Masking) linking to all 18 features Evaluating DBA (consistency + trust): - New /security page consolidating the honest security model: OIDC+PKCE, RBAC, env-var seed credentials, TLS/SSH tunnels, display-level masking (stated as such), supply-chain checksums, and the SECURITY.md disclosure path - Studio version now fetched from GitHub releases at build time (bare-semver app tags only, chart releases filtered, memoized, with fallback) and rendered as "studio:x.y.z" in the StatusBar and as JSON-LD softwareVersion — replaces three conflicting hardcoded numbers - Engine list single-sourced in src/data/engines.ts (hero + JSON-LD) - Compare page gains a methodology footnote with last-check date and a corrections channel DevOps engineer: - /get-started gains "Next: connect your first database" — four steps with least-privilege guidance and links to the seed-connections guide and /security - /features ends with a closing CTA instead of a dead end Customer (honest licensing): - Platform pages now state the real model: closed source, beta, self-hosted, per-organization enterprise licenses, no online sales yet, with a "talk to us" contact path (LinkedIn) - Home family card: "Managed for teams" -> "Self-hosted for enterprises" - FAQ +2: "How is LibreDB Platform licensed?" and "Why sponsor LibreDB?" JSON-LD sameAs now includes X/YouTube/Instagram/Reddit. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The video sits inside the "Next: connect your first database" panel as the written steps in motion — same click-to-load nocookie facade as the homepage promo (self-hosted poster, zero third-party bytes until play). Its flow mirrors the steps 1:1: New Connection -> pick engine -> host & credentials -> SSL/SSH -> Test Connection -> first query. Also fixes three whitespace-collapse spots in the step copy where prettier's line breaks ate the space before inline spans. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The video opens with the install itself ("docker run ..."), so it is the
whole page's journey — install, connect, first query — not just the
connect panel's. It now sits directly under the page header, above the
fold: watch 70 seconds first, then follow the steps. The connect panel
keeps its written steps and links.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR updates libredb.org content and metadata to address “trust leak” points identified in a visitor-persona audit, by adding a dedicated Security section/page, tightening product/info-scent copy, and making key site claims (supported engines + Studio version) more consistent and less likely to drift.
Changes:
- Adds a new
/securitysection (page + content + section metadata) and wires it into the dynamic section router. - Introduces a single source of truth for supported database engines and reuses it in JSON-LD + hero copy.
- Fetches the latest LibreDB Studio version from GitHub releases at build time (with fallback) and surfaces it in structured data + UI.
Reviewed changes
Copilot reviewed 15 out of 16 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| src/pages/[section].astro | Adds SecuritySection to the dynamic section component map. |
| src/lib/studio-version.ts | Adds build-time GitHub releases fetch + semver picking + memoization for Studio version. |
| src/lib/studio-version.test.ts | Adds Bun tests for semver picking and fallback invariants. |
| src/layouts/Layout.astro | Uses fetched Studio version in JSON-LD and derives feature copy from ENGINES; expands org sameAs. |
| src/data/sections.ts | Updates FAQ row count/summary and adds new security section metadata. |
| src/data/engines.ts | Adds ENGINES array as a shared supported-engine source of truth. |
| src/components/studio/StatusBar.astro | Displays build-fetched Studio version in the status bar. |
| src/components/sections/SecuritySection.astro | Adds a dedicated security model section with controls + responsible disclosure link and export payload. |
| src/components/sections/PlatformSection.astro | Updates Platform positioning/licensing copy and adds a direct “Talk to us” path. |
| src/components/sections/HomeSection.astro | Uses ENGINES, adds a “feature bridge” preview grid, and tweaks Platform teaser copy. |
| src/components/sections/GetStartedSection.astro | Adds a promo video and a “connect your first database” follow-on step section. |
| src/components/sections/FeaturesSection.astro | Adds a closing CTA section to avoid a “dead end” at the bottom of the list. |
| src/components/sections/FaqSection.astro | Adds FAQ entries about Platform licensing and sponsorship. |
| src/components/sections/CompareSection.astro | Adds methodology note and link to report issues. |
| package.json | Bumps package version to 0.7.1. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…en version fetch All five findings verified valid (single-source consistency class): - studio-version fetch: per_page 15 -> 30 and a 10s AbortSignal timeout so a slow network can't hang the static build - FAQ pageDescription now mentions Platform licensing and sponsorship, matching the section's actual content - get-started step 2 engine list derives from ENGINES - home feature-bridge counts derive from sectionById['features'].rows - JSON-LD keywords derive from ENGINES Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The visitor-persona audit of libredb.org found the site sells well to developers and DevOps but leaks trust at specific, fixable points. This PR closes the gaps the owner selected, in one pass.