Skip to content

Commit 60636d5

Browse files
devin-ai-integration[bot]chdeskurdevalogkennyderek
authored
Add Security page for enterprise security teams (#2068)
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Catherine Deskur <[email protected]> Co-authored-by: chdeskur <[email protected]> Co-authored-by: Devin Logan <[email protected]> Co-authored-by: Kenny Derek <[email protected]>
1 parent c6724bd commit 60636d5

File tree

6 files changed

+52
-5
lines changed

6 files changed

+52
-5
lines changed

fern/products/docs/docs.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,11 @@ navigation:
256256
path: ./pages/api-references/autopopulate-api-key.mdx
257257
- page: SSO
258258
path: ./pages/authentication/sso.mdx
259+
- section: Security
260+
collapsed: true
261+
contents:
262+
- page: Overview
263+
path: ./pages/security/overview.mdx
259264
- section: Self-hosted
260265
collapsed: true
261266
contents:

fern/products/docs/pages/api-references/autopopulate-api-key.mdx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,15 @@ subtitle: Make integrating with your API frictionless by adding your login flow
55

66
<Markdown src="/snippets/pro-plan.mdx"/>
77

8-
Fern can integrate with your authentication flow, allowing users to login and have their API key automatically populated with the click of a button.
8+
Fern can integrate with your authentication flow, allowing users to login and have their API key automatically populated with the click of a button.
99

1010
<div style="position: relative; padding-bottom: 66.38846737481032%; height: 0;"><iframe src="https://www.loom.com/embed/790eb5849f1c4622aae09527908fdc7a?sid=d77062f8-35c3-41ab-8669-4c28b62e233b?hide_owner=true&hide_share=true&hide_title=true&hideEmbedTopBar=true" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe></div>
1111

12-
With this feature, you can **create new users of your API** directly from within your documentation.
12+
With this feature, you can **create new users of your API** directly from within your documentation.
13+
14+
<Note>
15+
User credentials are stored only in browser cookies and never transmitted to Fern's servers. Learn more in the [Security overview](/learn/docs/security/overview).
16+
</Note>
1317

1418
## Integrating with your auth flow
1519

fern/products/docs/pages/authentication/overview.mdx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,18 @@ title: Overview of authentication options
33
description: Understand the different authentication options Fern offers
44
---
55

6-
Fern offers two methods of authentication, Single Sign-On (SSO) and Role-Based Access Control (RBAC).
6+
Fern offers two methods of authentication, Single Sign-On (SSO) and Role-Based Access Control (RBAC).
77

88
**For most situations, use RBAC** for granular access control over your documentation. RBAC works well for sites with multiple audiences (internal teams, partners, customers) and supports API key injection to autopopulate code examples.
99

1010
API key injection can be set up using either JWT or OAuth, depending on your existing authentication system.
1111

1212
**SSO is simpler** but only provides basic login functionality - it doesn't support RBAC or API key injection. SSO works well for internal-only documentation where everyone should see the same content.
1313

14+
<Note>
15+
Learn how Fern handles user credentials and authentication in the [Security overview](/learn/docs/security/overview).
16+
</Note>
17+
1418
Learn more about Fern's authentication options:
1519

1620
<CardGroup cols={3}>

fern/products/docs/pages/authentication/rbac.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ roles:
4646
4747
### Configure authentication via a `fern_token`
4848

49-
Fern uses a browser cookie called `fern_token` to identify authenticated users and their roles. If this cookie isn't present when a user tries to access restricted content, Fern redirects them to your login page.
49+
Fern uses a [browser cookie](/learn/docs/security/overview) called `fern_token` to identify authenticated users and their roles. If this cookie isn't present when a user tries to access restricted content, Fern redirects them to your login page.
5050

5151
You can set up this authentication using either JWT or OAuth:
5252

fern/products/docs/pages/enterprise/self-hosted.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: Fern supports self-hosting so that you can run your docs site on yo
55

66
<Markdown src="/snippets/enterprise-plan.mdx" />
77

8-
Fern documentation websites are hosted on Fern's infrastructure by default. Self-hosting allows you to deploy your documentation site on your own infrastructure to meet specific security or compliance requirements.
8+
Fern documentation websites are hosted on Fern's infrastructure by default. Self-hosting allows you to deploy your documentation site on your own infrastructure to meet specific [security](/learn/docs/security/overview) or compliance requirements.
99

1010
## When to use self-hosting
1111

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
title: Security
3+
description: Learn how Fern handles authentication and user credentials in documentation sites.
4+
---
5+
6+
Fern's documentation platform is built with security as a core principle, using a client-side architecture for authentication and credential handling. User credentials and sensitive data are stored only in browser cookies and never transmitted to Fern's servers.
7+
8+
<Note title="Security questions">
9+
Contact [email protected] for security reviews, additional documentation, or specific compliance requirements.
10+
</Note>
11+
12+
## Authentication and API key injection
13+
14+
Fern supports [multiple authentication methods](/learn/docs/authentication/overview) to secure your documentation. All methods use a client-side `fern_token` cookie stored entirely in the browser:
15+
16+
- [Role-Based Access Control (RBAC)](/learn/docs/authentication/rbac) controls which users can access specific documentation content based on their roles (stores user roles)
17+
- [API key injection](/learn/docs/authentication/api-key-injection) automatically populates code examples with user-specific API keys for a personalized experience (stores authentication tokens via JWT or OAuth)
18+
- [Single Sign-On (SSO)](/learn/docs/authentication/sso) integrates with your existing identity provider for seamless authentication (stores identity provider tokens)
19+
20+
These cookies are managed entirely client-side and automatically cleared when the user logs out or the session expires. This approach ensures that sensitive credentials remain under your control and are never exposed to Fern's infrastructure.
21+
22+
## Open-source transparency
23+
24+
Fern's documentation frontend is [open-source](https://github.com/fern-api/fern-platform) with no hidden processes, allowing security teams to audit the code that handles user credentials and authentication.
25+
26+
You can review:
27+
- How cookies are stored and accessed
28+
- How API keys are injected into code examples
29+
- How authentication tokens are handled
30+
- The complete client-side authentication flow
31+
32+
## Self-hosted deployments
33+
34+
For organizations that operate in air-gapped environments or need full control over documentation servers, Fern offers [self-hosted deployments](/learn/docs/enterprise/self-hosted).

0 commit comments

Comments
 (0)