Metadata-Version: 2.4
Name: hacs-auth
Version: 0.4.1
Summary: Authentication and authorization components for HACS (Healthcare Agent Communication Standard)
Project-URL: Homepage, https://github.com/solanovisitor/hacs-ai
Project-URL: Documentation, https://github.com/solanovisitor/hacs-ai/blob/main/docs/
Project-URL: Repository, https://github.com/solanovisitor/hacs-ai
Project-URL: Issues, https://github.com/solanovisitor/hacs-ai/issues
Project-URL: Changelog, https://github.com/solanovisitor/hacs-ai/blob/main/CHANGELOG.md
Author-email: Solano Todeschini <solanovisitor@gmail.com>
Maintainer-email: Solano Todeschini <solanovisitor@gmail.com>
License: MIT
Keywords: ai-agents,authentication,authorization,fhir,healthcare,jwt,oauth2
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Healthcare Industry
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
Classifier: Topic :: Security
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: hacs-models>=0.4.0
Requires-Dist: pydantic>=2.11.7
Requires-Dist: pyjwt>=2.10.1
Provides-Extra: dev
Requires-Dist: authlib>=1.3.0; extra == 'dev'
Requires-Dist: httpx>=0.28.0; extra == 'dev'
Requires-Dist: mypy>=1.14.0; extra == 'dev'
Requires-Dist: pre-commit>=4.0.1; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.25.0; extra == 'dev'
Requires-Dist: pytest-cov>=6.0.0; extra == 'dev'
Requires-Dist: pytest>=8.3.3; extra == 'dev'
Requires-Dist: ruff>=0.8.18; extra == 'dev'
Provides-Extra: oauth2
Requires-Dist: authlib>=1.3.0; extra == 'oauth2'
Requires-Dist: httpx>=0.28.0; extra == 'oauth2'
Provides-Extra: test
Requires-Dist: pytest-asyncio>=0.25.0; extra == 'test'
Requires-Dist: pytest-cov>=6.0.0; extra == 'test'
Requires-Dist: pytest>=8.3.3; extra == 'test'
Description-Content-Type: text/markdown

# HACS Authentication

Authentication and authorization components for HACS (Healthcare Agent Communication Standard) providing JWT token management, role-based access control, and comprehensive audit logging.

## Features

- **JWT Token Management**: Healthcare-specific claims with organization context
- **Role-Based Access Control**: 13+ healthcare roles with smart permissions
- **Session Management**: Secure session handling with activity tracking  
- **Audit Logging**: HIPAA-compliant access tracking and compliance reports
- **Healthcare Security**: Security levels, PHI tracking, consent management
- **AI Agent Integration**: Simplified APIs for intelligent healthcare agents

## Installation

```bash
pip install hacs-auth
```

## Quick Start

```python
from hacs_auth import AuthManager, Actor, ActorRole, require_auth

# JWT Authentication
auth_manager = AuthManager()
token = auth_manager.create_access_token(
    user_id="physician-123",
    role="physician", 
    permissions=["read:patient", "write:observation"],
    organization="Mayo Clinic"
)

# Actor Management
actor = Actor(
    name="Dr. Sarah Johnson",
    role=ActorRole.PHYSICIAN,
    organization="Mayo Clinic"
)

# Function Protection
@require_auth(permission="read:patient")
def get_patient_data(patient_id: str, **kwargs):
    token_data = kwargs["token_data"]
    return f"Patient data for {patient_id}"
```

## License

MIT License - see LICENSE file for details.