Frequently Asked Questions

Dynamic DNS, custom domains, email security, monitoring, the API, webhooks, account access, and privacy

Two systems — which one do you mean?

KyedNS does two different things, and most "why can't I…" questions depend on which one you're using:

  • Free DynDNS hostnames (something.dyndns.dk) — one hostname whose A/AAAA records are managed automatically from an IPv4/IPv6 field. Found under the DynDNS tab.
  • Custom domains (your own example.com) — a full list of individual DNS records you add, edit, and deploy. Found under the Domains tab.
On this page
Free DynDNS Hostnames
How do I create a free hostname?
  1. Log in and click DynDNS in the top navigation.
  2. Click + Add Hostname.
  3. Type the subdomain you want — availability is checked live. International characters are allowed.
  4. Set an update token (min. 6 characters) — this is the password your router/client uses, not your account login.
  5. Accept the terms and click Create Subdomain. It's active instantly.
Where do I set the IP address?

A free hostname has no editable A record — the A record comes from the IPv4 Address field and the AAAA from the IPv6 Address field. To set it manually: DynDNS → click the hostname → Settings → enter the address(es) → Update Settings. In normal use you don't touch this — your router/client updates it automatically.

How do I remove the IPv4 (A record) from a free hostname?

There's no "delete A record" button. Go to Settings, clear the IPv4 Address field, and click Update Settings — the A record is removed on the next sync. Leave IPv6 Address populated to keep the AAAA record (the two are independent).

How do I delete a free hostname entirely?

DynDNS → click the hostname → Delete (red link in the action bar) → confirm. If a router or client is still sending updates, remove that DDNS entry too, or it'll keep trying.

Can I add a mail server (MX) to a free hostname?

Yes. On the hostname's Settings page, fill in Mail Server 1 (MX) (priority 10) and optionally Mail Server 2 (MX) (priority 20), then Update Settings.

I have no router DDNS support and won't install a client. Any options?

Use the Homepage Bookmark. On the hostname page, copy the URL shown (like https://kyedns.com/go/yourhost.dyndns.dk) and set it as your browser's homepage. Every time the browser opens, your IP updates and it jumps to the Destination you set on the hostname page. The URL contains no token, so it's safe to sync across devices (it relies on you being signed in — roughly once a month).

Custom Domains & DNS Records
How do I add a custom domain?
  1. DomainsAdd Domain, enter the domain name and administrator email, optionally tick record templates, and click Add Domain.
  2. At your registrar, point the domain's nameservers at the ones shown on the Add Domain page:
    • Most domains: ns1.kyedns.com, ns2.kyedns.com, ns3.kyedns.com
    • .dk domains: dns0.kyber.dk, dns1.kyber.dk, dns2.kyber.dk

Registrar nameserver changes can take a few hours (sometimes 24–48h) to take effect globally.

How do I add a DNS record?

Domains → click the domain → + Add Record. Pick the type (A, AAAA, CNAME, MX, TXT, SRV, CAA, DYNAMIC, or CUSTOM). For Record Name, enter the subdomain only (e.g. www, or @ for the root) — not the full domain. Set the value and optional TTL (default 3600s), click Create Record, then Deploy.

How do I edit or delete a record?

Click Edit in the record's Actions column. To change it, update the value and click Update Record. To delete it, scroll to the bottom of the edit form and click the red Delete Record button (it's not in the list view), confirm, then Deploy. You can bulk-delete or bulk-set-TTL by ticking checkboxes and using the bulk-action dropdown.

I edited records but the changes aren't live. Why?

Edits are staged until you deploy. The badge near the domain name shows DNS Synced (live), Changes Pending (edits not yet live), or Not Deployed (never pushed). Click Deploy (the sync icon), review the preview of added/removed records, then Deploy to DNS. Records go live within moments; global caches still honor each record's TTL.

Can I set up a dynamic (auto-updating) record on my own domain?

Yes. Add a record of type DYNAMIC, give it a name (e.g. home) and its own update token, then Deploy. The IP field is prefilled with the address you're connecting from, so the hostname works right away — change or clear it if the client that keeps it updated runs on a different machine. It updates via the same DynDNS2 protocol as free hostnames — point your client at the full hostname (e.g. home.example.com) using that record's token.

How do I add advanced record types like SSHFP or TLSA?

Choose CUSTOM as the record type, enter the type in uppercase (e.g. SSHFP, TLSA) and the full record value. Use this only for types not in the standard dropdown.

Can I import my existing DNS records?

Yes. On the domain page, click Import to paste records from another provider. You can also click Config to download the domain's zone file.

How do I delete a custom domain?

The Delete button is under Settings on the domain page. Deletion runs a live nameserver check: if your registrar still points at KyedNS, it's blocked (removing it would break your DNS). Repoint your registrar away first, then delete. If the domain has DNSSEC enabled, disable DNSSEC first (see below) — deleting a signed domain while its DS record is still at your registrar makes it unresolvable.

DNSSEC
What is DNSSEC and should I turn it on?

DNSSEC cryptographically signs your domain's DNS answers so resolvers can verify they haven't been tampered with in transit. It's optional and off by default. It's a good idea for any domain where a forged DNS answer would be costly (email, logins, anything security-sensitive). It's available for your own custom domains — not for free *.dyndns.dk hostnames.

How do I enable DNSSEC?
  1. Domains → click the domain → find the DNSSEC panel.
  2. Click Enable DNSSEC. We sign the zone on our side first and confirm signing is live — nothing changes for visitors yet.
  3. The panel then shows a DS record (key tag, algorithm, digest type, digest). Copy it and add it at your registrar's DNSSEC page. For .dk domains at Domænehajen, use their DNSSEC form; other registrars have their own DNSSEC settings.

Activation completes once the DS record is published at your registrar and its parent zone picks it up. Until then, validation simply isn't enforced — there's no downside to the gap.

How do I turn DNSSEC off (or move/delete a signed domain)?

Order matters, or the domain can stop resolving for people whose resolvers check DNSSEC:

  1. Remove the DS record at your registrar first, and wait for it to expire (its TTL — often up to a day).
  2. Then, in the domain's DNSSEC panel, click Disable DNSSEC.

If we can still see a DS record published for your domain, disabling is blocked and we explain why — that guard is protecting you from an outage. Once the DS is gone and you've confirmed it, the block clears. Only after DNSSEC is disabled can you move the domain to another provider or delete it here.

I added the DS record but nothing seems different.

That's expected — DNSSEC works silently in the background. There's no visible change for normal visitors; validating resolvers just start rejecting forged answers. If mail or a site started failing right after you added the DS, the most common cause is a DS that doesn't match the signing key (a copy-paste slip) or one added at the wrong place — remove it, wait for its TTL, and re-add the exact DS shown on the domain page.

Email Security (SPF & DMARC)
How do I set up SPF and DMARC for my domain?

If a domain sends email it should have SPF and DMARC records, or its mail may be marked as spam. On the domain page, the Email Security banner shows your status and a Set up button. The guided wizard auto-detects your email provider from existing MX records (Google Workspace, Microsoft 365, Apple iCloud, Fastmail, One.com, IONOS, Hetzner, and more), pre-selects the right SPF settings, and generates the correct TXT records with an explanation at each step. Finish the wizard, then Deploy the domain.

Router & DDNS Client Setup
What settings do I put in my router?

The same settings work for free hostnames and DYNAMIC records on custom domains:

  • Server / Service: kyedns.com (choose "Custom" / "DynDNS compatible")
  • Hostname / Username: the full hostname (e.g. myserver.dyndns.dk)
  • Password: that hostname's update token (on its detail page — not your account password)
  • Protocol: DynDNS2

The hostname page also has a Router Setup guide with steps for ASUS, Fritz!Box, Synology, TP-Link, pfSense/OPNsense, DD-WRT/OpenWrt, and ddclient. Using the wrong password (account login instead of the update token) is the most common failure.

What's the direct update URL?
  • DynDNS-compatible (HTTP Basic Auth): https://kyedns.com/api/v1/nic/update?hostname=YOUR_HOSTNAME&myip=YOUR_IP
  • Simple (token in URL): https://kyedns.com/api/v1/update?hostname=YOUR_HOSTNAME&token=YOUR_TOKEN

Omit myip to auto-detect your current public IP. Check your public IP any time at https://kyedns.com/ip.

What do the update response codes mean?
ResponseMeaning
good 1.2.3.4IP successfully updated
nochg 1.2.3.4IP unchanged (already set)
badauthWrong username or update token
nohostHostname not found
notfqdnHostname isn't a valid full name
abuseToo many updates — you're being rate-limited
911Temporary server error — retry later
How often can I update?

A good client updates on IP change, not on a timer (polling every 5–10 minutes is plenty). Per hostname, per hour: over 20 updates start returning abuse; over 60 sends a warning email; over 180 disables the hostname. If you're hitting these, raise your client's update interval.

How do I set up IPv6 or dual-stack (IPv4 + IPv6)?

Send two separate updates — one with the IPv4 address, one with the IPv6 address. They're stored independently as the A and AAAA records, and sending one preserves the other. Most routers support two DDNS entries for the same hostname; with ddclient, add a second block using the usev6 option.

Propagation & “It's Not Resolving”
I made a change — how long until it's live?
  1. Custom domain: did you Deploy? Staged edits ("Changes Pending") aren't live until you push them.
  2. Nameservers: a custom domain only resolves through us once your registrar points its nameservers at ours — registrar changes take hours.
  3. TTL caching: resolvers cache the old value up to the record's TTL (default 1 hour). Lower the TTL before a planned change to speed up future ones.
  4. Free hostname: check Current IP and Last Update — if stale, your client isn't checking in.
How do I check propagation?

Domains → click the domain → Check Propagation. It queries multiple global resolvers and shows, per resolver, whether the value is Found, Stale, Not found, or timed out — and what each returns. Stale resolvers catch up as their cache TTL expires.

It loads on one device but not another.

That's usually an IPv4/IPv6 mismatch — e.g. an AAAA (IPv6) record pointing somewhere the visitor can't reach, or only an A record while the service is IPv6-only. Confirm both the A and AAAA values are correct for what's actually listening; clearing one forces clients onto the other.

Troubleshooting & Re-enabling
My hostname isn't resolving. What's wrong?
  1. Disabled? A disabled hostname shows a red banner — click Re-enable if offered (see below).
  2. Stale IP? Check Current IP / Last Update. Stale means your client stopped checking in — reconfigure it.
  3. Private IP? If it resolves to 192.168.x.x, 10.x.x.x, or 172.16–31.x.x, your client is sending the LAN IP — switch it to external detection (web / checkip mode).
  4. Custom domain? Confirm it's deployed and the registrar points at us, then allow for TTL caching.
My hostname was disabled for too many updates. How do I re-enable it?

First fix the client — raise its update interval so it doesn't update on a timer (re-enabling without this just gets it disabled again). Then click Re-enable on the hostname page and confirm.

Do free hostnames expire?

A free hostname is disabled after 180 days of inactivity (no IP updates). The page warns you within 30 days of expiry. To reactivate an expired hostname, just send any valid DDNS update — it re-enables automatically.

Uptime Monitoring (Fleet)
Can KyedNS tell me when one of my hosts goes down?

Yes. Click Fleet, pick a host (the dropdown lists your free hostnames, plus every A, AAAA and DYNAMIC record on your domains hosted with us), enter a TCP port to probe (e.g. 22, 80, 443), choose a check frequency, and click Start monitoring. We email you when the host goes down and when it recovers. Each host shows a 24-check sparkline. Free accounts can monitor up to 5 hosts with hourly checks; the paid plan adds more hosts and checks as often as every 5 minutes. Contact us to upgrade.

Why doesn't my record show up in the Fleet dropdown?

Only records that point directly at an IP address (A, AAAA and DYNAMIC) can be probed, and A/AAAA records only appear once the domain is verified as Active — that is, its nameservers point at us. Check the domain's status badge on the Domains page; records on domains that haven't switched their nameservers yet can't be monitored.

My IP changed and I got false “down” alerts. Why?

Monitoring automatically pauses when a host's dynamic IP goes stale, so you won't get false alerts while it's between addresses. It resumes on its own after the next valid DDNS update.

Account & Login
I'm not getting the login email. What should I do?

KyedNS uses magic links — there are no passwords. Check your spam or junk folder. The link expires after 1 hour; request a new one any time by entering your email on the login page. (Your hostname's update token is separate and never signs you in.)

I don't know which email I registered with. How do I find my account?

Try any address you might have used. If you have your router's DDNS config, go to /dyns/claim and enter the update token — it's tied to your zone and lets you claim it without knowing the email.

I had a hostname on the old dyndns.dk. Where did it go?

Zones from dyndns.dk were migrated automatically — log in with the same email you used there. If you don't remember it, use the claim flow at /dyns/claim with your old router's update token.

How do I change my name or email?

Top-right email menu → Account Settings → edit Name and/or EmailSave Changes. Changing the email needs verification: a confirmation link goes to the new address, and your current email stays active until you confirm.

API
Is there an API?

Yes — a read-only JSON API for your zones, custom domains, and DNS records. Find your API token under Account Settings and send it as an Authorization: Bearer YOUR_API_TOKEN header. Keep it secret — anyone with it can read your account (but it can't change anything). Common endpoints:

PathReturns
/api/v1/meAccount snapshot — user, zones, domains
/api/v1/zonesAll free hostnames with IPs, state, last check-in
/api/v1/domainsAll custom domains with nameserver status
/api/v1/domains/:id/recordsA domain's active DNS records

Full documentation is at /api. For automatic IP updates, use the DynDNS2 protocol described under Router & DDNS Client Setup.

Webhooks
Can KyedNS notify my systems when something changes?

Yes — with webhooks. A webhook is an HTTPS URL on your side that we send a small JSON message to whenever a chosen event happens — useful for chat notifications, dashboards, or triggering scripts. Click Webhooks in the top navigation, then Add Webhook, enter your HTTPS URL, tick the events you want, and click Create Webhook. Use the Test button in the list to send a sample delivery.

Which events can trigger a webhook?
EventFires
ip_changewhen a dynamic hostname's IP address changes
record_changewhen a DNS record is created, updated, or deleted
health_check_failwhen a DNS health check detects an issue
sync_failwhen publishing changes to our DNS servers fails for a domain
How do I verify a delivery is really from KyedNS?

Set a secret on the webhook. Every delivery is then signed with HMAC-SHA256: compute the signature of the raw request body with your secret and compare it to the X-Webhook-Signature header (sha256=<hex>). The event name is also sent in the X-Webhook-Event header. The payload format and a verification example are in the API docs.

My webhook stopped firing. Why?

After 3 consecutive failed deliveries a webhook is disabled automatically (shown as Disabled in the list). Fix the receiving end, then click Edit, tick Active, and save. Also note the URL must be HTTPS and publicly reachable — private or internal addresses are rejected.

International Names
Can I use international or non-Latin characters in names?

Yes. You can create and view domains, free hostnames, and DNS records in their native script — Danish ø/å/æ, German ä/ö/ü/ß, or any internationalized name. Type the readable form and it works; the dashboard shows the readable name and reveals the canonical xn-- (punycode) form on hover. If you see an xn--… string elsewhere, it's the same name in its DNS-encoded form.

Privacy & Your Data
Where's your privacy policy?

At kyedns.com/privacy (also linked in the footer). In plain terms it explains what personal data we hold, why, how long we keep it, who processes it on our behalf, and the rights you have under the EU GDPR.

What personal data do you collect?
  • Account: your email address and the name you provide.
  • Sign-in: we use magic-link login (no passwords) and store login timestamps and the IP address of your last sign-in.
  • DNS & dynamic DNS: the domains, hostnames, and records you create — including the IP addresses your router or client submits, which is the whole point of dynamic DNS.
  • Security: IP addresses and request details in our server logs, plus an audit trail of changes, used to keep the service secure and investigate abuse.

IP addresses count as personal data under the GDPR, which is why they're covered here.

Do you use tracking or advertising cookies?

No. We set a single essential cookie to keep you signed in. There are no advertising, analytics, or third-party tracking cookies — so there's no cookie-consent banner to click through.

How long do you keep my data?
  • Account data: as long as your account exists, plus a short wind-down period.
  • Audit records: up to 36 months, then deleted automatically.
  • Activity records (zone and record changes): up to 12 months, then deleted automatically.
  • Server logs: about 30 days.
Is my data kept in the EU?

Yes. All of our data processors — hosting, monitoring, and email delivery — operate within the EU, so your data is processed in the EU. They're named in our Privacy Policy.

Can I see, correct, or delete my data?

Yes. Under the GDPR you can ask to access, correct, export, restrict, or erase your personal data. Email michael@kyed.dk and we'll respond within one month. Erasure also reaches our audit and activity records. If you believe we've mishandled your data, you can lodge a complaint with the Danish Data Protection Agency (Datatilsynet).