D
Digmarket. Preview
Navigation
Home Free

HR Biometric Onboarding – Cobalt Clean

<div class="fp-hr-onboarding-fingerprint-verify-ui">
    <div class="fp-hr-onboarding-fingerprint-verify-ui-stage" id="fp-hr-onboarding-fingerprint-verify-ui-stage">
        
        <div class="fp-hr-onboarding-fingerprint-verify-ui-ambient"></div>

        <div class="fp-hr-onboarding-fingerprint-verify-ui-card">
            
            <div class="fp-hr-onboarding-fingerprint-verify-ui-header">
                <h3 class="fp-hr-onboarding-fingerprint-verify-ui-title">Identity Verification</h3>
                <span class="fp-hr-onboarding-fingerprint-verify-ui-subtitle">Corporate Onboarding Sync</span>
            </div>

            <div class="fp-hr-onboarding-fingerprint-verify-ui-scanner" id="fp-hr-onboarding-fingerprint-verify-ui-trigger">
                
                <div class="fp-hr-onboarding-fingerprint-verify-ui-spin-ring"></div>
                
                <div class="fp-hr-onboarding-fingerprint-verify-ui-pulse-wrapper">
                    <div class="fp-hr-onboarding-fingerprint-verify-ui-pulse"></div>
                    <div class="fp-hr-onboarding-fingerprint-verify-ui-pulse"></div>
                </div>

                <svg class="fp-hr-onboarding-fingerprint-verify-ui-fingerprint" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
                    <path d="M12 2a10 10 0 0 0-6.88 2.77"></path>
                    <path d="M5.12 19.23A10 10 0 0 1 12 22a10 10 0 0 1 6.88-2.77"></path>
                    <path d="M22 12a10 10 0 0 1-2.77 6.88"></path>
                    <path d="M2 12a10 10 0 0 0 2.77 6.88"></path>
                    <path d="M15.5 6a6 6 0 0 0-7 0"></path>
                    <path d="M8.5 18a6 6 0 0 0 7 0"></path>
                    <path d="M19 12a7 7 0 0 0-2-5"></path>
                    <path d="M5 12a7 7 0 0 1 2-5"></path>
                    <path d="M12 8v8"></path>
                    <path d="M9 10l1.5 2L9 14"></path>
                    <path d="M15 10l-1.5 2L15 14"></path>
                </svg>
            </div>

            <div class="fp-hr-onboarding-fingerprint-verify-ui-footer">
                <span class="fp-hr-onboarding-fingerprint-verify-ui-status-text" id="fp-hr-onboarding-fingerprint-verify-ui-status">Place finger to start</span>
                <div class="fp-hr-onboarding-fingerprint-verify-ui-progress-track">
                    <div class="fp-hr-onboarding-fingerprint-verify-ui-progress-fill" id="fp-hr-onboarding-fingerprint-verify-ui-fill"></div>
                </div>
            </div>

        </div>

    </div>
</div>
.fp-hr-onboarding-fingerprint-verify-ui {
    --fp-container-width: 100%;
    --fp-max-width: 500px;
    --fp-aspect-ratio: 1 / 1;

    --fp-primary-color: #f7f6f3; 
    --fp-secondary-color: #ffffff; 
    --fp-muted-color: #86868b; 
    --fp-soft-color: #e5e5ea; 
    --fp-background-color: transparent;

    --fp-info-color: #60a5fa; 
    --fp-warning-color: #3b82f6; 
    --fp-danger-color: #1d1d1f; 
    --fp-accent-color: #0047AB; 
    --fp-text-color: #1d1d1f; 

    width: var(--fp-container-width);
    max-width: var(--fp-max-width);
    margin: 0 auto;
    background: var(--fp-background-color);
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    box-sizing: border-box;
    position: relative;
}

.fp-hr-onboarding-fingerprint-verify-ui * {
    box-sizing: inherit;
}

.fp-hr-onboarding-fingerprint-verify-ui-stage {
    aspect-ratio: var(--fp-aspect-ratio);
    background: var(--fp-primary-color);
    border-radius: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,0.02);
}

.fp-hr-onboarding-fingerprint-verify-ui-ambient {
    position: absolute;
    width: 120%;
    height: 120%;
    background: radial-gradient(circle at center, rgba(0, 71, 171, 0.04) 0%, transparent 60%);
    animation: fp-hr-onboarding-fingerprint-verify-ui-breathe 6s ease-in-out infinite alternate;
    z-index: 1;
    pointer-events: none;
}

@keyframes fp-hr-onboarding-fingerprint-verify-ui-breathe {
    0% { transform: scale(0.9); opacity: 0.5; }
    100% { transform: scale(1.1); opacity: 1; }
}

.fp-hr-onboarding-fingerprint-verify-ui-card {
    position: relative;
    z-index: 10;
    width: 75%;
    height: 80%;
    background: var(--fp-secondary-color);
    border-radius: 28px;
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 32px 24px;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease;
}

.fp-hr-onboarding-fingerprint-verify-ui-header {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.fp-hr-onboarding-fingerprint-verify-ui-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--fp-text-color);
    margin: 0;
    letter-spacing: -0.01em;
}

.fp-hr-onboarding-fingerprint-verify-ui-subtitle {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--fp-muted-color);
}

.fp-hr-onboarding-fingerprint-verify-ui-scanner {
    position: relative;
    width: 140px;
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.fp-hr-onboarding-fingerprint-verify-ui-spin-ring {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    border-radius: 50%;
    border: 2px solid var(--fp-soft-color);
    border-top-color: var(--fp-muted-color);
    opacity: 0.4;
    animation: fp-hr-onboarding-fingerprint-verify-ui-spin 8s linear infinite;
    transition: all 0.4s ease;
}

@keyframes fp-hr-onboarding-fingerprint-verify-ui-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.fp-hr-onboarding-fingerprint-verify-ui-fingerprint {
    width: 64px;
    height: 64px;
    color: var(--fp-soft-color);
    transition: color 0.4s ease, filter 0.4s ease, transform 0.2s ease;
    position: relative;
    z-index: 5;
}

.fp-hr-onboarding-fingerprint-verify-ui-scanner:hover .fp-hr-onboarding-fingerprint-verify-ui-fingerprint {
    transform: scale(1.05);
    color: var(--fp-muted-color);
}

.fp-hr-onboarding-fingerprint-verify-ui-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    width: 100%;
}

.fp-hr-onboarding-fingerprint-verify-ui-status-text {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--fp-danger-color);
    transition: color 0.3s ease;
}

.fp-hr-onboarding-fingerprint-verify-ui-progress-track {
    width: 120px;
    height: 4px;
    background: var(--fp-soft-color);
    border-radius: 4px;
    overflow: hidden;
    position: relative;
}

.fp-hr-onboarding-fingerprint-verify-ui-progress-fill {
    position: absolute;
    top: 0; left: 0; bottom: 0;
    width: 0%;
    background: var(--fp-accent-color);
    border-radius: 4px;
    transition: width 0.1s linear;
}

.fp-hr-onboarding-fingerprint-verify-ui-pulse-wrapper {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 100%; height: 100%;
    pointer-events: none;
    z-index: 2;
}

.fp-hr-onboarding-fingerprint-verify-ui-pulse {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 100%; height: 100%;
    border-radius: 50%;
    border: 2px solid var(--fp-accent-color);
    opacity: 0;
}

.fp-hr-onboarding-fingerprint-verify-ui-stage.is-scanning .fp-hr-onboarding-fingerprint-verify-ui-fingerprint {
    color: var(--fp-accent-color);
    filter: drop-shadow(0 0 12px rgba(0, 71, 171, 0.4));
}

.fp-hr-onboarding-fingerprint-verify-ui-stage.is-scanning .fp-hr-onboarding-fingerprint-verify-ui-spin-ring {
    border-color: rgba(0, 71, 171, 0.2);
    border-top-color: var(--fp-accent-color);
    animation-duration: 2s;
    opacity: 1;
}

.fp-hr-onboarding-fingerprint-verify-ui-stage.is-scanning .fp-hr-onboarding-fingerprint-verify-ui-pulse:nth-child(1) {
    animation: fp-hr-onboarding-fingerprint-verify-ui-radial-out 1.5s infinite cubic-bezier(0.215, 0.61, 0.355, 1);
}
.fp-hr-onboarding-fingerprint-verify-ui-stage.is-scanning .fp-hr-onboarding-fingerprint-verify-ui-pulse:nth-child(2) {
    animation: fp-hr-onboarding-fingerprint-verify-ui-radial-out 1.5s infinite cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-delay: 0.75s;
}

@keyframes fp-hr-onboarding-fingerprint-verify-ui-radial-out {
    0% { width: 100%; height: 100%; opacity: 0.8; border-width: 2px; }
    100% { width: 250%; height: 250%; opacity: 0; border-width: 0px; }
}

.fp-hr-onboarding-fingerprint-verify-ui-stage.is-scanning .fp-hr-onboarding-fingerprint-verify-ui-status-text {
    color: var(--fp-accent-color);
}

.fp-hr-onboarding-fingerprint-verify-ui-stage.is-scanning .fp-hr-onboarding-fingerprint-verify-ui-card {
    box-shadow: 0 20px 50px -10px rgba(0, 71, 171, 0.15), 0 0 0 1px rgba(0, 71, 171, 0.1);
}

.fp-hr-onboarding-fingerprint-verify-ui-stage.is-verified .fp-hr-onboarding-fingerprint-verify-ui-fingerprint {
    color: var(--fp-text-color);
}

.fp-hr-onboarding-fingerprint-verify-ui-stage.is-verified .fp-hr-onboarding-fingerprint-verify-ui-spin-ring {
    border-color: var(--fp-soft-color);
    animation-play-state: paused;
    opacity: 0;
}

.fp-hr-onboarding-fingerprint-verify-ui-stage.is-verified .fp-hr-onboarding-fingerprint-verify-ui-status-text {
    color: var(--fp-text-color);
    font-weight: 600;
}

@media (max-width: 480px) {
    .fp-hr-onboarding-fingerprint-verify-ui-card { width: 85%; padding: 24px 20px; }
    .fp-hr-onboarding-fingerprint-verify-ui-scanner { width: 120px; height: 120px; }
    .fp-hr-onboarding-fingerprint-verify-ui-fingerprint { width: 56px; height: 56px; }
}
(function() {
    document.querySelectorAll('.fp-hr-onboarding-fingerprint-verify-ui').forEach(root => {
        const stage = root.querySelector('#fp-hr-onboarding-fingerprint-verify-ui-stage');
        const trigger = root.querySelector('#fp-hr-onboarding-fingerprint-verify-ui-trigger');
        const statusText = root.querySelector('#fp-hr-onboarding-fingerprint-verify-ui-status');
        const fillBar = root.querySelector('#fp-hr-onboarding-fingerprint-verify-ui-fill');

        if (!stage || !trigger || !statusText || !fillBar) return;

        let animationFrameId;
        let lastUpdate = 0;
        let state = 'IDLE'; 
        let stateTimer = 0;
        let scanProgress = 0;

        function fp_hr_onboarding_fingerprint_verify_ui_loop(timestamp) {
            if (!document.body.contains(root)) {
                cancelAnimationFrame(animationFrameId);
                observer.disconnect();
                document.removeEventListener('visibilitychange', fp_hr_onboarding_fingerprint_verify_ui_handleVisibilityChange);
                return;
            }

            if (document.visibilityState === 'visible') {
                if (!lastUpdate) lastUpdate = timestamp;
                const delta = timestamp - lastUpdate;
                lastUpdate = timestamp;

                if (state === 'IDLE') {
                    if (!stateTimer) stateTimer = timestamp;
                    if (timestamp - stateTimer > 4000) {
                        fp_hr_onboarding_fingerprint_verify_ui_startScan();
                    }
                } else if (state === 'SCANNING') {
                    scanProgress += (delta * 0.04); 
                    if (scanProgress > 100) scanProgress = 100;
                    
                    if (fillBar) fillBar.style.width = `${scanProgress}%`;

                    if (scanProgress >= 100) {
                        state = 'VERIFIED';
                        stateTimer = timestamp;
                        
                        stage.classList.remove('is-scanning');
                        stage.classList.add('is-verified');
                        
                        if (statusText) statusText.textContent = "Identity Confirmed";
                    }
                } else if (state === 'VERIFIED') {
                    if (timestamp - stateTimer > 3000) {
                        state = 'IDLE';
                        stateTimer = timestamp;
                        scanProgress = 0;
                        
                        stage.classList.remove('is-verified');
                        if (fillBar) fillBar.style.width = '0%';
                        if (statusText) statusText.textContent = "Place finger to start";
                    }
                }
            }

            animationFrameId = requestAnimationFrame(fp_hr_onboarding_fingerprint_verify_ui_loop);
        }

        function fp_hr_onboarding_fingerprint_verify_ui_startScan() {
            if (state !== 'IDLE') return;
            state = 'SCANNING';
            scanProgress = 0;
            stage.classList.add('is-scanning');
            if (statusText) statusText.textContent = "Extracting biometrics...";
        }

        trigger.addEventListener('click', () => {
            if(state === 'VERIFIED') {
                stage.classList.remove('is-verified');
                if (fillBar) fillBar.style.width = '0%';
            }
            state = 'IDLE'; 
            fp_hr_onboarding_fingerprint_verify_ui_startScan();
        });

        function fp_hr_onboarding_fingerprint_verify_ui_handleVisibilityChange() {
            if (document.visibilityState === 'hidden') {
                if (animationFrameId) {
                    cancelAnimationFrame(animationFrameId);
                    animationFrameId = null;
                    lastUpdate = 0;
                }
            } else {
                if (!animationFrameId) {
                    lastUpdate = performance.now();
                    animationFrameId = requestAnimationFrame(fp_hr_onboarding_fingerprint_verify_ui_loop);
                }
            }
        }

        document.addEventListener('visibilitychange', fp_hr_onboarding_fingerprint_verify_ui_handleVisibilityChange);

        const observer = new IntersectionObserver((entries) => {
            entries.forEach(entry => {
                if (entry.isIntersecting) {
                    if (!animationFrameId && document.visibilityState === 'visible') {
                        lastUpdate = performance.now();
                        stateTimer = performance.now();
                        animationFrameId = requestAnimationFrame(fp_hr_onboarding_fingerprint_verify_ui_loop);
                    }
                } else {
                    if (animationFrameId) {
                        cancelAnimationFrame(animationFrameId);
                        animationFrameId = null;
                    }
                }
            });
        }, { threshold: 0.1 });

        observer.observe(root);
    });
})();
Created by Digital Market Created: Apr 26, 2026 • Updated: Apr 26, 2026

Description

Let us look at the HR Biometric Onboarding Cobalt Clean component. This free UI asset offers a modular card system specifically engineered for the human resources and recruitment technology sector. We built this entirely from scratch to handle secure employee data collection without the usual framework bloat. You get a sterile DOM structure that integrates cleanly into your existing onboarding architecture.

Modern recruitment platforms often process sensitive biometric verification files and compliance documents. Heavy client side payloads completely ruin performance metrics when new hires are trying to complete their enrollment quickly. This component solves that bottleneck directly. By strictly avoiding external libraries like Tailwind, Bootstrap, or GSAP, it keeps your bundle size minimal. This ensures rapid rendering for HR administrators and candidates who need to verify their identities on varying network connections.

Technical Architecture & Performance

  • Zero dependency codebase: Built strictly with pure HTML, CSS, and Vanilla JavaScript to keep your front end stack incredibly light.

  • Guaranteed performance metrics: Optimized to help your recruitment software maintain 90 plus PageSpeed scores and pass Core Web Vitals easily.

  • Safely scoped CSS: All styling is strictly scoped to prevent any class name collisions when you drop these cards into a massive monolithic repository.

  • Sterile DOM markup: Features clean HTML with absolutely no unnecessary wrappers or deep nesting trees to parse.

Design & Aesthetic Impact

The visual direction pairs professional Cobalt Corporate tones with a highly structured layout to establish trust and authority during the hiring process. This crisp and highly readable aesthetic ensures visual clarity for users interacting with sensitive identity verification prompts and compliance checklists. For the interaction layer, we implemented custom radial pulse and heartbeat animations. These organic transitions provide clear visual feedback during active biometric scans and document uploads without requiring heavy javascript animation scripts. The final result is a polished user interface that looks premium and functions perfectly for strict enterprise corporate environments.

Enterprise Use Cases

  • Employee onboarding portals: Display secure biometric verification prompts using the card grid so new hires can complete their mandatory identity checks quickly.

  • Applicant tracking dashboards: Build a fast rendering compliance page where recruiters can organize and review massive datasets of candidate documents within a lightweight interface.

  • HR administration panels: Create a responsive control layout for personnel managers to track active background check statuses and clearance approvals across multiple corporate departments.

Technical Details

  • ElementCards
  • IndustryHR, Recruitment Tech
  • AnimationHeartbeat, Radial Pulse
  • ColorBlue, White
Report Issue

Highlights & Benefits

Copy-Paste Ready

Drop the code straight into your project without configuration.

Zero Dependencies

Built strictly with pure CSS & Vanilla JS for maximum speed.

ADA & WCAG Ready

Constructed with strict adherence to WCAG accessibility standards for perfect contrast and screen-reader support.

Sterile DOM Structure

Utilizes a highly optimized, clean DOM architecture ensuring lightning-fast render and maximum PageSpeed scores.

You need an active subscription or purchase to leave a review for this premium component.

HR Biometric Onboarding – Cobalt Clean

Category:

Description

Let us look at the HR Biometric Onboarding Cobalt Clean component. This free UI asset offers a modular card system specifically engineered for the human resources and recruitment technology sector. We built this entirely from scratch to handle secure employee data collection without the usual framework bloat. You get a sterile DOM structure that integrates cleanly into your existing onboarding architecture.

Modern recruitment platforms often process sensitive biometric verification files and compliance documents. Heavy client side payloads completely ruin performance metrics when new hires are trying to complete their enrollment quickly. This component solves that bottleneck directly. By strictly avoiding external libraries like Tailwind, Bootstrap, or GSAP, it keeps your bundle size minimal. This ensures rapid rendering for HR administrators and candidates who need to verify their identities on varying network connections.

Technical Architecture & Performance

  • Zero dependency codebase: Built strictly with pure HTML, CSS, and Vanilla JavaScript to keep your front end stack incredibly light.

  • Guaranteed performance metrics: Optimized to help your recruitment software maintain 90 plus PageSpeed scores and pass Core Web Vitals easily.

  • Safely scoped CSS: All styling is strictly scoped to prevent any class name collisions when you drop these cards into a massive monolithic repository.

  • Sterile DOM markup: Features clean HTML with absolutely no unnecessary wrappers or deep nesting trees to parse.

Design & Aesthetic Impact

The visual direction pairs professional Cobalt Corporate tones with a highly structured layout to establish trust and authority during the hiring process. This crisp and highly readable aesthetic ensures visual clarity for users interacting with sensitive identity verification prompts and compliance checklists. For the interaction layer, we implemented custom radial pulse and heartbeat animations. These organic transitions provide clear visual feedback during active biometric scans and document uploads without requiring heavy javascript animation scripts. The final result is a polished user interface that looks premium and functions perfectly for strict enterprise corporate environments.

Enterprise Use Cases

  • Employee onboarding portals: Display secure biometric verification prompts using the card grid so new hires can complete their mandatory identity checks quickly.

  • Applicant tracking dashboards: Build a fast rendering compliance page where recruiters can organize and review massive datasets of candidate documents within a lightweight interface.

  • HR administration panels: Create a responsive control layout for personnel managers to track active background check statuses and clearance approvals across multiple corporate departments.