Watchtower-Course-Project

ADR-0006: Use Clerk for WatchTower Authentication

Status

Approved

Date

2026-05-30


Context

WatchTower requires user authentication to support:

Building authentication from scratch would require implementing:

This would add security risk and development overhead that is outside the core scope of WatchTower.


Decision

Use Clerk as the authentication provider for WatchTower.

Clerk will handle:


Rationale


Alternatives Considered

Custom Authentication

Rejected because it would require implementing and maintaining sensitive security functionality, including password hashing, session handling, password resets, and account protection.

Auth0

Rejected because it adds more configuration and platform complexity than needed for the current WatchTower scope.

Firebase Authentication

Rejected because it would couple authentication more closely with the Firebase ecosystem, while WatchTower is currently built around a Node.js and SQLite architecture.


Consequences

Positive

Negative


Conclusion

Clerk was selected because it provides a secure, developer-friendly authentication layer that aligns with WatchTower’s lightweight MVP goals while supporting future expansion into protected dashboards, user-owned projects, and team-based access control.