Digital exposure report
tiktok.com
Moderate exposure. There are gaps an attacker could exploit — fix them soon.
Scanned: 2026-11-15 19:22 UTC
Full coverage: every applicable check was assessed.
What to do first
- 1.
Send visitors to the secure version of your site
Visitors who type your address without https may stay on an unprotected connection.
Who can fix it: Your web host
How to verify after the fix
curl -sI http://tiktok.com/ | grep -iE "^(HTTP|location)"
- 2.
Turn on DNS signing for your domain
Signing helps resolvers detect forged answers about your domain.
Who can fix it: Your domain registrar or DNS provider
How to verify after the fix
dig +short DS tiktok.com
A starting point, not a security guarantee.
What this grade means
- Tested hostname
- tiktok.com
- Website request
- GET https://tiktok.com/ → https://www.tiktok.com/
- Scan time
- 2026-11-15 19:22:44 UTC
- Grading method
- Version 2How grading works
- Unverified or excluded checks
- None. Every applicable check was assessed.
This is a snapshot of the public configuration checks listed in this report. It does not verify the site's owner, business legitimacy, application security, or absence of vulnerabilities. It is not a security certification.
Score by category
| Email security | 29/30 | Spoofing email from this domain is hard. |
| Encryption & certificate | 18/25 | Encryption is in place, but a gap could expose users. |
| Browser protections | 25/30 | The site instructs browsers to block common attacks. |
| DNS infrastructure | 3/15 | The domain's infrastructure lacks basic protections. |
Fix priorities
- 1.HighHTTP → HTTPS redirect · Hardening gap+7
- 2.MediumDNSSEC — signed DNS records · Hardening gap+7
- 3.LowCAA — who may issue certificates · Hardening gap+5
- 4.LowPermissions-Policy · Hardening gap+2
- 5.LowDMARC — anti-spoofing policy · Hardening gap+1
- 6.LowCSP — protection from script injection · Hardening gap+3
Findings
SPF — who may send mail for the domain
Passed · Severity: OK · 10/10An authorized sender list is defined and mail from other servers is rejected.
Valid SPF record with -all. 4 of the 10 allowed DNS lookups.
v=spf1 include:_spf.google.com include:mail.zendesk.com include:spf.bytedance.com include:mail.stibee.com -all
$ dig +short TXT tiktok.com
DMARC — anti-spoofing policy
Needs attention · Severity: Low · Hardening gap · 14/15Forged email in the company's name is blocked by mail servers.
Policy p=reject. No rua — no reports on spoofing attempts are received.
v=DMARC1; p=reject; pct=100;
$ dig +short TXT _dmarc.tiktok.com
- Keep your current p=reject enforcement and edit the existing record in place — do not replace it with p=none.
- Add rua=mailto:… to the existing record so you receive aggregate reports. Nothing else changes.
_dmarc.tiktok.com. TXT "v=DMARC1; p=reject; pct=100; rua=mailto:dmarc@tiktok.com"
Safety: DNS changes are made only at your DNS provider. This tool only reads public data and changes nothing on the domain. Your domain already enforces DMARC. Edit the record in place; never roll back to p=none.
DKIM — digital signature on email
Passed · Severity: OK · 5/5A DKIM public key is published. On its own this doesn't prove outgoing mail is signed or aligned with your From domain.
DKIM public key found for selector: google, k1, s1, s2. Confirm signing with dkim=pass in a sent message's Authentication-Results.
google._domainkey: v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCR9Y52A8acjvWsey8O+hIQTbSIEx26cJ7j… k1._domainkey: k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDbNrX2cY/GUKIFx2G/1I00ftdAj713WP9AQ1xir85i8… s1._domainkey: k=rsa; t=s; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqS1dPqnL2QNMIuMMsWpgKw2srdfVNzLg… s2._domainkey: k=rsa; t=s; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlfBpkk4xaXJHrkYME9US+cL12ouNlfhv…
$ dig +short TXT google._domainkey.tiktok.com
MX — inbound mail routing
Passed · Severity: OK · unscoredMail exchangers are published for the domain.
3 MX record(s). This shows where inbound mail is routed, not whether mail is sent from the domain.
20 mx2.tiktok.com 30 mx3.tiktok.com 10 mx1.tiktok.com
$ dig +short MX tiktok.com
HTTPS available
Passed · Severity: OK · 10/10The site loads over an encrypted connection.
https://tiktok.com/ returned HTTP 200 (final URL: https://www.tiktok.com/). Client-side certificate validation passed.
HTTP 200 Final URL: https://www.tiktok.com/
$ curl -sIL https://tiktok.com/
HTTP → HTTPS redirect
Failed · Severity: High · Hardening gap · 0/7The site is also reachable over an unencrypted connection, so data may travel in plain text on public networks.
http://tiktok.com/ returned HTTP 301 without redirecting to https:// (Location: http://www.tiktok.com/).
HTTP 301 Location: http://www.tiktok.com/
$ curl -sI http://tiktok.com/ | grep -iE "^(HTTP|location)"
- Set up a permanent (301) redirect from every HTTP request to HTTPS on the server or CDN.
- Then add an HSTS header.
server {
listen 80;
server_name tiktok.com www.tiktok.com;
return 301 https://$host$request_uri;
}Safety: This change is made on your server. Make sure HTTPS works first, otherwise the site won't load.
SSL/TLS certificate validity
Passed · Severity: OK · 8/8The certificate was accepted by a validating TLS client at scan time.
Live TLS handshake succeeded. Latest issuance in CT logs: DigiCert, expiring 2027-05-27 (193 days). CT shows issued certificates, not necessarily the one served — confirm dates with the verify command.
Live TLS handshake: certificate accepted CT logs (context only, not scored): Issuer: DigiCert Valid from: 2026-11-10 Valid until: 2027-05-27 Names: *.tiktok.com, tiktok.com Based on Certificate Transparency logs; may not reflect the certificate currently served.
$ echo | openssl s_client -connect tiktok.com:443 -servername tiktok.com 2>/dev/null | openssl x509 -noout -issuer -dates
HSTS — enforce encryption in the browser
Passed · Severity: OK · 8/8Browsers are told to always use an encrypted connection to the site.
max-age=31536000 (365 days), includeSubDomains. ≥ 180 days recommended.
Strict-Transport-Security: max-age=31536000; includeSubdomains
$ curl -sIL https://tiktok.com/ | grep -i "Strict-Transport-Security"
CSP — protection from script injection
Needs attention · Severity: Low · Hardening gap · 5/8A script policy exists, but it's permissive and offers only partial protection.
script-src includes: 'unsafe-eval' — weakens XSS protection.
Content-Security-Policy: report-uri https://mon-i18n.tiktokv.com/monitor_browser/collect/batch/security/?bid=tiktok_pns&ev_type=csp&p=4RqH3SYgEDjWFXkwnGikGS&v=9&s=354&b=oab; report-to csp-endpoint; upgrade-insecure-requests; default-src 'self' 'unsafe-eval' 'unsafe-inline' blob: bytedance: data: wss://*.tiktok.com wss://*.tiktokv.com wss://*.tiktokv.eu wss://tiktok.com wss://tiktokv.com *.adsco.re *.adsintegrity.net *.akamaized.net *.amazonaws.com *.arkoselabs.com *.billetlugen.dk *.bing.com *.bitssec.com *.bytedapm.com *.bytedgame.com *.bytehwm-row.com *.byteicdn.com *.byteintl.com *.byteintl.net *.byteintlapi.com *.byteintlstatic.com *.bytelemon.com *.byteoversea.com *.byteoversea.net *.bytevcloudapi.com *.capcut.com *.cloudflare.com *.ctfassets.net *.doubleclick.net *.entradas.com *.evbuc.com *.eventim.de *.facebook.com *.facebook.net *.fbsbx.com *.fcdnstatic-intl.com *.fdmstatic.com *.g-p-static.com *.gauthmath.com *.giphy.com *.goofy-cdn.com *.goofy.app *.google.com *.googleapis.com *.googletagmanager.com *.gstatic.com *.hsforms.com *.hsforms.net *.ibytedtos.com *.ibyteimg.com *.isnssdk.com *.jumio.ai *.kakao.com *.lemon8-app.com *.lemon8cdn.com *.licdn.com *.linkedin.com *.midtrans.com *.muscdn.com *.musical.ly *.oecstatic.com *.omise.co *.pangle-ads.com *.paypal.com *.pipopay.com *.redditstatic.com *.resso.me *.sgsnssdk.com *.soundon.global *.tableau.com *.tenor.com *.tiktok-row.net *.tiktok.com *.tiktok.ru *.tiktok.vn *.tiktokapis.com *.tiktokcdn-eu.com *.tiktokcdn-in.com *.tiktokcdn-us.com *.tiktokcdn.com *.tiktokcreativeone.com *.tiktokeu-cdn.com *.tiktokforbusinessoutbound.com *.tiktokglobalshop.com *.tiktokmusic.me *.tiktokshop.com *.tiktokstaticb.com *.tiktokus.info *.tiktokv.com *.tiktokv.eu *.tiktokv.us *.tiktokvapp.eu *.tiktokw.eu *.tiktokw.us *.topbuzzcdn.com *.ttlivecdn.com *.ttlstatic.com *.ttwstatic.com *.vimeo.com *.vodupload.com *.yahoo.co.jp *.yhgfb-static.com *.youtube-nocookie.com *.zhiliaoapp.com api.music.apple.com code.jquery.com facebook.com google.com i.ticketweb.com images.universe.com interactives.ap.org media.ticketmaster.eu play.itunes.apple.com res.cloudinary.com s1.ticketm.net static-label.frontgatetickets.com static.captchami.com t.co tikitoks.com tiktok.captchami.com tiktok.com tiktok.ua tiktok.vn tiktokfollowersfree.com tiktokv.com tx41v.arkoselabs.com unpkg.com vimeo.com sf-website-login-bak.tiktokcdn-eu.com; frame-ancestors tea-va.bytedance.net www.tiktok.com; frame-src bytedance: *.kakao.com *.tiktok.com access.line.me accounts.google.com api.twitter.com appleid.apple.com assets.braintreegateway.com client-api.arkoselabs.com h.online-metrix.net lf16-web.tiktokcdn.com newassets.hcaptcha.com recaptcha.google.com tx41v.arkoselabs.com www.facebook.com www.google.com; script-src 'report-sample' 'unsafe-eval' 'wasm-unsafe-eval' 'inline-speculation-rules' accounts.google.com apis.google.com c.paypal.com cdn.ampproject.org cdnjs.cloudflare.com client-api.arkoselabs.com code.jquery.com connect.facebook.net developers.kakao.com googleads.g.doubleclick.net interactives.ap.org js-cdn.music.apple.com/musickit/v3/musickit.js js.hcaptcha.com js.hsforms.net lf16-cdn-tos.tiktokcdn-us.com/obj/static-tx/bric-captcha/core-captcha/ pay.google.com recaptcha.google.com s20.tiktokcdn.com s3.amazonaws.com sf16-website-login.neutral.tiktokcdn-eu.com sf16-website-login.neutral.ttwstatic.com sf16-website.neutral.tiktokcdn-eu.com sf16-website.neutral.ttwstatic.com sf16m-website-login.neutral.ttwstatic.com ssl.bing.com static.captchami.com tiktok.captchami.com tx41v.arkoselabs.com unpkg.com vimeo.com www.google.com www.googleadservices.com www.googleapis.com www.googletagmanager.com www.gstatic.com www.vimeo.com sf-website-login-bak.tiktokcdn-eu.com appleid.cdn-apple.com; worker-src www.tiktok.com/business/sw.js www.tiktok.com/creator/worker/ www.tiktok.com/embed/sw.js www.tiktok.com/firebase-messaging-sw.js www.tiktok.com/help/sw.js www.tiktok.com/live/creator-networks/pdf.worker.min.js www.tiktok.com/live/static/player-worker/ www.tiktok.com/risk-appeal-ocr/BlinkCardWasmSDK.worker.min.js www.tiktok.com/series/worker/ www.tiktok.com/sw.js www.tiktok.com/tiktokstudio/static/worker/ www.tiktok.com/tiktokstudio/sw.js www.tiktok.com/web-static-js/ www.tiktok.com/webapp-desktop/static/worker/
$ curl -sIL https://tiktok.com/ | grep -i "Content-Security-Policy"
- First publish Content-Security-Policy-Report-Only — it blocks nothing, it only reports.
- Collect violations for a week or two and tune the policy to your legitimate sources.
- Switch to the Content-Security-Policy header and replace 'unsafe-inline' with a nonce or hash.
/* Content-Security-Policy-Report-Only: default-src 'self'; script-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'self'
Safety: This change is made in your server/CDN settings. Test on staging before production. An overly strict CSP will break scripts — that's why you start in Report-Only mode.
Clickjacking protection
Passed · Severity: OK · 5/5The site can't be embedded by foreign sites.
X-Frame-Options: SAMEORIGIN frame-ancestors tea-va.bytedance.net www.tiktok.com
X-Frame-Options: SAMEORIGIN CSP frame-ancestors: tea-va.bytedance.net www.tiktok.com
$ curl -sIL https://tiktok.com/ | grep -i "X-Frame-Options"
X-Content-Type-Options
Passed · Severity: OK · 4/4The browser won't guess file types in a way that could execute code.
nosniff is set.
X-Content-Type-Options: nosniff
$ curl -sIL https://tiktok.com/ | grep -i "X-Content-Type-Options"
Referrer-Policy
Passed · Severity: OK · 3/3Internal URLs don't leak to external sites.
Referrer-Policy: strict-origin-when-cross-origin
Referrer-Policy: strict-origin-when-cross-origin
$ curl -sIL https://tiktok.com/ | grep -i "Referrer-Policy"
Permissions-Policy
Needs attention · Severity: Low · Hardening gap · 0/2Access to sensitive features like the camera and location isn't restricted.
Missing Permissions-Policy header.
Permissions-Policy: (missing)
$ curl -sIL https://tiktok.com/ | grep -i "Permissions-Policy"
- Disable browser features the site doesn't need (camera, microphone, geolocation).
/* Permissions-Policy: camera=(), microphone=(), geolocation=()
Safety: This change is made in your server/CDN settings. Test on staging before production. Don't disable a feature the site actually uses.
Software version disclosure
Passed · Severity: OK · unscoredThe server doesn't disclose software versions.
No version numbers found in the Server / X-Powered-By headers.
server: cloudflare x-powered-by: Goofy Node
$ curl -sIL https://tiktok.com/ | grep -iE "^(server|x-powered-by)"
DNSSEC — signed DNS records
Needs attention · Severity: Medium · Hardening gap · 0/7The domain's records aren't signed, so in some scenarios users could be redirected to a forged server.
No DS record is published at the parent zone, so there's no DNSSEC chain of trust for this zone.
AD = false DS tiktok.com: NODATA
$ dig +short DS tiktok.com
- Enable DNSSEC at your DNS provider (one click at most providers).
- Copy the DS record your provider generates to your domain registrar.
- Wait for propagation and verify with DNSViz.
dig +dnssec tiktok.com SOA delv tiktok.com
Safety: DNS changes are made only at your DNS provider. This tool only reads public data and changes nothing on the domain. A wrong DS record at the registrar will make the domain stop resolving — copy it exactly from the provider.
CAA — who may issue certificates
Needs attention · Severity: Low · Hardening gap · 0/5Any certificate authority can issue a certificate for the domain, raising the risk of mis-issuance.
No CAA records found. RFC 8659 lets the domain owner restrict which CAs are authorized.
(no CAA records found)
$ dig +short CAA tiktok.com
- Identify which certificate authority issued your current certificate (see the certificate check).
- Publish CAA for that authority only, and add iodef to receive alerts.
tiktok.com. CAA 0 issue "letsencrypt.org" tiktok.com. CAA 0 iodef "mailto:security@tiktok.com"
Safety: DNS changes are made only at your DNS provider. This tool only reads public data and changes nothing on the domain. If your CDN issues certificates on your behalf, include it too — otherwise certificate renewal will fail.
DNS server redundancy
Passed · Severity: OK · 3/3The domain is served by several DNS servers, so one server failing won't take it down.
6 NS servers.
a9-66.akam.net a18-64.akam.net a12-66.akam.net a1-97.akam.net a6-65.akam.net a13-67.akam.net
$ dig +short NS tiktok.com
Indicative alignment
Best-practice mapping of public findings to common frameworks. Passive scanning tests public configuration only; it doesn't prove compliance or a violation.
- Google & Yahoo sender rules1 observed gaps
- PCI DSS v4.02 observed gaps
- NIS2 / vendor due diligence3 observed gaps
- SOC 2 / ISO 27001 baseline2 observed gaps
Indicative alignment only, based on public configuration. It doesn't establish whether a framework applies to you, and it isn't legal advice, an audit or a certification.
Public DNS records
| A | tiktok.com | 23.54.76.148 | 23.54.76.147 | 23.54.76.141 | 23.54.76.142 |
| AAAA | tiktok.com | — |
| MX | tiktok.com | 20 mx2.tiktok.com | 30 mx3.tiktok.com | 10 mx1.tiktok.com |
| NS | tiktok.com | a9-66.akam.net | a18-64.akam.net | a12-66.akam.net | a1-97.akam.net | a6-65.akam.net | a13-67.akam.net |
| TXT | tiktok.com | _hvpbov9c2s6s8d9hj5w2njkjbpj35op | google-site-verification=-pibSb_VhK-cZP1CQSaH7s43WbBkpzjhUwAgyc3YDH4 | pinterest-site-verification=7d9fc044e28c4992dffda772e8ca2bdc | apple-domain-verification=hXgMRIDdysM4HJYw | verification-code-site-edm-va=GkLVdrouyEyNQGsN0X0W | mailru-verification: c0f4705a229bd0c6 | google-site-verification=QnvaGD5XrTYRjFwNxu7jtyXySnf1UqQ1akSCRnU0GJk | v=spf1 include:_spf.google.com include:mail.zendesk.com include:spf.bytedance.com include:mail.stibee.com -all | google-site-verification=9aMOY6RF3QT8X2ACpo04BZ4CSdjPWxRJgncABZtHRYY | google-site-verification=heUwjUSZGdrUk6gp54Bxe8zNWMepAUdI3eECZ7zzNuQ | google-site-verification=ot5hoJ0_9g-FO6j5YX6aoLZpNM7N0y988ua0zsCDr88 | hubspot-developer-verification=YzdjZDc2ZDEtMDRmNS00MWQyLWJlNzUtY2Q4YmQyN2E0NDFl | facebook-domain-verification=wo9l655kzm8rfqm1st3qe7gqduoqav | google-site-verification=StaGWBpu1eRwm0dUSA-24OmzeXAqkQitecePeqLQ0fc | facebook-domain-verification=iec6txjjw8r35xhq5swdem8tpa5mzw | _f3zsp3jcr9843f36xnpbfib409nlhjt | klaviyo-site-verification=XAcsBz | google-site-verification=spKY3sgLfx2ShlMQbs-jaGpfyhukOMBQ9fV_cR8yKII | google-site-verification=2ZTMDlDhN4fD3hIKVj_1LnDKhTvf4NVhT23o-edCEVw | MS=ms14857357 | _7sllfzryqu5thoyj9665cgevrcbi38m | google-site-verification=UlwaFhsh7mBJzb0eTyZBibPg6HQ6doHO8-_tkmjBo4E | MS=ms80039204 | google-site-verification=6qNNoqXIzco_ObM8QE5IZfz2kLnLQkG-llKLL_HudVI | klaviyo-site-verification=STK9xy |
| TXT | _dmarc.tiktok.com | v=DMARC1; p=reject; pct=100; |
| CAA | tiktok.com | — |
| DS | tiktok.com | — |