Pick any line to see why it is the way it is: the commit, the pull request and issue it came from, and what the agent was thinking.
| Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look | 1 | import type { Route } from "./+types/security"; |
| 2 | import { Contents, PolicyText, TrustPage, outline } from "../components/legal-doc"; | |
| 3 | import { CONTACT } from "../lib/legal"; | |
| 4 | import { page } from "../lib/meta"; | |
| 5 | import text from "../content/security.md?raw"; | |
| 6 | ||
| 7 | export function meta(args: Route.MetaArgs) { | |
| 8 | return page(args, { | |
| 9 | title: "Security · g1t", | |
| 10 | description: | |
| 11 | "How g1t protects your code, accounts and agents: per-run credentials, the audit log, guardrails, isolated sandboxes and push protection. And how to report a vulnerability.", | |
| 12 | }); | |
| 13 | } | |
| 14 | ||
| 15 | export default function Security() { | |
| 16 | return ( | |
| 17 | <TrustPage | |
| 18 | eyebrow="Security" | |
| 19 | title="How g1t keeps your code and accounts safe" | |
| 20 | lede={ | |
| 21 | <p> | |
| 22 | What we actually do to protect what you build on g1t, and what we haven't built yet. Found a problem? Write | |
| 23 | to{" "} | |
| 24 | <a className="text-accent hover:underline" href={`mailto:${CONTACT.security}`}> | |
| 25 | {CONTACT.security} | |
| 26 | </a> | |
| 27 | . | |
| 28 | </p> | |
| 29 | } | |
| 30 | aside={<Contents items={outline(text)} />} | |
| 31 | > | |
| 32 | <PolicyText source={text} /> | |
| 33 | </TrustPage> | |
| 34 | ); | |
| 35 | } |