briefroom

Sign up or Sign in

or

We'll create an account for you if you don't have one yet.

For AI Agents

briefroom CDN Policy

Upload HTML to briefroom using either relative bundled CSS/JS/fonts or the 7 allowed CDNs. Note: Tailwind Play CDN is classified "unstable" — it renders today but is discouraged for production.

✅ Allowed CDNs (7 origins)

These CDNs are allowed from briefroom delivery domains (judge #45-D + sub-judgement 4):

  • jsDelivr — https://cdn.jsdelivr.net/npm/...
  • cdnjs — https://cdnjs.cloudflare.com/ajax/libs/...
  • unpkg — https://unpkg.com/...
  • esm.sh — https://esm.sh/...
  • Google Fonts (CSS) — https://fonts.googleapis.com/css?...
  • Google Fonts (file) — https://fonts.gstatic.com/s/...
  • Tailwind Play CDN — https://cdn.tailwindcss.com ⚠️ (unstable, see below)

⚠️ Important: Tailwind Play CDN is "unstable" — prefer a pre-built CSS

cdn.tailwindcss.com (Tailwind Play CDN) is allowed in our CSP and, as of 2026-07-16, renders from briefroom delivery domains (*.user-content.briefroom.net). However, Tailwind's side returned 503 to our delivery domains in the past (2026-06-30) and Tailwind officially discourages this CDN for production. Because it can be blocked again without notice, we keep it classified "unstable" and continue to warn on it.

Recommended: bundle a pre-built CSS file, or inline it in a `<style>` tag. If a CDN is required, use jsDelivr.

<!-- ✅ Bundled CSS (npx tailwindcss で生成した static file) -->
<link href="./styles.css" rel="stylesheet">

<!-- ✅ Inline <style> in the HTML (自己完結、最も確実) -->
<style>/* content of styles.css */</style>

<!-- ✅ CDN fallback: Tailwind v3 via jsDelivr -->
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@3.4.17/dist/tailwind.min.css" rel="stylesheet">

<!-- ✅ CDN fallback: Tailwind v4 (browser-only JIT) via jsDelivr -->
<script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>

Recommended approach 1: Relative bundled paths (most reliable)

Resistant to CDN outages and spec changes, ideal for long-term storage.

<!-- ✅ Tailwind bundle (npx tailwindcss で生成した static CSS) -->
<link href="./styles.css" rel="stylesheet">

<!-- ✅ バンドラで build した相対パス JS -->
<script src="./app.js" type="module"></script>

⚠️ Bundling fonts is discouraged

Load fonts via Google Fonts CDN (an allowed CDN on briefroom). Bundling fonts locally is discouraged: Japanese web fonts are multi-MB (Noto Sans JP across all weights exceeds 5 MB), pressing against the 50 MB ZIP limit and cumulative storage. PDF export is unaffected — briefroom auto-embeds Noto at PDF generation time (judge #90).

Quick Start: use Tailwind as a relative path

  1. Locally run npx tailwindcss -i src/input.css -o styles.css --minify
  2. Place the generated styles.css in the same folder as your HTML
  3. <link href="./styles.css" rel="stylesheet"> to include it
  4. Zip the folder and upload it to briefroom

Recommended approach 2: Via allowed CDNs (simple, CDN-dependent)

For quick demos / mockups:

<!-- ✅ Tailwind v3 (jsdelivr 経由、CSS のみ) -->
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@3.4.17/dist/tailwind.min.css" rel="stylesheet">

<!-- ✅ Tailwind v4 (jsdelivr 経由、JIT) -->
<script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>

<!-- ✅ Vue 3 (jsdelivr 経由) -->
<script src="https://cdn.jsdelivr.net/npm/vue@3/dist/vue.global.prod.js"></script>

<!-- ✅ Alpine.js (jsdelivr 経由) -->
<script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3/dist/cdn.min.js"></script>

<!-- ✅ React + ReactDOM (esm.sh 経由) -->
<script type="module">
  import React from 'https://esm.sh/react@18';
  import ReactDOM from 'https://esm.sh/react-dom@18/client';
</script>

<!-- ✅ Google Fonts (Inter family) -->
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap" rel="stylesheet">

<!-- ✅ Font Awesome (cdnjs 経由) -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" rel="stylesheet">

Prompt templates for AI

Claude / ChatGPT / Gemini

Build HTML for briefroom. For Tailwind CSS, bundle a pre-built CSS file (produced by `npx tailwindcss`) or inline it in a `<style>` tag — do not use `cdn.tailwindcss.com` (Tailwind Play CDN is officially discouraged for production and classified "unstable" on briefroom). If you cannot bundle, use `https://cdn.jsdelivr.net/npm/tailwindcss@3.4.17/dist/tailwind.min.css` (jsDelivr) as a CDN fallback. For fonts, Google Fonts `https://fonts.googleapis.com/...` is allowed, or use system-ui. Other JS libs via jsdelivr / cdnjs / unpkg / esm.sh are allowed.

v0 / Cursor / Aider

Output as a single self-contained HTML folder for briefroom. For Tailwind CSS, bundle a pre-built CSS file or inline it in a <style> tag — do not use cdn.tailwindcss.com (Play CDN is discouraged for production, classified "unstable"). If a CDN is required, use https://cdn.jsdelivr.net/npm/tailwindcss@3.4.17/dist/tailwind.min.css. For other JS libs, jsdelivr / cdnjs / unpkg / esm.sh are allowed. Google Fonts are allowed.

Rewrite existing HTML (Tailwind Play CDN → bundled CSS or jsdelivr)

This code uses Tailwind CSS via `cdn.tailwindcss.com` (Play CDN), which is classified "unstable" on briefroom (officially discouraged for production, previously blocked, may stop working without notice). Please rewrite it as one of:

<!-- Preferred: bundle a pre-built CSS file -->
<link href="./styles.css" rel="stylesheet">

<!-- Alternative: jsDelivr -->
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@3.4.17/dist/tailwind.min.css" rel="stylesheet">

Detection scope + warning behavior

briefroom detects external CDN and iframe references in 5 places in your entry HTML and shows them in the warning panel:

  • <link rel="stylesheet" href="https://...">
  • <script src="https://..."></script>
  • <style>@import url("https://...")</style>
  • style="background:url(https://...)"
  • <iframe src="https://..."> (judge #96 — allowlisted embeds are excluded from warnings)

Of the URLs shown in the warning panel:

  • 7 allowed CDNs → actually work (warning is informational)
  • Others → blocked (do not work, must rewrite)
  • Tailwind Play CDN → allowed by CSP and currently rendering, but officially discouraged for production and previously blocked → classified "unstable" and always warns (bundling pre-built CSS is recommended)

Phase X-2 (T4-18, post-MVP) will auto-import detected CDNs into briefroom (fetch → R2 self-host → URL rewrite). After Phase X-2, the 7-origin allowlist will be unnecessary (self-host enables 'self').

Tailwind Play CDN classification (judge #98): Tailwind's side returned 503 on 2026-06-30 and rendering was reconfirmed on 2026-07-16, but given Tailwind's official "not for production" stance and the prior block, we keep it classified "unstable" (warnings continue). The CDN allowlist still permits it, so unchanged HTML still renders.