# cemerick/friend

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

Repository: https://github.com/cemerick/friend
Canonical: https://ross.abutalabs.com/products/friend
Language: Clojure
License Family: other
Archived: true
Last push: 2021-03-08T14:41:08+00:00

## Health v2 (maintenance only)
Score: 10/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 5269, "days_push": 2004, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, archived, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1152, forks 121 (observed 2026-08-28T04:03:46.912813+00:00)

## What it is
Friend is an extensible authentication and authorization library for Clojure Ring web applications and services. It provides authentication workflows (form, HTTP Basic, pluggable OAuth/OpenID), role-based authorization, and Ring middleware for securing routes.

## Use cases
- add authentication to a Clojure Ring web app
- implement role-based authorization in a Compojure application
- support form and HTTP Basic login workflows
- plug in custom auth workflows like OAuth or OpenID Connect
- hash passwords with bcrypt from Clojure
- restrict routes behind authentication middleware

## When to choose
- you maintain an existing Clojure/Ring app already using Friend
- you need a purely functional, middleware-based auth approach on Ring

## When to avoid
- starting a new Clojure project - the library is explicitly unmaintained
- you want active maintenance or modern auth features - consider Buddy or forks

## Facets
- artifact type: library
- maturity: abandoned
- function: auth, authorization, middleware
- domain: web-development, backend, security
- platform: jvm, jvm-scripting
- tags: clojure, ring, authentication, authorization, unmaintained

## Member repositories
- cemerick/friend (main) score 10

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:46.912813+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:33:32.258541+00:00, confidence not recorded.
  - readme: https://github.com/cemerick/friend (fetched 2026-08-28T04:03:46.912813+00:00, sha e04adfb26fde)
- Data as of 2026-08-30T08:39:29.467469+00:00.
