Skip to content
Of Ash and Fire Logo

HIPAA-Compliant API Development: Securing PHI in Transit and at Rest

Learn how to build HIPAA-compliant APIs with proper PHI encryption, authentication patterns, and audit logging. Covers the 2026 Security Rule mandate for...

·17 min read
healthcarehipaaapisecuritycompliance

Written by Daniel Ashcraft 12+ years building HIPAA-compliant software for healthcare organizations, including EHR integrations (Epic, Cerner), telemedicine platforms, and clinical decision support systems.

This article is informed by hands-on healthcare software development experience. For legal compliance decisions, consult qualified healthcare compliance counsel.

Understanding HIPAA API Development Requirements

Healthcare APIs handle some of the most sensitive data imaginable: patient diagnoses, medication histories, lab results, and mental health records. The 2026 HIPAA Security Rule update eliminated any ambiguity around API security—encryption is now mandatory, not merely addressable. For healthcare software development teams, this means every endpoint, authentication mechanism, and data transfer point must meet stringent security standards.

Building HIPAA-compliant APIs requires more than adding HTTPS to your endpoints. You need defense-in-depth strategies that protect protected health information (PHI) at every layer: during transmission, while stored in databases, in application memory, and even in log files. The stakes are enormous—the average healthcare data breach costs $10.93 million according to IBM's 2025 Cost of a Data Breach Report, and HIPAA violations can result in fines up to $1.5 million per violation category per year.

This guide walks through the technical architecture decisions that separate compliant healthcare APIs from those that create liability risks.

The 2026 HIPAA Security Rule Update: What Changed for APIs

The February 2026 update to the HIPAA Security Rule transformed encryption from an "addressable" implementation specification to a "required" one. Previously, covered entities could document alternative safeguards if encryption wasn't feasible. That flexibility is gone.

For API development, this means:

  • TLS 1.3 or higher is required for all data transmission containing ePHI (electronically protected health information)
  • Database-level encryption (AES-256) must protect PHI at rest, with proper key management
  • API authentication tokens must be encrypted when stored and transmitted
  • Audit logs containing PHI require encryption and cannot be stored in plaintext
  • API documentation and error messages cannot expose PHI in unencrypted formats

The Office for Civil Rights (OCR) now expects technical documentation proving encryption implementation during audits. "We've seen a significant shift in enforcement focus," notes a fictional CISO at a multi-hospital health system. "OCR auditors are asking for encryption key rotation policies, TLS configuration files, and proof that we're not logging PHI in plaintext. It's no longer sufficient to say you're HIPAA compliant—you need to show the technical controls."

API Authentication: Beyond Basic Credentials

Password-based authentication is inadequate for healthcare APIs. The authentication layer must provide:

  • Strong identity verification
  • Granular access control to specific PHI resources
  • Audit trails of who accessed what PHI and when
  • Token expiration and revocation capabilities
  • Protection against replay attacks

OAuth 2.0 with Short-Lived Tokens

OAuth 2.0 has become the de facto standard for healthcare API authentication, particularly when implementing patient portal integrations and healthcare software development projects. The protocol separates authentication from resource access, allowing fine-grained control over what PHI each API client can access.

Here's a HIPAA-hardened OAuth 2.0 flow pattern:

// Authorization server issues access token
POST /oauth/token
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials
&client_id=healthcare_app_2826
&client_secret=ENCRYPTED_SECRET
&scope=patient:read patient:write

// Response includes short-lived token
{
  "access_token": "eyJhbGciOiJSUzI1NiIs...",
  "token_type": "Bearer",
  "expires_in": 900,  // 15 minutes
  "scope": "patient:read patient:write",
  "refresh_token": "encrypted_refresh_token"
}

// Client uses token to access PHI
GET /api/v2/patients/12345/records
Authorization: Bearer eyJhbGciOiJSUzI1NiIs...
X-Request-ID: unique-audit-trail-id

Critical HIPAA considerations for OAuth tokens:

  • Token expiration: Access tokens should expire within 15-30 minutes. Longer durations increase the window of vulnerability if tokens are compromised.
  • Scope limitations: Define granular scopes like patient:demographics:read vs. patient:clinical:read to limit PHI exposure.
  • Refresh token rotation: Issue new refresh tokens with each use and invalidate old ones to detect token theft.
  • Secure storage: Never store tokens in browser localStorage or mobile app shared preferences. Use secure keychains or encrypted storage.

JWT (JSON Web Tokens) with Enhanced Security

JWTs provide stateless authentication, reducing database lookups for each API request. However, standard JWT implementations have security gaps that are unacceptable for PHI:

// HIPAA-hardened JWT structure
{
  "header": {
    "alg": "RS256",  // RSA signatures required, not HS256
    "typ": "JWT",
    "kid": "key-rotation-id-2026-03"
  },
  "payload": {
    "sub": "clinician_id_8392",
    "iss": "healthcare_auth_service",
    "aud": "api.healthsystem.com",
    "exp": 1709654400,  // 15-minute expiration
    "iat": 1709653500,
    "jti": "unique-token-id",  // Prevents replay attacks
    "scope": "patient:read",
    "facility_id": "hospital_west_campus"
  },
  "signature": "RSASHA256(base64UrlEncode(header) + '.' + base64UrlEncode(payload), private_key)"
}

HIPAA JWT security requirements:

  • Algorithm selection: Use RS256 (RSA with SHA-256) or ES256 (ECDSA with SHA-256). Never use symmetric algorithms like HS256 where clients hold the signing key.
  • JTI claims: Include unique JWT IDs to maintain a revocation list and prevent replay attacks.
  • Payload minimization: Never include PHI in JWT payloads—JWTs are encoded, not encrypted. Include only non-PHI identifiers.
  • Key rotation: Rotate signing keys quarterly and maintain a JWKS (JSON Web Key Set) endpoint for public key distribution.

"We implemented JWT-based authentication for our patient portal API and immediately hit HIPAA compliance issues. Our tokens were including patient names and email addresses in the payload—technically accessible to anyone who intercepted the token. We redesigned to include only opaque patient IDs and moved PHI retrieval to subsequent authenticated API calls."

— CTO, Regional Healthcare Network (fictional)

Encrypting PHI in Transit: TLS Configuration Deep Dive

Transport Layer Security (TLS) protects PHI as it moves from client to server. The 2026 HIPAA update mandates TLS 1.3 or higher, but proper configuration involves more than enabling a protocol version.

TLS 1.3 Configuration for Healthcare APIs

// Nginx TLS configuration example
server {
    listen 443 ssl http2;
    server_name api.healthcaresystem.com;

    # TLS 1.3 only (no fallback to 1.2)
    ssl_protocols TLSv1.3;
    
    # Strong cipher suites only
    ssl_ciphers TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256;
    ssl_prefer_server_ciphers on;

    # Certificate configuration
    ssl_certificate /etc/ssl/certs/api.healthcaresystem.com.crt;
    ssl_certificate_key /etc/ssl/private/api.healthcaresystem.com.key;

    # OCSP stapling (verify cert validity without client lookup)
    ssl_stapling on;
    ssl_stapling_verify on;

    # HSTS (force HTTPS for 1 year)
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

    # Prevent MIME sniffing
    add_header X-Content-Type-Options "nosniff" always;

    # Disable embedding in frames (prevent clickjacking)
    add_header X-Frame-Options "DENY" always;

    # Proxy to application server
    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
    }
}

Key TLS security measures:

  • Certificate management: Use certificates from trusted Certificate Authorities (CAs). Implement automated renewal (Let's Encrypt with ACME protocol) to prevent expiration.
  • Perfect Forward Secrecy: TLS 1.3 ciphers provide this by default. Even if your private key is compromised later, past communications remain encrypted.
  • HSTS headers: Force browsers and clients to use HTTPS, preventing protocol downgrade attacks.
  • Certificate pinning (mobile apps): For mobile healthcare apps, pin the expected certificate or public key to prevent man-in-the-middle attacks via rogue CAs.

API Gateway TLS Termination Considerations

Many healthcare organizations use API gateways (AWS API Gateway, Kong, Apigee) that terminate TLS before passing requests to backend services. This creates a compliance gap if the internal network traffic is unencrypted.

HIPAA-compliant gateway architecture:

  • Re-encryption: After TLS termination at the gateway, re-encrypt traffic to backend services using mTLS (mutual TLS).
  • Network isolation: Backend services should run in private subnets with no internet access, accessible only through the gateway.
  • Gateway audit logging: Log all decryption/re-encryption events for security audits.

Protecting PHI at Rest: Database and Storage Encryption

PHI stored in databases, file systems, and caches requires encryption at rest. The 2026 HIPAA update closed previous loopholes—encryption is now mandatory regardless of your risk analysis.

Database-Level Encryption (AES-256)

Modern databases offer multiple encryption approaches:

  • Transparent Data Encryption (TDE): Encrypts entire database files at the storage layer. Easy to implement but offers limited granularity.
  • Column-level encryption: Encrypts specific PHI columns (patient names, SSNs, diagnoses). Allows non-PHI queries without decryption overhead.
  • Application-level encryption: Encrypt PHI before writing to the database. Maximum control but increases complexity.
-- PostgreSQL column-level encryption example
-- Using pgcrypto extension

CREATE EXTENSION IF NOT EXISTS pgcrypto;

-- Insert encrypted PHI
INSERT INTO patients (
    patient_id,
    encrypted_ssn,
    encrypted_diagnosis,
    date_of_birth  -- Non-PHI, stored as plaintext for queries
) VALUES (
    '12345',
    pgp_sym_encrypt('123-45-6789', 'encryption_key_from_vault'),
    pgp_sym_encrypt('Type 2 Diabetes', 'encryption_key_from_vault'),
    '1985-03-15'
);

-- Query with decryption (requires key access)
SELECT 
    patient_id,
    pgp_sym_decrypt(encrypted_ssn::bytea, 'encryption_key_from_vault') AS ssn,
    pgp_sym_decrypt(encrypted_diagnosis::bytea, 'encryption_key_from_vault') AS diagnosis,
    date_of_birth
FROM patients
WHERE patient_id = '12345';

Encryption Key Management

The weakest link in PHI encryption is often key management. Storing encryption keys alongside encrypted data is like locking a safe and leaving the key taped to the door.

HIPAA key management best practices:

  • Hardware Security Modules (HSMs): FIPS 140-2 Level 3 certified HSMs for key generation and storage. AWS KMS, Azure Key Vault, and Google Cloud KMS provide managed HSM services.
  • Key rotation: Rotate encryption keys annually at minimum. Re-encrypt PHI with new keys during rotation cycles.
  • Separation of duties: Database administrators should not have access to encryption keys. Use role-based access control (RBAC) in key management systems.
  • Key versioning: Maintain multiple key versions to decrypt historical PHI while encrypting new data with current keys.
// AWS KMS key rotation example
const AWS = require('aws-sdk');
const kms = new AWS.KMS({ region: 'us-east-1' });

// Enable automatic key rotation (365-day cycle)
await kms.enableKeyRotation({
    KeyId: 'arn:aws:kms:us-east-1:123456789:key/phi-encryption-key'
}).promise();

// Encrypt PHI using KMS
const encryptedData = await kms.encrypt({
    KeyId: 'arn:aws:kms:us-east-1:123456789:key/phi-encryption-key',
    Plaintext: Buffer.from('Patient SSN: 123-45-6789')
}).promise();

// Store encryptedData.CiphertextBlob in database

Handling PHI in API Request and Response Bodies

Every API endpoint that touches PHI requires careful design to minimize exposure and maintain audit trails.

Request Body Security

When clients send PHI to your API (creating patient records, submitting lab results), several risks emerge:

  • Web server access logs: Default configurations often log complete request bodies containing PHI.
  • API gateway logging: Managed services may log request payloads to CloudWatch, Stackdriver, or similar services.
  • Error reporting tools: Sentry, Rollbar, and similar tools capture request context during errors.

Mitigation strategies:

// Express.js middleware to sanitize logs
const sanitizePHI = (req, res, next) => {
    // Store original body for processing
    req.originalBody = req.body;

    // Create sanitized version for logging
    req.sanitizedBody = {
        ...req.body,
        ssn: req.body.ssn ? '[REDACTED]' : undefined,
        diagnosis: req.body.diagnosis ? '[REDACTED]' : undefined,
        patient_name: req.body.patient_name ? '[REDACTED]' : undefined
    };

    // Override default logger to use sanitized version
    req.log = req.log.child({ body: req.sanitizedBody });
    
    next();
};

app.use(sanitizePHI);

// API endpoint logs sanitized data
app.post('/api/v2/patients', async (req, res) => {
    req.log.info('Creating patient record');  // Logs redacted body
    
    // Process with original PHI
    const patient = await createPatient(req.originalBody);
    
    res.json({ patient_id: patient.id });
});

Response Body Filtering

API responses should return only the PHI necessary for the client's specific use case. Avoid "kitchen sink" responses that include entire patient records when only demographics are needed.

// Bad: Returns all PHI regardless of need
GET /api/v2/patients/12345
{
    "patient_id": "12345",
    "full_name": "Jane Doe",
    "ssn": "123-45-6789",
    "date_of_birth": "1985-03-15",
    "diagnosis": "Type 2 Diabetes",
    "medications": ["Metformin", "Lisinopril"],
    "lab_results": { "A1C": "7.2%" },
    "insurance": { "provider": "Blue Cross", "member_id": "ABC123" }
}

// Good: Scope-based filtering
GET /api/v2/patients/12345?scope=demographics
{
    "patient_id": "12345",
    "full_name": "Jane Doe",
    "date_of_birth": "1985-03-15"
}

GET /api/v2/patients/12345?scope=clinical
{
    "patient_id": "12345",
    "diagnosis": "Type 2 Diabetes",
    "medications": ["Metformin", "Lisinopril"],
    "lab_results": { "A1C": "7.2%" }
}

This approach aligns with the HIPAA "minimum necessary" standard—provide only the PHI required for the intended purpose.

Audit Logging: The HIPAA Compliance Paper Trail

HIPAA's Audit Controls standard (45 CFR § 164.312(b)) requires mechanisms to record and examine access to ePHI. For APIs, this means logging every PHI access, modification, and deletion.

What to Log for HIPAA Compliance

Each audit log entry for PHI access should capture:

  • Who: User ID, role, and authentication method
  • What: Specific PHI accessed (patient ID, record type, fields retrieved)
  • When: Timestamp with timezone (ISO 8601 format)
  • Where: Source IP address, geographic location (if available), user agent
  • How: API endpoint, HTTP method, request ID for correlation
  • Why: Purpose of access (treatment, payment, operations) if available
  • Result: Success or failure, error codes if applicable
// Audit log entry structure
{
    "event_id": "audit-2026-03-12-18293847",
    "timestamp": "2026-03-12T14:32:18.293Z",
    "user_id": "clinician_8392",
    "user_role": "physician",
    "authentication_method": "oauth2_client_credentials",
    "action": "read",
    "resource_type": "patient_clinical_record",
    "patient_id": "12345",
    "phi_fields_accessed": ["diagnosis", "medications", "lab_results"],
    "api_endpoint": "/api/v2/patients/12345/clinical",
    "http_method": "GET",
    "source_ip": "10.0.24.15",
    "user_agent": "HealthcareApp/3.2.1 (iOS 17.4)",
    "request_id": "req-847392",
    "access_purpose": "treatment",
    "result": "success",
    "response_code": 200
}

Securing Audit Logs

Audit logs often contain PHI (patient IDs, record types) and must be encrypted at rest. Additionally:

  • Immutability: Use write-once storage or blockchain-style hashing to prevent tampering. AWS CloudWatch Logs with retention locks or Azure Monitor Logs with immutable storage work well.
  • Separation from application data: Store audit logs in separate systems to prevent application-level compromises from erasing the audit trail.
  • Retention: HIPAA requires maintaining audit logs for six years. Implement automated archival to compliant long-term storage.
  • Access restrictions: Only security and compliance personnel should access audit logs. Log all access to audit logs (meta-auditing).

"During our last OCR audit, they requested three years of API access logs showing who viewed specific patient records. We had logs, but they were stored in plaintext and commingled with application logs. We spent two weeks extracting and organizing them. Now we use a dedicated SIEM with HIPAA-specific log retention policies."

— CISO, Multi-Specialty Medical Group (fictional)

Rate Limiting and DDoS Protection for Healthcare APIs

While not explicitly required by HIPAA, availability is part of the Security Rule's Administrative Safeguards (contingency planning). Healthcare APIs must remain accessible during attacks or traffic surges.

Rate Limiting Implementation

Rate limiting prevents abuse and ensures fair resource allocation:

// Redis-based rate limiting example
const Redis = require('redis');
const redis = Redis.createClient();

async function checkRateLimit(userId, endpoint) {
    const key = `ratelimit:${userId}:${endpoint}`;
    const limit = 100;  // 100 requests
    const window = 60;  // per 60 seconds

    const current = await redis.incr(key);
    
    if (current === 1) {
        await redis.expire(key, window);
    }

    if (current > limit) {
        return {
            allowed: false,
            retryAfter: await redis.ttl(key)
        };
    }

    return {
        allowed: true,
        remaining: limit - current
    };
}

// API middleware
app.use(async (req, res, next) => {
    const rateLimit = await checkRateLimit(req.user.id, req.path);
    
    if (!rateLimit.allowed) {
        return res.status(429).json({
            error: 'Rate limit exceeded',
            retry_after: rateLimit.retryAfter
        });
    }

    res.set('X-RateLimit-Remaining', rateLimit.remaining);
    next();
});

HIPAA-specific rate limiting considerations:

  • Per-user vs. per-IP: Use authenticated user IDs for rate limiting rather than IP addresses. Healthcare facilities often share NAT gateways, making IP-based limits ineffective.
  • Differentiated limits: Clinical users may need higher limits than administrative users. Emergency access scenarios may require bypass mechanisms.
  • Graceful degradation: During high load, prioritize PHI read access over write operations to maintain care continuity.

DDoS Protection Layers

  • Network layer: AWS Shield, Cloudflare, or similar services to block volumetric attacks before they reach your infrastructure.
  • Application layer: Web Application Firewalls (WAF) to filter malicious requests targeting API endpoints.
  • Geographic restrictions: If your healthcare organization only operates in specific regions, block traffic from other countries.
  • Health checks and failover: Implement active health monitoring with automatic failover to standby infrastructure.

API Versioning for Compliance Evolution

HIPAA requirements evolve (as the 2026 update demonstrated). Your API architecture must support compliance changes without breaking existing integrations.

URL-Based Versioning

// Version 1 (pre-2026 encryption rules)
GET /api/v1/patients/12345
{
    "patient_id": "12345",
    "full_name": "Jane Doe",
    "ssn": "123-45-6789"  // Weakly encrypted
}

// Version 2 (post-2026 mandatory encryption)
GET /api/v2/patients/12345
{
    "patient_id": "12345",
    "full_name": "Jane Doe",
    "ssn_encrypted": "ENC[AES256:8a9f2c...]"  // Encrypted with AES-256
}

// Deprecation timeline
// v1: Deprecated March 2026, sunset September 2026
// v2: Current version, supports all 2026 HIPAA requirements

Version management best practices:

  • Minimum six-month deprecation period: Give clients time to migrate before sunsetting old API versions.
  • Backward compatibility within versions: Additive changes (new fields) don't require new versions. Breaking changes (removing fields, changing data types) do.
  • Documentation of compliance requirements: Clearly document which HIPAA requirements each API version satisfies.
  • Forced migration for critical security updates: If a vulnerability is discovered, sunset vulnerable versions immediately rather than maintaining them for backward compatibility.

Error Handling Without PHI Leakage

API error messages must be informative for developers without exposing PHI or security vulnerabilities.

// Bad: Exposes PHI and database structure
{
    "error": "Failed to update patient Jane Doe (SSN: 123-45-6789). Database constraint violation on column 'diagnosis_code'. Query: UPDATE patients SET diagnosis_code='E11.9' WHERE patient_id=12345"
}

// Good: Generic error with correlation ID for support
{
    "error": "Unable to update patient record",
    "error_code": "PATIENT_UPDATE_FAILED",
    "error_id": "err-2026-03-12-8473",
    "message": "Please contact support with this error ID for assistance"
}

// Internal log (not exposed to client)
{
    "error_id": "err-2026-03-12-8473",
    "timestamp": "2026-03-12T14:32:18.293Z",
    "user_id": "clinician_8392",
    "patient_id": "12345",
    "operation": "update_diagnosis",
    "database_error": "foreign key constraint violation on diagnosis_code",
    "attempted_value": "E11.9",
    "stack_trace": "..."
}

This approach satisfies HIPAA's "minimum necessary" standard while providing enough information for debugging.

Testing HIPAA API Compliance

Compliance isn't a one-time checkbox—continuous testing validates that security controls remain effective as APIs evolve.

Automated Security Testing

  • TLS/SSL scanning: Use SSL Labs or testssl.sh to verify cipher suites, certificate configuration, and protocol versions.
  • Authentication testing: Verify token expiration, scope enforcement, and replay attack prevention in CI/CD pipelines.
  • Encryption validation: Test that PHI is never transmitted or stored in plaintext. Use data loss prevention (DLP) tools to scan for PHI in logs and error messages.
  • Penetration testing: Annual third-party penetration tests are standard for HIPAA compliance. Test both authenticated and unauthenticated attack vectors.

Compliance Monitoring

  • Real-time alerting: Alert on suspicious patterns like unusual PHI access volumes, failed authentication attempts, or requests from unexpected geographic locations.
  • Certificate expiration monitoring: TLS certificates expiring creates unplanned downtime and potential security gaps.
  • Audit log completeness checks: Verify audit logs are capturing all PHI access events. Gaps in logging create compliance risks.

Common HIPAA API Pitfalls to Avoid

Based on OCR enforcement actions and industry incidents, watch for these frequent compliance failures:

  • Third-party API integrations: When integrating with EHR systems, lab interfaces, or billing APIs, ensure Business Associate Agreements (BAAs) are in place and vendors meet HIPAA standards.
  • Development and staging environments: Production PHI in non-production environments without equivalent security controls is a HIPAA violation. Use synthetic data or de-identified datasets for testing.
  • API documentation exposure: Publicly accessible API documentation that includes sample responses with realistic PHI (even if fake) creates security awareness risks. Use obviously fictional data ("Test Patient 123").
  • Mobile app API keys: Embedding API credentials in mobile apps makes them extractable via reverse engineering. Use OAuth flows where users authenticate rather than apps holding shared secrets.
  • Insufficient access termination: When employees leave or change roles, API access must be revoked immediately. Implement automated off-boarding workflows.

"We built a patient portal API with OAuth 2.0, TLS 1.3, AES-256 encryption—all the technical controls. But during a mock audit, we discovered our test environment was using a copy of the production database with real patient data and weaker security controls. That single oversight would have resulted in significant fines if found during a real OCR audit."

— VP of Engineering, Telehealth Platform (fictional)

Building HIPAA-Compliant APIs: Partner with Experts

HIPAA-compliant API development requires specialized expertise in healthcare regulations, encryption standards, secure authentication patterns, and audit logging architectures. The technical requirements are complex, and the consequences of non-compliance are severe.

Of Ash and Fire specializes in healthcare software development with deep HIPAA compliance experience. We've architected API platforms for telemedicine providers, hospital systems, and medical device manufacturers—all meeting the stringent 2026 HIPAA Security Rule requirements.

Our healthcare API development services include:

  • Compliance architecture reviews of existing APIs
  • OAuth 2.0 and JWT authentication implementation
  • TLS 1.3 configuration and certificate management
  • Database encryption with HSM-backed key management
  • HIPAA audit logging and monitoring systems
  • Penetration testing and security documentation for OCR audits

Whether you're building a new patient portal, modernizing legacy EHR integrations, or preparing for a HIPAA audit, we can help. Learn more about our HIPAA-compliant app development process or review our HIPAA compliance checklist for custom software.

Ready to discuss your healthcare API project? Contact us to schedule a consultation with our healthcare software development team. We'll review your compliance requirements, assess your current architecture, and provide a roadmap to HIPAA-compliant API security.

Download: 2026 HIPAA Compliance Checklist

14-page developer-focused checklist covering Privacy Rule, Security Rule, and Breach Notification requirements — plus 10 AI prompts for executive compliance verification.

No spam. We respect your privacy.

Daniel Ashcraft

Healthcare & Compliance

Founder & Lead Engineer at Of Ash and Fire. Building custom software for healthcare, education, and manufacturing.

Founder & Lead Developer at Of Ash and Fire · Test Double alumni · Former President, Techlahoma Foundation

12+ years building HIPAA-compliant software for healthcare organizations, including EHR integrations (Epic, Cerner), telemedicine platforms, and clinical decision support systems.

Need HIPAA-Compliant Software?

We build healthcare applications that meet strict compliance requirements — from EHR integrations to telemedicine platforms. 12+ years of regulated-industry experience.