openvibers/openvibe.sites Commits

openre.stream leads with going live from the browser: no OBS, no downloads, no follower minimum. OpenRe.Stream is the streaming engine being split out of OpenVibe.Live, and browser go-live is the feature people and AI assistants look for. The tagline and description say it. A highlight under the hero lists what you do and don't need, with Go live now on OpenVibe.Live and How browser streaming works. The pillars name browser go-live and the open API and SDK. A visible Questions section is also a FAQPage in the JSON-LD. The builder gains two optional site fields any placeholder can use: highlight (a headline feature card) and faq (visible questions plus FAQPage). Claims stay accurate: browser broadcasts start on OpenVibe.Live today, and SRT ingest is still to follow.

OP OpenVibers committed 28 Sept 2026 · 69cb43ce56 · 55 files, +311 −51


Changes

ddiff --git a/build.js b/build.js
iindex 03c6e10..567d4fc 100644
---- a/build.js
++++ b/build.js
@@@ -99,6 +99,18 @@ const FIRST_PUBLISHED = '2026-09-17';
function hexToRgb(hex) { const m = String(hex).replace('#', ''); const n = parseInt(m.length === 3 ? m.split('').map(c => c + c).join('') : m, 16); return `${(n >> 16) & 255},${(n >> 8) & 255},${n & 255}`; }
++/** A site's headline feature, shown right under the hero: { title, text, points: [..], cta: [label, href], more: [label, href] }. */
++function highlight(h) {
++ return ` <section class="highlight" aria-labelledby="highlight-h">
++ <div class="hl-card">
++ <h2 id="highlight-h"><i class="fa-solid fa-bolt" aria-hidden="true"></i> ${esc(h.title)}</h2>
++ <p>${esc(h.text)}</p>
++ ${(h.points || []).length ? `<ul>${h.points.map((x) => `<li>${esc(x)}</li>`).join('')}</ul>` : ''}
++ <div class="ctas">${h.cta ? `<a class="btn btn-primary" href="${esc(h.cta[1])}"><i class="fa-solid fa-tower-broadcast"></i> ${esc(h.cta[0])}</a>` : ''}${h.more ? ` <a class="btn" href="${esc(h.more[1])}">${esc(h.more[0])}</a>` : ''}</div>
++ </div>
++ </section>`;
++}
++
function page(site) {
const core = site.core || NET.core;
const url = `https://${site.domain}/`;
@@@ -120,6 +132,8 @@ function page(site) {
breadcrumb: { '@type': 'BreadcrumbList', itemListElement: [{ '@type': 'ListItem', position: 1, name: 'OpenVibe', item: `${NET.networkUrl}/` }, { '@type': 'ListItem', position: 2, name: site.name, item: url }] } },
],
};
++ // A questions section people can read is also a FAQPage for search engines and AI crawlers.
++ if (site.faq && site.faq.length) ld['@graph'].push({ '@type': 'FAQPage', '@id': `${url}#faq`, mainEntity: site.faq.map(([q, a]) => ({ '@type': 'Question', name: q, acceptedAnswer: { '@type': 'Answer', text: a } })) });
return `<!DOCTYPE html>
<html lang="en">
<head>
@@@ -194,6 +208,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -226,6 +245,7 @@ ${site.statusApi ? STATUS_CSS : ''}</style>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>${esc(STANDING[standing(site)].label)}</b> · ${statusText(site)} · as of ${esc(facts.generated)} · <a href="/status.json">status.json</a></p>
</header>
++${site.highlight ? highlight(site.highlight) : ''}
${notice ? ` <section id="what" class="meanwhile">
<h2>Where to go</h2>
<p class="lead2">${esc(site.linksLead || 'What this address used to stand for lives here now.')}</p>
@@@ -248,6 +268,11 @@ ${site.statusApi ? liveStatus(site) : ''}` : ` <section id="what">
${(site.meanwhile || []).map(([h, href, d]) => `<a class="card" href="${esc(href)}"><div class="ic"><i class="fa-solid fa-arrow-up-right-from-square" aria-hidden="true"></i></div><b>${esc(h)}</b><span>${esc(d)}</span><span class="go">${esc(href.replace(/^https?:\/\//, '').replace(/\/$/, ''))} →</span></a>`).join('\n ')}
</div>
</section>
++${site.faq && site.faq.length ? `
++ <section id="questions" class="faq">
++ <h2>Questions</h2>
++ ${site.faq.map(([q, ans]) => `<details><summary>${esc(q)}</summary><p>${esc(ans)}</p></details>`).join('\n ')}
++ </section>` : ''}
`}
<section class="net">
<h2>The OpenVibe network</h2>
ddiff --git a/dist/admin.openvibe.network/index.html b/dist/admin.openvibe.network/index.html
iindex c37a093..4d8593f 100644
---- a/dist/admin.openvibe.network/index.html
++++ b/dist/admin.openvibe.network/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>not routed yet</b> · <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> is live at <a href="https://openvibe.network/">openvibe.network</a>; this subdomain is not routed to it yet: this page is a placeholder, nothing here is live yet. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what">
<h2>What admin.openvibe.network will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/admin.openvibe.network/release.json b/dist/admin.openvibe.network/release.json
iindex b1ec66b..7524e1d 100644
---- a/dist/admin.openvibe.network/release.json
++++ b/dist/admin.openvibe.network/release.json
@@@ -1,6 +1,6 @@
{
"service": "admin",
-- "release": "dc512b0cc1f5",
++ "release": "1ecb9d28ff46",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/ai.openvibe.network/index.html b/dist/ai.openvibe.network/index.html
iindex 221b26e..54a9127 100644
---- a/dist/ai.openvibe.network/index.html
++++ b/dist/ai.openvibe.network/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.AI" rel="noopener"><code>OpenVibers/OpenVibe.AI</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a public API with its own access rules; today only other OpenVibe services call it. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what">
<h2>What ai.openvibe.network will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/ai.openvibe.network/release.json b/dist/ai.openvibe.network/release.json
iindex c538d18..ae49d1d 100644
---- a/dist/ai.openvibe.network/release.json
++++ b/dist/ai.openvibe.network/release.json
@@@ -1,6 +1,6 @@
{
"service": "ai",
-- "release": "80f89b040d77",
++ "release": "018cc11f76d1",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/api.openvibe.network/index.html b/dist/api.openvibe.network/index.html
iindex 62544df..c8794d4 100644
---- a/dist/api.openvibe.network/index.html
++++ b/dist/api.openvibe.network/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>not routed yet</b> · <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> is live at <a href="https://openvibe.network/">openvibe.network</a>; this subdomain is not routed to it yet: this page is a placeholder, nothing here is live yet. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what">
<h2>What api.openvibe.network will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@@ -125,6 +131,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/api.openvibe.network/release.json b/dist/api.openvibe.network/release.json
iindex 5d9d84a..02a848c 100644
---- a/dist/api.openvibe.network/release.json
++++ b/dist/api.openvibe.network/release.json
@@@ -1,6 +1,6 @@
{
"service": "api",
-- "release": "d854e5c3ba29",
++ "release": "93c16e099b7c",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/auth.openvibe.network/index.html b/dist/auth.openvibe.network/index.html
iindex d825d0f..f2032ed 100644
---- a/dist/auth.openvibe.network/index.html
++++ b/dist/auth.openvibe.network/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>not routed yet</b> · <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> is live at <a href="https://openvibe.network/">openvibe.network</a>; this subdomain is not routed to it yet: this page is a placeholder, nothing here is live yet. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what">
<h2>What auth.openvibe.network will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/auth.openvibe.network/release.json b/dist/auth.openvibe.network/release.json
iindex a8116d2..46719be 100644
---- a/dist/auth.openvibe.network/release.json
++++ b/dist/auth.openvibe.network/release.json
@@@ -1,6 +1,6 @@
{
"service": "auth",
-- "release": "451f5378cdd4",
++ "release": "81ac11db46c1",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/openre.stream/index.html b/dist/openre.stream/index.html
iindex 4352102..d5f8f8c 100644
---- a/dist/openre.stream/index.html
++++ b/dist/openre.stream/index.html
@@@ -3,9 +3,9 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
--<title>OpenRe.Stream — Ingest and restream, in the open.</title>
--<meta name="description" content="OpenRe.Stream is the ingest and restream service split out of OpenVibe.Live: RTMP ingest with stream keys and lifecycle, and restreaming to RTMP, RTMPS and SRT destinations, with WHIP to follow. Broadcasters still go live through OpenVibe.Live until their stream moves over.">
--<meta name="keywords" content="openre stream, rtmp ingest, whip, srt, restream, open source streaming infrastructure">
++<title>OpenRe.Stream — Go live from your browser, or any encoder, and restream everywhere.</title>
++<meta name="description" content="OpenRe.Stream is OpenVibe&#39;s open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.">
++<meta name="keywords" content="go live from browser, stream without obs, browser streaming, no follower minimum, stream from chromebook, webrtc streaming, whip, rtmp ingest, srt, restream to twitch youtube kick, open source streaming">
<meta name="robots" content="index, follow, max-image-preview:large">
<meta name="theme-color" content="#ef4444">
<link rel="canonical" href="https://openre.stream/">
@@@ -16,15 +16,15 @@
<meta property="og:type" content="website">
<meta property="og:site_name" content="OpenRe.Stream">
<meta property="og:url" content="https://openre.stream/">
--<meta property="og:title" content="OpenRe.Stream — Ingest and restream, in the open.">
--<meta property="og:description" content="OpenRe.Stream is the ingest and restream service split out of OpenVibe.Live: RTMP ingest with stream keys and lifecycle, and restreaming to RTMP, RTMPS and SRT destinations, with WHIP to follow. Broadcasters still go live through OpenVibe.Live until their stream moves over.">
++<meta property="og:title" content="OpenRe.Stream — Go live from your browser, or any encoder, and restream everywhere.">
++<meta property="og:description" content="OpenRe.Stream is OpenVibe&#39;s open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.">
<meta property="og:image" content="https://openvibe.network/assets/logo-512.png">
<meta property="og:image:alt" content="OpenVibe">
<meta name="twitter:card" content="summary">
--<meta name="twitter:title" content="OpenRe.Stream — Ingest and restream, in the open.">
--<meta name="twitter:description" content="OpenRe.Stream is the ingest and restream service split out of OpenVibe.Live: RTMP ingest with stream keys and lifecycle, and restreaming to RTMP, RTMPS and SRT destinations, with WHIP to follow. Broadcasters still go live through OpenVibe.Live until their stream moves over.">
++<meta name="twitter:title" content="OpenRe.Stream — Go live from your browser, or any encoder, and restream everywhere.">
++<meta name="twitter:description" content="OpenRe.Stream is OpenVibe&#39;s open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openre.stream/#site","url":"https://openre.stream/","name":"OpenRe.Stream","description":"OpenRe.Stream is the ingest and restream service split out of OpenVibe.Live: RTMP ingest with stream keys and lifecycle, and restreaming to RTMP, RTMPS and SRT destinations, with WHIP to follow. Broadcasters still go live through OpenVibe.Live until their stream moves over.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openre.stream/#page","url":"https://openre.stream/","name":"OpenRe.Stream — Ingest and restream, in the open.","description":"OpenRe.Stream is the ingest and restream service split out of OpenVibe.Live: RTMP ingest with stream keys and lifecycle, and restreaming to RTMP, RTMPS and SRT destinations, with WHIP to follow. Broadcasters still go live through OpenVibe.Live until their stream moves over.","isPartOf":{"@id":"https://openre.stream/#site"},"datePublished":"2026-09-17","dateModified":"2026-09-28","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenRe.Stream","item":"https://openre.stream/"}]}}]}</script>
++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openre.stream/#site","url":"https://openre.stream/","name":"OpenRe.Stream","description":"OpenRe.Stream is OpenVibe's open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openre.stream/#page","url":"https://openre.stream/","name":"OpenRe.Stream — Go live from your browser, or any encoder, and restream everywhere.","description":"OpenRe.Stream is OpenVibe's open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.","isPartOf":{"@id":"https://openre.stream/#site"},"datePublished":"2026-09-17","dateModified":"2026-09-28","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenRe.Stream","item":"https://openre.stream/"}]}},{"@type":"FAQPage","@id":"https://openre.stream/#faq","mainEntity":[{"@type":"Question","name":"Can I stream without OBS?","acceptedAnswer":{"@type":"Answer","text":"Yes. Go live from your browser on OpenVibe.Live: press Go Live, allow your camera and microphone, and you are live. There is nothing to install."}},{"@type":"Question","name":"Do I need followers or subscribers to go live?","acceptedAnswer":{"@type":"Answer","text":"No. Every OpenVibe account can go live from the first minute, with no follower, subscriber or past-stream requirement."}},{"@type":"Question","name":"Can I stream from a Chromebook or a phone?","acceptedAnswer":{"@type":"Answer","text":"Yes. The broadcaster runs in Chrome, Edge, Firefox and Safari, on ChromeOS, Android and iOS as well as Windows, macOS and Linux."}},{"@type":"Question","name":"Can I restream to Twitch, YouTube and Kick at the same time?","acceptedAnswer":{"@type":"Answer","text":"Yes. One broadcast can go to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT server at once."}},{"@type":"Question","name":"Can I use OBS if I want to?","acceptedAnswer":{"@type":"Answer","text":"Yes. OBS and any RTMP encoder work, and so do WHIP encoders (OBS 30 and later, ffmpeg, GStreamer)."}}]}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=d9b9af081efe" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -94,8 +99,8 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<div class="mark"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div>
<div class="badge"><span class="ov-mark" data-size="16" data-variant="stream"></span> Part of the OpenVibe network · <b>in development</b></div>
<h1>OpenRe<span class="d">.</span><span class="tld">Stream</span></h1>
-- <div class="tag">Ingest and restream, in the open.</div>
-- <p class="lead">OpenRe.Stream is the ingest and restream service split out of OpenVibe.Live: RTMP ingest with stream keys and lifecycle, and restreaming to RTMP, RTMPS and SRT destinations, with WHIP to follow. Broadcasters still go live through OpenVibe.Live until their stream moves over.</p>
++ <div class="tag">Go live from your browser, or any encoder, and restream everywhere.</div>
++ <p class="lead">OpenRe.Stream is OpenVibe&#39;s open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.</p>
<div class="ctas">
<a class="btn btn-primary" href="https://openvibe.network/login?return=https%3A%2F%2Fopenre.stream%2F"><i class="fa-solid fa-right-to-bracket"></i> Sign in with OpenVibe</a>
<a class="btn" href="https://openvibe.network/#network"><i class="fa-solid fa-circle-nodes"></i> The whole network</a>
@@@ -104,14 +109,22 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenRe.Stream" rel="noopener"><code>OpenVibers/OpenRe.Stream</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the stream slots to move from OpenVibe.Live&#39;s ingest to OpenRe.Stream, one at a time; no stream uses it yet. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++ <section class="highlight" aria-labelledby="highlight-h">
++ <div class="hl-card">
++ <h2 id="highlight-h"><i class="fa-solid fa-bolt" aria-hidden="true"></i> Go live from your browser — no OBS needed</h2>
++ <p>Press Go Live, allow your camera and microphone, and you&#39;re live, with your own channel and chat. There&#39;s nothing to install and no follower or subscriber minimum. It works on a Chromebook, a laptop or a phone.</p>
++ <ul><li>No OBS, plug-ins or capture card: WebRTC in the browser, with under a second of delay</li><li>No follower, subscriber or past-stream requirement</li><li>Share your screen, a window or a tab, with your camera over it</li><li>When you want scenes, use OBS or any RTMP or WHIP encoder</li></ul>
++ <div class="ctas"><a class="btn btn-primary" href="https://openvibe.live/broadcast"><i class="fa-solid fa-tower-broadcast"></i> Go live now on OpenVibe.Live</a> <a class="btn" href="https://openvibe.live/docs/go-live-in-your-browser">How browser streaming works</a></div>
++ </div>
++ </section>
<section id="what">
<h2>What OpenRe.Stream will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<div class="grid">
-- <div class="card"><div class="ic"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div><b>Ingest</b><span>RTMP ingest with keys and lifecycle in one place; WHIP/WebRTC and SRT ingest to follow.</span></div>
++ <div class="card"><div class="ic"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div><b>Browser go-live</b><span>Stream from a browser over WebRTC and WHIP, with nothing to install and no follower minimum.</span></div>
++ <div class="card"><div class="ic"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div><b>Ingest</b><span>RTMP ingest with keys and lifecycle in one place, plus WHIP/WebRTC; SRT ingest to follow.</span></div>
<div class="card"><div class="ic"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div><b>Restream</b><span>Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination.</span></div>
-- <div class="card"><div class="ic"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div><b>Status</b><span>Live acknowledgement, errors relayed in plain words, uptime.</span></div>
-- <div class="card"><div class="ic"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div><b>Open</b><span>Run it yourself; the code is on GitHub.</span></div>
++ <div class="card"><div class="ic"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div><b>Open API and SDK</b><span>Streams, sessions and destinations through the OpenVibe API and SDK; run it yourself from GitHub.</span></div>
</div>
</section>
@@@ -124,6 +137,15 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++ <section id="questions" class="faq">
++ <h2>Questions</h2>
++ <details><summary>Can I stream without OBS?</summary><p>Yes. Go live from your browser on OpenVibe.Live: press Go Live, allow your camera and microphone, and you are live. There is nothing to install.</p></details>
++ <details><summary>Do I need followers or subscribers to go live?</summary><p>No. Every OpenVibe account can go live from the first minute, with no follower, subscriber or past-stream requirement.</p></details>
++ <details><summary>Can I stream from a Chromebook or a phone?</summary><p>Yes. The broadcaster runs in Chrome, Edge, Firefox and Safari, on ChromeOS, Android and iOS as well as Windows, macOS and Linux.</p></details>
++ <details><summary>Can I restream to Twitch, YouTube and Kick at the same time?</summary><p>Yes. One broadcast can go to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT server at once.</p></details>
++ <details><summary>Can I use OBS if I want to?</summary><p>Yes. OBS and any RTMP encoder work, and so do WHIP encoders (OBS 30 and later, ffmpeg, GStreamer).</p></details>
++ </section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/openre.stream/manifest.webmanifest b/dist/openre.stream/manifest.webmanifest
iindex 9028df5..c40137f 100644
---- a/dist/openre.stream/manifest.webmanifest
++++ b/dist/openre.stream/manifest.webmanifest
@@@ -1,7 +1,7 @@
{
"name": "OpenRe.Stream",
"short_name": "Stream",
-- "description": "Ingest and restream, in the open.",
++ "description": "Go live from your browser, or any encoder, and restream everywhere.",
"start_url": "/",
"scope": "/",
"display": "standalone",
ddiff --git a/dist/openre.stream/release.json b/dist/openre.stream/release.json
iindex edbf2d0..c484128 100644
---- a/dist/openre.stream/release.json
++++ b/dist/openre.stream/release.json
@@@ -1,6 +1,6 @@
{
"service": "stream",
-- "release": "b134d2ce0564",
++ "release": "17c409245ae7",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/openvibe.coupons/index.html b/dist/openvibe.coupons/index.html
iindex a1cf536..5426a74 100644
---- a/dist/openvibe.coupons/index.html
++++ b/dist/openvibe.coupons/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Coupons" rel="noopener"><code>OpenVibers/OpenVibe.Coupons</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a person to verify a coupons source&#39;s terms and switch it on. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what">
<h2>What OpenVibe.Coupons will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/openvibe.coupons/release.json b/dist/openvibe.coupons/release.json
iindex ccf353b..6ad966f 100644
---- a/dist/openvibe.coupons/release.json
++++ b/dist/openvibe.coupons/release.json
@@@ -1,6 +1,6 @@
{
"service": "coupons",
-- "release": "8ca127445d14",
++ "release": "31ba478c8e98",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/openvibe.deals/index.html b/dist/openvibe.deals/index.html
iindex ab97453..19701d9 100644
---- a/dist/openvibe.deals/index.html
++++ b/dist/openvibe.deals/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Deals" rel="noopener"><code>OpenVibers/OpenVibe.Deals</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a person to verify a deals source&#39;s terms and switch it on. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what">
<h2>What OpenVibe.Deals will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/openvibe.deals/release.json b/dist/openvibe.deals/release.json
iindex 6f85dd4..e9a8762 100644
---- a/dist/openvibe.deals/release.json
++++ b/dist/openvibe.deals/release.json
@@@ -1,6 +1,6 @@
{
"service": "deals",
-- "release": "8a279b02fb34",
++ "release": "57701385bec8",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/openvibe.download/index.html b/dist/openvibe.download/index.html
iindex d6779af..9047264 100644
---- a/dist/openvibe.download/index.html
++++ b/dist/openvibe.download/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Download</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the shared file service on OpenVibe.Media. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what">
<h2>What OpenVibe.Download will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/openvibe.download/release.json b/dist/openvibe.download/release.json
iindex 2ea8cc4..1faaa53 100644
---- a/dist/openvibe.download/release.json
++++ b/dist/openvibe.download/release.json
@@@ -1,6 +1,6 @@
{
"service": "download",
-- "release": "2711990768f6",
++ "release": "1e85cd2bb122",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/openvibe.food/index.html b/dist/openvibe.food/index.html
iindex 7be37fa..de50113 100644
---- a/dist/openvibe.food/index.html
++++ b/dist/openvibe.food/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Food</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the food tools moving over from OpenVibe.Tools. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what">
<h2>What OpenVibe.Food will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/openvibe.food/release.json b/dist/openvibe.food/release.json
iindex e9a73d8..fe6633a 100644
---- a/dist/openvibe.food/release.json
++++ b/dist/openvibe.food/release.json
@@@ -1,6 +1,6 @@
{
"service": "food",
-- "release": "21826779fce2",
++ "release": "a225568d9666",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/openvibe.homes/index.html b/dist/openvibe.homes/index.html
iindex 59e3930..3fd114a 100644
---- a/dist/openvibe.homes/index.html
++++ b/dist/openvibe.homes/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Homes</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for verified listing and records sources. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what">
<h2>What OpenVibe.Homes will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/openvibe.homes/release.json b/dist/openvibe.homes/release.json
iindex 4eaf6c0..5883c01 100644
---- a/dist/openvibe.homes/release.json
++++ b/dist/openvibe.homes/release.json
@@@ -1,6 +1,6 @@
{
"service": "homes",
-- "release": "c536b3da421b",
++ "release": "58060c930b5f",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/openvibe.host/index.html b/dist/openvibe.host/index.html
iindex 88cf57b..29950ed 100644
---- a/dist/openvibe.host/index.html
++++ b/dist/openvibe.host/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Host" rel="noopener"><code>OpenVibers/OpenVibe.Host</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the owner&#39;s go on its launch checklist. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what">
<h2>What OpenVibe.Host will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/openvibe.host/release.json b/dist/openvibe.host/release.json
iindex c93f8c2..d928a8f 100644
---- a/dist/openvibe.host/release.json
++++ b/dist/openvibe.host/release.json
@@@ -1,6 +1,6 @@
{
"service": "host",
-- "release": "aacecab4defd",
++ "release": "2a09d825d22a",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/openvibe.news/index.html b/dist/openvibe.news/index.html
iindex 29bae48..5c19d16 100644
---- a/dist/openvibe.news/index.html
++++ b/dist/openvibe.news/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.News" rel="noopener"><code>OpenVibers/OpenVibe.News</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a person to verify a news source&#39;s terms and an editor to publish the first reviewed story. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what">
<h2>What OpenVibe.News will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/openvibe.news/release.json b/dist/openvibe.news/release.json
iindex a80612a..3dbd35e 100644
---- a/dist/openvibe.news/release.json
++++ b/dist/openvibe.news/release.json
@@@ -1,6 +1,6 @@
{
"service": "news",
-- "release": "533b9656a8d8",
++ "release": "75b6b83fb020",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/openvibe.pics/index.html b/dist/openvibe.pics/index.html
iindex 0f2d128..653b6b2 100644
---- a/dist/openvibe.pics/index.html
++++ b/dist/openvibe.pics/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Pics</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the shared image upload and processing service. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what">
<h2>What OpenVibe.Pics will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/openvibe.pics/release.json b/dist/openvibe.pics/release.json
iindex c40e577..079a204 100644
---- a/dist/openvibe.pics/release.json
++++ b/dist/openvibe.pics/release.json
@@@ -1,6 +1,6 @@
{
"service": "pics",
-- "release": "97633cbc8bd0",
++ "release": "9582f25652e4",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/openvibe.quest/index.html b/dist/openvibe.quest/index.html
iindex 1d518a4..4cbed7a 100644
---- a/dist/openvibe.quest/index.html
++++ b/dist/openvibe.quest/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Quest</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the shared quest service. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what">
<h2>What OpenVibe.Quest will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/openvibe.quest/release.json b/dist/openvibe.quest/release.json
iindex 4dde6ed..09d918b 100644
---- a/dist/openvibe.quest/release.json
++++ b/dist/openvibe.quest/release.json
@@@ -1,6 +1,6 @@
{
"service": "quest",
-- "release": "5626854f0a7a",
++ "release": "c02bb6ca00d4",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/openvibe.rent/index.html b/dist/openvibe.rent/index.html
iindex 1e3ed24..9447181 100644
---- a/dist/openvibe.rent/index.html
++++ b/dist/openvibe.rent/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Rent</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for verified listing sources and the shared discovery system. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what">
<h2>What OpenVibe.Rent will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/openvibe.rent/release.json b/dist/openvibe.rent/release.json
iindex ddf6d84..416ee61 100644
---- a/dist/openvibe.rent/release.json
++++ b/dist/openvibe.rent/release.json
@@@ -1,6 +1,6 @@
{
"service": "rent",
-- "release": "e9d08b0be151",
++ "release": "eb91b4b3c29f",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/openvibe.reviews/index.html b/dist/openvibe.reviews/index.html
iindex acd3695..ababb0e 100644
---- a/dist/openvibe.reviews/index.html
++++ b/dist/openvibe.reviews/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Reviews" rel="noopener"><code>OpenVibers/OpenVibe.Reviews</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a person to verify a review source&#39;s terms and an editor to publish the first reviewed summary. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what">
<h2>What OpenVibe.Reviews will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/openvibe.reviews/release.json b/dist/openvibe.reviews/release.json
iindex e3f4231..fc57132 100644
---- a/dist/openvibe.reviews/release.json
++++ b/dist/openvibe.reviews/release.json
@@@ -1,6 +1,6 @@
{
"service": "reviews",
-- "release": "6db99fa7ee2d",
++ "release": "be102e545ed1",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/openvibe.run/index.html b/dist/openvibe.run/index.html
iindex ba41f25..e6957bb 100644
---- a/dist/openvibe.run/index.html
++++ b/dist/openvibe.run/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Run</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the sandbox runtime. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what">
<h2>What OpenVibe.Run will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/openvibe.run/release.json b/dist/openvibe.run/release.json
iindex 6f70e5e..6bf3642 100644
---- a/dist/openvibe.run/release.json
++++ b/dist/openvibe.run/release.json
@@@ -1,6 +1,6 @@
{
"service": "run",
-- "release": "04eba6abe85f",
++ "release": "c535a3e9f0a3",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/openvibe.services/index.html b/dist/openvibe.services/index.html
iindex 185d92b..5f931e1 100644
---- a/dist/openvibe.services/index.html
++++ b/dist/openvibe.services/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Services</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the console bringing together Codes&#39; portal and the network&#39;s admin surfaces. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what">
<h2>What OpenVibe.Services will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/openvibe.services/release.json b/dist/openvibe.services/release.json
iindex 2d38db9..792880a 100644
---- a/dist/openvibe.services/release.json
++++ b/dist/openvibe.services/release.json
@@@ -1,6 +1,6 @@
{
"service": "services",
-- "release": "43219658d625",
++ "release": "8634e5dd173f",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/openvibe.space/index.html b/dist/openvibe.space/index.html
iindex c79f6a3..2243f46 100644
---- a/dist/openvibe.space/index.html
++++ b/dist/openvibe.space/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Space</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the forum engine moving over from OpenVibe.Community. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what">
<h2>What OpenVibe.Space will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/openvibe.space/release.json b/dist/openvibe.space/release.json
iindex cf2adcd..070ab0d 100644
---- a/dist/openvibe.space/release.json
++++ b/dist/openvibe.space/release.json
@@@ -1,6 +1,6 @@
{
"service": "space",
-- "release": "6a391395c8aa",
++ "release": "4b326ea17646",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/openvibe.tips/index.html b/dist/openvibe.tips/index.html
iindex 50396a5..336e8a9 100644
---- a/dist/openvibe.tips/index.html
++++ b/dist/openvibe.tips/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Tips" rel="noopener"><code>OpenVibers/OpenVibe.Tips</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the payments cutover to OpenVibe.Billing and a security review; tips keep working on OpenVibe.Live meanwhile. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what">
<h2>What OpenVibe.Tips will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/openvibe.tips/release.json b/dist/openvibe.tips/release.json
iindex 694967f..fd90257 100644
---- a/dist/openvibe.tips/release.json
++++ b/dist/openvibe.tips/release.json
@@@ -1,6 +1,6 @@
{
"service": "tips",
-- "release": "9de43c7d6849",
++ "release": "a3068910348d",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/openvibe.trade/index.html b/dist/openvibe.trade/index.html
iindex 252506c..ca372dc 100644
---- a/dist/openvibe.trade/index.html
++++ b/dist/openvibe.trade/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Trade" rel="noopener"><code>OpenVibers/OpenVibe.Trade</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a verified data source and editors adding the first instruments. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what">
<h2>What OpenVibe.Trade will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/openvibe.trade/release.json b/dist/openvibe.trade/release.json
iindex 446e30f..0acb908 100644
---- a/dist/openvibe.trade/release.json
++++ b/dist/openvibe.trade/release.json
@@@ -1,6 +1,6 @@
{
"service": "trade",
-- "release": "07b5ed29423b",
++ "release": "1717c324a005",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/openvibe.video/index.html b/dist/openvibe.video/index.html
iindex 210c80d..88b361e 100644
---- a/dist/openvibe.video/index.html
++++ b/dist/openvibe.video/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Video</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the video service on OpenVibe.Media. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what">
<h2>What OpenVibe.Video will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/openvibe.video/release.json b/dist/openvibe.video/release.json
iindex 011fa24..05a1ef2 100644
---- a/dist/openvibe.video/release.json
++++ b/dist/openvibe.video/release.json
@@@ -1,6 +1,6 @@
{
"service": "video",
-- "release": "b537f0447fe1",
++ "release": "af966edd9843",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/openvibe.vip/index.html b/dist/openvibe.vip/index.html
iindex dd2f29a..3dce450 100644
---- a/dist/openvibe.vip/index.html
++++ b/dist/openvibe.vip/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.VIP" rel="noopener"><code>OpenVibers/OpenVibe.VIP</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the payments cutover to OpenVibe.Billing; checkout stays closed until then. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what">
<h2>What OpenVibe.VIP will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/openvibe.vip/release.json b/dist/openvibe.vip/release.json
iindex e87cb69..8eb7022 100644
---- a/dist/openvibe.vip/release.json
++++ b/dist/openvibe.vip/release.json
@@@ -1,6 +1,6 @@
{
"service": "vip",
-- "release": "cdb1d3ba4fa3",
++ "release": "95a4dfe96647",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/realtime.openvibe.network/index.html b/dist/realtime.openvibe.network/index.html
iindex 7fe5ade..1b60551 100644
---- a/dist/realtime.openvibe.network/index.html
++++ b/dist/realtime.openvibe.network/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>closed</b> · <a href="https://github.com/OpenVibers/OpenVibe.Realtime" rel="noopener"><code>OpenVibers/OpenVibe.Realtime</code></a> is closed and stays as a decision record; no product launches at this address. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what" class="meanwhile">
<h2>Where to go</h2>
<p class="lead2">Realtime delivery for browsers is a part of OpenVibe.Events; the decision and its record are public.</p>
ddiff --git a/dist/realtime.openvibe.network/release.json b/dist/realtime.openvibe.network/release.json
iindex edc386a..69cccd4 100644
---- a/dist/realtime.openvibe.network/release.json
++++ b/dist/realtime.openvibe.network/release.json
@@@ -1,6 +1,6 @@
{
"service": "realtime",
-- "release": "4887ad9c5f1d",
++ "release": "41d3ce573570",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/status.openvibe.network/index.html b/dist/status.openvibe.network/index.html
iindex 9bc2d32..7acff62 100644
---- a/dist/status.openvibe.network/index.html
++++ b/dist/status.openvibe.network/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -112,6 +117,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>status</b> · <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> publishes the status of every OpenVibe service at <a href="https://openvibe.network/status">openvibe.network/status</a>; this address points there. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what" class="meanwhile">
<h2>Where to go</h2>
<p class="lead2">Network&#39;s own observations, stated as seen: a service that has not been checked recently shows as unknown, never as up.</p>
ddiff --git a/dist/status.openvibe.network/release.json b/dist/status.openvibe.network/release.json
iindex 25fb779..1841f08 100644
---- a/dist/status.openvibe.network/release.json
++++ b/dist/status.openvibe.network/release.json
@@@ -1,6 +1,6 @@
{
"service": "status",
-- "release": "2802b1f8728e",
++ "release": "0ed67667e4fd",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/dist/themes.openvibe.network/index.html b/dist/themes.openvibe.network/index.html
iindex 6ea6199..c2e64f2 100644
---- a/dist/themes.openvibe.network/index.html
++++ b/dist/themes.openvibe.network/index.html
@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>not routed yet</b> · <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> is live at <a href="https://openvibe.network/">openvibe.network</a>; this subdomain is not routed to it yet: this page is a placeholder, nothing here is live yet. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
++
<section id="what">
<h2>What themes.openvibe.network will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</section>
++
<section class="net">
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
ddiff --git a/dist/themes.openvibe.network/release.json b/dist/themes.openvibe.network/release.json
iindex c7b1b47..5e5b99d 100644
---- a/dist/themes.openvibe.network/release.json
++++ b/dist/themes.openvibe.network/release.json
@@@ -1,6 +1,6 @@
{
"service": "themes",
-- "release": "c51dc88665a5",
++ "release": "add8d8470c90",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"contracts_version": null,
ddiff --git a/sites.json b/sites.json
iindex 816ad70..9982d13 100644
---- a/sites.json
++++ b/sites.json
@@@ -358,24 +358,24 @@
"name": "OpenRe.Stream",
"icon": "fa-satellite-dish",
"accent": "#ef4444",
-- "tagline": "Ingest and restream, in the open.",
-- "description": "OpenRe.Stream is the ingest and restream service split out of OpenVibe.Live: RTMP ingest with stream keys and lifecycle, and restreaming to RTMP, RTMPS and SRT destinations, with WHIP to follow. Broadcasters still go live through OpenVibe.Live until their stream moves over.",
++ "tagline": "Go live from your browser, or any encoder, and restream everywhere.",
++ "description": "OpenRe.Stream is OpenVibe's open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.",
"pillars": [
++ [
++ "Browser go-live",
++ "Stream from a browser over WebRTC and WHIP, with nothing to install and no follower minimum."
++ ],
[
"Ingest",
-- "RTMP ingest with keys and lifecycle in one place; WHIP/WebRTC and SRT ingest to follow."
++ "RTMP ingest with keys and lifecycle in one place, plus WHIP/WebRTC; SRT ingest to follow."
],
[
"Restream",
"Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination."
],
[
-- "Status",
-- "Live acknowledgement, errors relayed in plain words, uptime."
-- ],
-- [
-- "Open",
-- "Run it yourself; the code is on GitHub."
++ "Open API and SDK",
++ "Streams, sessions and destinations through the OpenVibe API and SDK; run it yourself from GitHub."
]
],
"meanwhile": [
@@@ -390,9 +390,49 @@
"How the restream paths work."
]
],
-- "keywords": "openre stream, rtmp ingest, whip, srt, restream, open source streaming infrastructure",
++ "keywords": "go live from browser, stream without obs, browser streaming, no follower minimum, stream from chromebook, webrtc streaming, whip, rtmp ingest, srt, restream to twitch youtube kick, open source streaming",
"plannedRepo": "OpenRe.Stream",
-- "launch": "the stream slots to move from OpenVibe.Live's ingest to OpenRe.Stream, one at a time; no stream uses it yet"
++ "launch": "the stream slots to move from OpenVibe.Live's ingest to OpenRe.Stream, one at a time; no stream uses it yet",
++ "highlight": {
++ "title": "Go live from your browser — no OBS needed",
++ "text": "Press Go Live, allow your camera and microphone, and you're live, with your own channel and chat. There's nothing to install and no follower or subscriber minimum. It works on a Chromebook, a laptop or a phone.",
++ "points": [
++ "No OBS, plug-ins or capture card: WebRTC in the browser, with under a second of delay",
++ "No follower, subscriber or past-stream requirement",
++ "Share your screen, a window or a tab, with your camera over it",
++ "When you want scenes, use OBS or any RTMP or WHIP encoder"
++ ],
++ "cta": [
++ "Go live now on OpenVibe.Live",
++ "https://openvibe.live/broadcast"
++ ],
++ "more": [
++ "How browser streaming works",
++ "https://openvibe.live/docs/go-live-in-your-browser"
++ ]
++ },
++ "faq": [
++ [
++ "Can I stream without OBS?",
++ "Yes. Go live from your browser on OpenVibe.Live: press Go Live, allow your camera and microphone, and you are live. There is nothing to install."
++ ],
++ [
++ "Do I need followers or subscribers to go live?",
++ "No. Every OpenVibe account can go live from the first minute, with no follower, subscriber or past-stream requirement."
++ ],
++ [
++ "Can I stream from a Chromebook or a phone?",
++ "Yes. The broadcaster runs in Chrome, Edge, Firefox and Safari, on ChromeOS, Android and iOS as well as Windows, macOS and Linux."
++ ],
++ [
++ "Can I restream to Twitch, YouTube and Kick at the same time?",
++ "Yes. One broadcast can go to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT server at once."
++ ],
++ [
++ "Can I use OBS if I want to?",
++ "Yes. OBS and any RTMP encoder work, and so do WHIP encoders (OBS 30 and later, ffmpeg, GStreamer)."
++ ]
++ ]
},
{
"domain": "auth.openvibe.network",