🔐 How it works: Your message is encrypted in your browser before it's sent. Only the recipient can decrypt and read your feedback. Your identity remains completely anonymous.

❓ Questions?

Is this really anonymous? Yes. We don't log your IP, your device info, or any identifying data. If you don't provide a name or email, we have zero way to identify you.

Can someone read my message? No. It's encrypted with our public key. Only the recipient has the private key to decrypt it.

What if I want a response? Provide an email address (can be anonymous/temporary) and we'll reply to that address.

Partner Sites

Waco Frenchies

Premium French Bulldog breeding in Waco, Texas. Ethical, family-focused breeding with AKC registration, health guarantees, and breeding rights.

DowntoFetch

Secure remote desktop access. Connect to your private network from anywhere without compromising privacy or security.

FetchMyDevice

Remote device management and access (powered by DowntoFetch).

DontFetchItUp

Coming Soon - Stay tuned for our next venture!

Matrix Email Setup

Configure your secure @fetchit-ai.com email account.

Matrix Access

Login to the Fetchit-AI collaboration platform.

Matrix Webmail

Access your Matrix webmail interface.

// Initialize floating orbs background document.addEventListener('DOMContentLoaded', function() { const container = document.getElementById('planets-container'); const colors = [ '#ff0000', '#00ff00', '#0000ff', '#8a2be2', '#ffff00', '#ffa500', '#dda0dd', '#ffc0cb' ]; const spheres = []; const minDistance = 150; for (let i = 0; i < colors.length; i++) { let x, y, size, overlap; const maxAttempts = 200; for (let attempt = 0; attempt < maxAttempts; attempt++) { size = Math.random() * 300 + 62.5; x = Math.random() * (window.innerWidth - size); y = Math.random() * (window.innerHeight - size); overlap = false; for (let j = 0; j < spheres.length; j++) { const other = spheres[j]; const dx = (x + size / 2) - (other.x + other.size / 2); const dy = (y + size / 2) - (other.y + other.size / 2); const distance = Math.sqrt(dx * dx + dy * dy); if (distance < minDistance) { overlap = true; break; } } if (!overlap) break; } const planet = document.createElement('div'); planet.classList.add('planet'); planet.style.width = `${size}px`; planet.style.height = `${size}px`; planet.style.left = `${x}px`; planet.style.top = `${y}px`; const base = colors[i]; const dark = shadeColor(base, -55); planet.style.background = `radial-gradient(circle at 30% 30%, ${base}, ${dark})`; const moveX = (Math.random() - 0.5) * 200; const moveY = (Math.random() - 0.5) * 200; planet.style.setProperty('--move-x', `${moveX}px`); planet.style.setProperty('--move-y', `${moveY}px`); planet.style.animationDuration = `${Math.random() * 40 + 30}s`; container.appendChild(planet); spheres.push({ x, y, size }); } function shadeColor(color, percent) { let R = parseInt(color.substring(1,3), 16); let G = parseInt(color.substring(3,5), 16); let B = parseInt(color.substring(5,7), 16); R = Math.max(0, Math.min(255, Math.round(R * (1 + percent / 100)))); G = Math.max(0, Math.min(255, Math.round(G * (1 + percent / 100)))); B = Math.max(0, Math.min(255, Math.round(B * (1 + percent / 100)))); return `#${((1 << 24) + (R << 16) + (G << 8) + B) .toString(16) .slice(1) .padStart(6, '0')}`; } });