page.tsx141 lines · main
| 1 | import Link from 'next/link'; |
| 2 | |
| 3 | import { DocsShell } from '../../components/shell'; |
| 4 | |
| 5 | export const metadata = { title: 'support' }; |
| 6 | |
| 7 | export default function SupportPage() { |
| 8 | return ( |
| 9 | <DocsShell> |
| 10 | <h1 className="font-mono text-2xl tracking-tight">support</h1> |
| 11 | <p className="mt-2 font-mono text-sm text-[var(--color-text-muted)]"> |
| 12 | how to get help, what response time to expect on each tier, and how to report |
| 13 | problems without leaking secrets. |
| 14 | </p> |
| 15 | |
| 16 | <section className="mt-8"> |
| 17 | <h2 className="font-mono text-lg tracking-tight">where to ask</h2> |
| 18 | <ul className="mt-3 flex flex-col gap-2 font-mono text-sm"> |
| 19 | <li> |
| 20 | <strong>community discord</strong> — open to everyone. fastest path for "how |
| 21 | do i…" questions; expect informal answers from the team + community within |
| 22 | an hour or two on Flanders business hours. invite link lands at public-beta open |
| 23 | on <strong>2026-05-21</strong>; until then ping the team via email below. |
| 24 | </li> |
| 25 | <li> |
| 26 | <strong>github issues</strong>{' '} |
| 27 | <Link |
| 28 | href="https://codeberg.org/flndrn/briven/issues" |
| 29 | className="text-[var(--color-text-link)] underline-offset-2 hover:underline" |
| 30 | > |
| 31 | codeberg.org/flndrn/briven |
| 32 | </Link>{' '} |
| 33 | — bug reports + reproducible defects. include the build sha from the dashboard |
| 34 | footer and the relevant audit-log entries (sanitised — see below). |
| 35 | </li> |
| 36 | <li> |
| 37 | <strong>email</strong>{' '} |
| 38 | <a |
| 39 | href="mailto:support@flndrn.com" |
| 40 | className="text-[var(--color-text-link)] underline-offset-2 hover:underline" |
| 41 | > |
| 42 | support@flndrn.com |
| 43 | </a>{' '} |
| 44 | — for paid customers; include your project id and the rough time of the issue. |
| 45 | response targets per tier are on the SLA card in your billing dashboard. |
| 46 | </li> |
| 47 | <li> |
| 48 | <strong>status page</strong>{' '} |
| 49 | <Link |
| 50 | href="/status" |
| 51 | className="text-[var(--color-text-link)] underline-offset-2 hover:underline" |
| 52 | > |
| 53 | docs.briven.tech/status |
| 54 | </Link>{' '} |
| 55 | — check here first if invocations are failing platform-wide. |
| 56 | </li> |
| 57 | </ul> |
| 58 | </section> |
| 59 | |
| 60 | <section className="mt-8"> |
| 61 | <h2 className="font-mono text-lg tracking-tight">what to include in a bug report</h2> |
| 62 | <ol className="mt-3 flex list-decimal flex-col gap-2 pl-5 font-mono text-sm"> |
| 63 | <li> |
| 64 | <strong>build sha</strong> — bottom-right of the dashboard footer. pins which |
| 65 | release you're on so we can correlate with deploy_history. |
| 66 | </li> |
| 67 | <li> |
| 68 | <strong>project id</strong> (<code>p_…</code>) and approximate time of the |
| 69 | failure (UTC). |
| 70 | </li> |
| 71 | <li> |
| 72 | <strong>what you did</strong> — exact steps. for invocations, the function name |
| 73 | and a sanitised version of the args. |
| 74 | </li> |
| 75 | <li> |
| 76 | <strong>what you expected</strong> vs <strong>what you saw</strong> — paste any |
| 77 | error text verbatim. error codes (the <code>code</code> field) are stable; the |
| 78 | message text drifts. |
| 79 | </li> |
| 80 | </ol> |
| 81 | </section> |
| 82 | |
| 83 | <section className="mt-8"> |
| 84 | <h2 className="font-mono text-lg tracking-tight">don't paste</h2> |
| 85 | <ul className="mt-3 flex list-disc flex-col gap-2 pl-5 font-mono text-sm"> |
| 86 | <li> |
| 87 | <strong>api keys</strong> (<code>brk_…</code>). if you suspect one leaked, |
| 88 | revoke it in the dashboard immediately; we'll never ask for a plaintext key |
| 89 | over support. |
| 90 | </li> |
| 91 | <li> |
| 92 | <strong>polar customer ids / payment-method ids</strong> — share the project id |
| 93 | instead. |
| 94 | </li> |
| 95 | <li> |
| 96 | <strong>real personal data from your own customers</strong> when you can avoid |
| 97 | it. for repro, fabricate a single row that triggers the issue. |
| 98 | </li> |
| 99 | </ul> |
| 100 | </section> |
| 101 | |
| 102 | <section className="mt-8"> |
| 103 | <h2 className="font-mono text-lg tracking-tight">security disclosures</h2> |
| 104 | <p className="mt-2 font-mono text-sm text-[var(--color-text-muted)]"> |
| 105 | report security issues to{' '} |
| 106 | <a |
| 107 | href="mailto:security@flndrn.com" |
| 108 | className="text-[var(--color-text-link)] underline-offset-2 hover:underline" |
| 109 | > |
| 110 | security@flndrn.com |
| 111 | </a>{' '} |
| 112 | — encrypted reports welcome (PGP key on{' '} |
| 113 | <Link |
| 114 | href="/trust" |
| 115 | className="text-[var(--color-text-link)] underline-offset-2 hover:underline" |
| 116 | > |
| 117 | /trust |
| 118 | </Link> |
| 119 | ). target acknowledgement is within one business day; we will not pursue legal |
| 120 | action against good-faith research that follows the standard disclosure flow. |
| 121 | </p> |
| 122 | </section> |
| 123 | |
| 124 | <section className="mt-8"> |
| 125 | <h2 className="font-mono text-lg tracking-tight">response targets by tier</h2> |
| 126 | <dl className="mt-3 grid grid-cols-[120px_1fr] gap-y-2 rounded-md border border-[var(--color-border-subtle)] bg-[var(--color-surface)] p-4 font-mono text-sm"> |
| 127 | <dt className="text-[var(--color-text-subtle)]">free</dt> |
| 128 | <dd className="text-[var(--color-text-muted)]"> |
| 129 | community-only; best-effort within ~48h via discord / github |
| 130 | </dd> |
| 131 | <dt className="text-[var(--color-text-subtle)]">pro</dt> |
| 132 | <dd className="text-[var(--color-text-muted)]">email support, 48h target</dd> |
| 133 | <dt className="text-[var(--color-text-subtle)]">team</dt> |
| 134 | <dd className="text-[var(--color-text-muted)]"> |
| 135 | priority email + 99.5% SLA, 24h target on outages |
| 136 | </dd> |
| 137 | </dl> |
| 138 | </section> |
| 139 | </DocsShell> |
| 140 | ); |
| 141 | } |