Skip to content

Conversation

@devin-ai-integration
Copy link
Contributor

@devin-ai-integration devin-ai-integration bot commented Nov 17, 2025

Add Security page for enterprise security teams

Summary

Added a new Security section to the documentation with a comprehensive overview page addressing common security concerns from enterprise security teams evaluating Fern's authentication features. The page covers data storage/privacy (cookie-based, no server persistence), authentication flows (JWT/OAuth), open-source auditability, self-hosted options, and implementation recommendations.

Also fixed an unrelated MDX parse error in cli-changelog/2025-11-14.mdx that was blocking all builds (pre-existing issue from recent changelog update).

Review & Testing Checklist for Human

  • Verify technical accuracy of security claims: Confirm that the statements about cookie storage, no server persistence, and client-side credential handling accurately reflect Fern's actual architecture. This is customer-facing security documentation, so accuracy is critical.
  • Test all internal links: Verify these links work correctly in the preview deployment:
    • /learn/docs/api-references/autopopulate-api-key
    • /learn/docs/authentication/rbac
    • /learn/docs/enterprise/self-hosted
    • GitHub link to fern-api/fern-platform
  • Review in preview deployment: Check that the page renders correctly with proper formatting, the Card component displays properly, and the Security section placement in navigation (between Authentication and Self-hosted) makes sense
  • Confirm completeness: Verify the content addresses all requirements from the original Slack request about auth, API key injection, cookie storage, and open-source auditability
  • Consider Vale suggestions: The linter flagged a few style suggestions (use "doesn't" vs "does not", avoid "our"/"we", avoid "please"). These are non-blocking but worth considering for consistency.

Notes

  • Created in response to Slack request from Catherine Deskur to provide documentation for security teams concerned about enabling auth or API key injection
  • Added changelog entry for the new Security page (2025-11-17.mdx)
  • The MDX parse error fix in cli-changelog/2025-11-14.mdx was unrelated to this PR but was blocking all builds, so I included the trivial fix (escaping curly braces)
  • Local testing video: Local testing

View original video (recording-485ca08d-fad1-4804-a2b0-0274318827cc-edited.mp4)

Link to Devin run: https://app.devin.ai/sessions/b9345db7d83b49099a87879b8a50b9f2
Requested by: Catherine Deskur (catherine@buildwithfern.com)

- Created new Security section in docs navigation
- Added comprehensive security overview page covering:
  - Data storage and privacy (cookie-based, no server persistence)
  - Authentication and API key injection security model
  - Open-source transparency for security audits
  - Self-hosted deployment options
  - Security best practices

This page addresses common security concerns from enterprise teams
evaluating Fern's authentication and API key injection features.

Co-Authored-By: Catherine Deskur <catherine@buildwithfern.com>
@devin-ai-integration
Copy link
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring


## Data storage and privacy

Fern does not persist or store user-sensitive information on our servers. When authentication features like [API key injection](/learn/docs/api-references/autopopulate-api-key) or [RBAC](/learn/docs/authentication/rbac) are enabled, user credentials and tokens are handled exclusively through browser cookies.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Microsoft.Contractions] Use 'doesn't' instead of 'does not'.


## Data storage and privacy

Fern does not persist or store user-sensitive information on our servers. When authentication features like [API key injection](/learn/docs/api-references/autopopulate-api-key) or [RBAC](/learn/docs/authentication/rbac) are enabled, user credentials and tokens are handled exclusively through browser cookies.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[FernStyles.We] Try to avoid using first-person plural like 'our'.


## Security best practices

When implementing Fern's authentication features, we recommend:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[FernStyles.We] Try to avoid using first-person plural like 'we'.


## Questions or concerns

If your security team has additional questions or concerns about Fern's security model, please contact us at [support@buildwithfern.com](mailto:support@buildwithfern.com). We're happy to provide additional documentation, participate in security reviews, or discuss your specific requirements.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] reported by reviewdog 🐶
[FernStyles.Please] Avoid using 'please' in technical documentation.


## Questions or concerns

If your security team has additional questions or concerns about Fern's security model, please contact us at [support@buildwithfern.com](mailto:support@buildwithfern.com). We're happy to provide additional documentation, participate in security reviews, or discuss your specific requirements.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[FernStyles.We] Try to avoid using first-person plural like 'We'.

- Fix MDX parse error in cli-changelog/2025-11-14.mdx by escaping curly braces
- Rename 'Security best practices' to 'Implementation recommendations'
- Add changelog entry for new Security page (2025-11-17.mdx)

The parse error was blocking all builds and was unrelated to the Security
page changes. The curly braces in {API name} needed to be escaped for MDX.

Co-Authored-By: Catherine Deskur <catherine@buildwithfern.com>
@@ -0,0 +1,13 @@
## New Security page
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[FernStyles.Headings] 'New Security page' should use sentence-style capitalization.

@@ -0,0 +1,13 @@
## New Security page

We've added a comprehensive Security page to help enterprise security teams understand how Fern handles user credentials, authentication, and data storage.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[FernStyles.We] Try to avoid using first-person plural like 'We'.

@github-actions
Copy link
Contributor

@devin-ai-integration devin-ai-integration bot changed the title Add Security page to documentation Add Security page for enterprise security teams Nov 17, 2025
@github-actions
Copy link
Contributor

@github-actions
Copy link
Contributor

@github-actions
Copy link
Contributor

@github-actions
Copy link
Contributor

@github-actions
Copy link
Contributor

@github-actions
Copy link
Contributor

@github-actions
Copy link
Contributor

@github-actions
Copy link
Contributor

@kennyderek kennyderek merged commit 60636d5 into main Nov 21, 2025
2 checks passed
@kennyderek kennyderek deleted the devin/1763402341-security-page branch November 21, 2025 22:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants