Skip to content

Commit df55d63

Browse files
committed
Add security and help pages
1 parent 236e2d4 commit df55d63

File tree

3 files changed

+158
-0
lines changed

3 files changed

+158
-0
lines changed

web/pages/help.tsx

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
import {LovePage} from 'web/components/love-page'
2+
import {SEO} from 'web/components/SEO'
3+
import Link from 'next/link'
4+
import {Col} from 'web/components/layout/col'
5+
import {Row} from 'web/components/layout/row'
6+
7+
export default function HelpPage() {
8+
return (
9+
<LovePage trackPageView={'help'} className={'relative p-2 sm:pt-0'}>
10+
<SEO title={`Help`} description={'Get help with Compass'} url={`/help`}/>
11+
<Col className="max-w-3xl w-full mx-auto gap-6 custom-link">
12+
<h1 className="text-3xl font-semibold">Help & Support</h1>
13+
<p className="text-ink-700">
14+
Run into a problem or have a question? This page lists the quickest ways to get help and find answers.
15+
</p>
16+
17+
<section className="space-y-2">
18+
<h2 className="text-xl font-semibold">Quick links</h2>
19+
<ul className="list-disc ml-6 space-y-1">
20+
<li>
21+
Read the <Link href="/faq">FAQ</Link> for common questions
22+
</li>
23+
<li>
24+
Contact us via the <Link href="/contact">contact form</Link>
25+
</li>
26+
<li>
27+
Review our <Link href="/privacy">Privacy Policy</Link> and <Link href="/terms"
28+
>Terms
29+
of Service</Link>
30+
</li>
31+
</ul>
32+
</section>
33+
34+
<section className="space-y-2">
35+
<h2 className="text-xl font-semibold">Report a problem</h2>
36+
<p>
37+
If something isn’t working as expected, please include as much detail as possible (what you did, what you
38+
expected, what happened instead, any screenshots). The fastest way to reach us is the{' '}
39+
<Link href="/contact">contact form</Link>.
40+
</p>
41+
</section>
42+
43+
<section className="space-y-2">
44+
<h2 className="text-xl font-semibold">Account and profile issues</h2>
45+
<ul className="list-disc ml-6 space-y-1">
46+
<li>Can’t sign in? Try signing out and back in, or refresh the page and try again.</li>
47+
<li>Profile updates not showing? Give it a few seconds and refresh. If the issue persists, let us know via
48+
the contact form.
49+
</li>
50+
<li>
51+
Want to delete your account? Go to your profile settings, click the three dots menu in the top right,
52+
and select "Delete Account"
53+
</li>
54+
</ul>
55+
</section>
56+
57+
<section className="space-y-2">
58+
<h2 className="text-xl font-semibold">Security</h2>
59+
<p>
60+
If you believe you’ve found a security vulnerability, please report it responsibly. See our{' '}
61+
<Link href="/security">Security Policy</Link> for details and how to contact us.
62+
</p>
63+
</section>
64+
65+
<section className="space-y-2">
66+
<h2 className="text-xl font-semibold">Still need help?</h2>
67+
<Row className="flex-wrap gap-3">
68+
<Link href="/contact" className="px-3 py-2 rounded-md border border-primary-600 text-ink-700 hover:bg-primary-50">Contact
69+
us</Link>
70+
<Link href="/faq"
71+
className="px-3 py-2 rounded-md border border-primary-600 text-primary-700 hover:bg-primary-50">Browse
72+
FAQ</Link>
73+
</Row>
74+
</section>
75+
</Col>
76+
</LovePage>
77+
)
78+
}

web/pages/organization.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,14 @@ export default function Organization() {
1515
)}
1616
>
1717
<GeneralButton url={'/support'} content={'Support'}/>
18+
<GeneralButton url={'/help'} content={'Help'}/>
1819
<GeneralButton url={'/constitution'} content={'Constitution'}/>
1920
<GeneralButton url={'/vote'} content={'Proposals'}/>
2021
<GeneralButton url={'/financials'} content={'Financials'}/>
2122
<GeneralButton url={'/stats'} content={'Growth & Stats'}/>
2223
<GeneralButton url={'/terms'} content={'Terms and Conditions'}/>
2324
<GeneralButton url={'/privacy'} content={'Privacy Policy'}/>
25+
<GeneralButton url={'/security'} content={'Security'}/>
2426
<GeneralButton url={'/contact'} content={'Contact'}/>
2527
</Col>
2628
</LovePage>

web/pages/security.tsx

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
import {LovePage} from 'web/components/love-page'
2+
import {SEO} from 'web/components/SEO'
3+
import Link from 'next/link'
4+
import {Col} from 'web/components/layout/col'
5+
import {Row} from 'web/components/layout/row'
6+
7+
export default function SecurityPage() {
8+
const email = '[email protected]'
9+
const mailto = `mailto:${email}?subject=${encodeURIComponent('Security vulnerability report')}`
10+
11+
return (
12+
<LovePage trackPageView={'security'} className={'relative p-2 sm:pt-0'}>
13+
<SEO
14+
title={`Security`}
15+
description={'Report security vulnerabilities to the Compass team'}
16+
url={`/security`}
17+
/>
18+
<Col className="max-w-3xl w-full mx-auto gap-6 custom-link">
19+
<h1 className="text-3xl font-semibold">Security</h1>
20+
<p className="text-ink-700">
21+
We take the security of our community seriously. If you believe you have found a vulnerability
22+
or security issue, please report it responsibly so we can investigate and fix it quickly.
23+
</p>
24+
25+
<section className="space-y-2">
26+
<h2 className="text-xl font-semibold">How to report</h2>
27+
<p>
28+
Please do not open public GitHub issues for security reports. Instead, contact us directly via one of the following:
29+
</p>
30+
<ul className="list-disc ml-6 space-y-1">
31+
<li>
32+
Use the <Link href="/contact">contact form</Link> and choose the security category if available.
33+
</li>
34+
<li>
35+
Email us at <a href={mailto}>{email}</a>.
36+
</li>
37+
</ul>
38+
</section>
39+
40+
<section className="space-y-2">
41+
<h2 className="text-xl font-semibold">What to include</h2>
42+
<p>
43+
To help us triage and resolve the issue quickly, please include:
44+
</p>
45+
<ul className="list-disc ml-6 space-y-1">
46+
<li>A clear description of the issue and potential impact</li>
47+
<li>Steps to reproduce (URLs, test accounts, exact requests/responses if applicable)</li>
48+
<li>Any screenshots, videos, or proof-of-concept code</li>
49+
<li>Your operating system, browser, and environment details</li>
50+
</ul>
51+
</section>
52+
53+
<section className="space-y-2">
54+
<h2 className="text-xl font-semibold">Our response</h2>
55+
<p>
56+
We aim to acknowledge new security reports within a few business days and will keep you updated as we investigate and remediate.
57+
Timeframes may vary based on severity and complexity.
58+
</p>
59+
</section>
60+
61+
<section className="space-y-2">
62+
<h2 className="text-xl font-semibold">Out of scope</h2>
63+
<p>
64+
Please avoid tests that could degrade service for other users (e.g., denial of service) or that involve accessing another user’s data without explicit permission.
65+
</p>
66+
</section>
67+
68+
<section className="space-y-2">
69+
<h2 className="text-xl font-semibold">Get in touch</h2>
70+
<Row className="flex-wrap gap-3">
71+
<Link href="/contact" className="px-3 py-2 rounded-md border border-primary-600 text-ink-700 hover:bg-primary-50">Contact form</Link>
72+
<a href={mailto} className="px-3 py-2 rounded-md border border-primary-600 text-ink-700 hover:bg-primary-50">Email {email}</a>
73+
</Row>
74+
</section>
75+
</Col>
76+
</LovePage>
77+
)
78+
}

0 commit comments

Comments
 (0)