Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Clojure
  3. bolt

bolt

MITClojure

An integrated security system for Clojure applications built on Stuart Sierra's component library.

GitHubGitHub
121 stars9 forks0 contributors

What is bolt?

Bolt is an integrated security system for Clojure web applications built on Stuart Sierra's component library. It provides a comprehensive, pluggable framework that separates security concerns from application logic, addressing the lack of robust security solutions in the Clojure ecosystem. The system enables developers to implement authentication, authorization, and other security features as modular components.

Target Audience

Clojure developers building larger web applications with multiple modules, especially those using Liberator or yada for REST APIs. It's suitable for teams needing a maintainable, integrated security framework rather than assembling standalone libraries.

Value Proposition

Developers choose Bolt because it offers an integrated, component-based security system specifically designed for Clojure's modular applications. Unlike alternatives like Friend, Bolt is built on Stuart Sierra's component library, providing better modularity, comprehensibility, and flexibility for complex applications.

Overview

An integrated security system for applications built on component

Use Cases

Best For

  • Securing large Clojure web applications with multiple modules
  • Building modular security systems with pluggable components
  • Implementing authentication and authorization in component-based architectures
  • Developing REST APIs with Liberator or yada that require integrated security
  • Teams needing a comprehensible, maintainable security framework for Clojure
  • Projects requiring protocol polymorphism for security customization

Not Ideal For

  • Small Clojure web applications with only Compojure routes and no need for modular components
  • Production systems requiring a stable, version 1.0 security framework immediately
  • Teams preferring dynamic vars or simpler, non-component-based architectures over protocol polymorphism
  • Projects that don't use Stuart Sierra's component library and aren't willing to adopt it

Pros & Cons

Pros

Integrated Security Framework

Provides a complete set of security components out-of-the-box, eliminating the need to assemble disparate libraries, as emphasized in the README's goal to fill the Clojure security gap.

Modular Component Design

Built on Stuart Sierra's component library, enabling composable and maintainable security systems for larger applications, specifically targeting modular setups with Liberator or yada.

Protocol Polymorphism

Consistently adopts Clojure's protocol polymorphism for flexibility and extensibility, allowing easy customization without relying on dynamic vars, as noted in the README discussion.

Pluggable Components

Allows interchange of components for bespoke needs, offering adaptability for custom applications without overhauling the entire security system.

Cons

Pre-Production Status

The README explicitly states Bolt is not suitable for production until version 1.0, as it hasn't undergone thorough peer review or deployment, limiting its use in critical systems.

Complexity Overhead

Designed for larger applications, it introduces a steeper learning curve with component-based architecture and protocol polymorphism, making it overkill for simpler projects.

Limited Ecosystem

As a pre-1.0 project, it has fewer community resources, third-party integrations, and documentation compared to established alternatives like Friend, potentially slowing development.

Frequently Asked Questions

Quick Stats

Stars121
Forks9
Contributors0
Open Issues9
Last commit11 years ago
CreatedSince 2014

Tags

#modular-architecture#web-security#authentication#rest-api#authorization#component-library#clojure

Built With

C
Clojure
c
component

Included in

Clojure2.8k
Auto-fetched 16 hours ago

Related Projects

FriendFriend

An extensible authentication and authorization library for Clojure Ring web applications and services.

Stars1,152
Forks121
Last commit5 years ago
BuddyBuddy

Security library for Clojure

Stars841
Forks37
Last commit5 years ago
caesiumcaesium

Modern cryptography (libsodium/NaCl) for Clojure

Stars182
Forks28
Last commit2 years ago
secrets.cljsecrets.clj

A library designed to generate cryptographically strong random numbers suitable for managing data such as passwords, account authentication, security tokens, and related secrets.

Stars98
Forks2
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub