Yap
Private voice dictation for Mac and Windows: hold a key, speak, and Yap types clean text into any app, with speech recognition on your computer so audio is never uploaded.
Compare
Security headers: A, 85 out of 100
Number 25 of 112 in the ranking. Missing 3 of the 9 headers we check.
Meets the B minimum (70/100) in our RFP clause.
With these headers missing, yapapp.cc is more exposed to clickjacking.
Missing 3
-
Cross-Origin-Opener-Policy 0 of 5
Cuts the link between the product's window and windows opened by, or opening, other sites.
Without it: A page that opens the product keeps a handle on its window and can later redirect it to a look-alike sign-in or payment page (tab-nabbing) while the user thinks they are still on the real site. It is also part of the isolation browsers need to defend against Spectre-style attacks.
-
Cross-Origin-Resource-Policy 0 of 5
Tells browsers which sites may load this site's resources.
Without it: Other sites can pull the product's responses into their own pages, which makes side-channel leaks of what a signed-in user can see easier.
-
No version disclosure 0 of 5
Keeps the Server and X-Powered-By headers from announcing exact software versions.
Without it: A header like "nginx/1.18.0" or "PHP/7.4" tells an attacker which known vulnerabilities to try, and flags possibly unpatched software to every automated scanner on the internet.
Sent 6
-
Content-Security-Policy 25 of 25
default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' blob: data: https://js.stripe.com https://platform.twitter.com https://www.googletagmanager.com https://*.elevenlabs.io https://cdn.jsdelivr.net 'wasm-unsafe-eval'; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: blob: https:; media-src 'self' https: blob: data:; font-src 'self' https://fonts.gstatic.com; connect-src 'self' blob: https://*.supabase.co wss://*.supabase.co https://api.stripe.com https://www.googletagmanager.com https://*.google-analytics.com https://*.analytics.google.com https://*.elevenlabs.io wss://*.elevenlabs.io https://elevenlabs.io wss://elevenlabs.io https://cdn.jsdelivr.net https://huggingface.co https://*.huggingface.co https://*.hf.co; worker-src 'self' blob: data:; frame-src 'self' https://js.stripe.com https://hooks.stripe.com https://www.youtube-nocookie.com https://www.youtube.com https://player.vimeo.com https://www.loom.com https://www.dailymotion.com https://platform.twitter.com https://elevenlabs.io https://*.elevenlabs.io; frame-ancestors 'self' http://localhost:* https://o-mega.ai https://*.o-mega.ai https://founden.ai https://*.founden.ai https://*.founden.co https://*.e2b.app https://*.vercel.app; object-src 'none'; base-uri 'self'
-
Strict-Transport-Security 20 of 20
max-age=31536000; includeSubDomains
-
X-Content-Type-Options 10 of 10
nosniff
-
Frame protection 10 of 10
CSP frame-ancestors
-
Referrer-Policy 10 of 10
strict-origin-when-cross-origin
-
Permissions-Policy 10 of 10
camera=(), microphone=(self), geolocation=(), browsing-topics=()