Safire Documentation
A lean Ruby gem implementing SMART on FHIR and UDAP protocols for clients.
Quick Navigation
| Section | Description |
|---|---|
| Getting Started | Install Safire and quick start guide |
| Configuration | All configuration options and parameters |
| SMART on FHIR | Discovery, Public clients, Confidential clients |
| UDAP | UDAP protocol overview and planned support |
| Security Guide | HTTPS, credential protection, token storage, key rotation |
| Advanced Examples | Caching, multi-server, token management, complete Rails integration |
| Troubleshooting | Common issues and solutions |
| Safire API Docs | Complete YARD documentation |
Features
SMART on FHIR App Launch
- Discovery (
/.well-known/smart-configuration) - Public Client (PKCE)
- Confidential Symmetric Client (client_secret + Basic Auth)
- Confidential Asymmetric Client (private_key_jwt with RS384/ES384)
- POST-Based Authorization
UDAP
Planned. See ROADMAP.md for details (coming soon).
Demo Application
A Sinatra-based demo app is included to help you explore Safire’s features:
bin/demo
Visit http://localhost:4567 to test SMART discovery, authorization flows, and token management.
See examples/sinatra_app/README.md for details.
Community
- GitHub Repository
- Issue Tracker
- Architecture Decision Records — design decisions and rationale
Last updated: March 30, 2026
Parts of this project were developed with AI assistance (Claude Code) and reviewed by maintainers.