SOURCE_URL: https://majikah.solutions/products/majik-slink/docs/slink-publish --- title: "Signing and Publishing a SLink" id: "slink-publish" group: "majik-slink" type: "products" version: "0.0.3" lastUpdated: "2026-08-07T00:00:00.000Z" difficulty: "Beginner" time: "3–7 minutes" tags: [slink, sign, publish, url, ownership, attribution, reference, attestation, challenge, dns, scrape, muid, post-quantum] --- # Signing and Publishing a SLink > Step-by-step walkthrough for creating and publishing a signed public URL, including choosing a claim type and completing verification ## Overview Sign and publish a URL as a Majik SLink from the Sign a Link panel in Majik Signature — cryptographically binding your Majik Universal ID to a public URL as proof of ownership, attribution, or reference. ### Before You Start You'll need to be signed in to Majikah and have an active Majik Universal ID (MUID) — if you don't have one yet, Majik Signature will guide you through creating one before letting you sign a link. The URL you want to sign must be publicly reachable over https:// without a login. ### Where to Find It Open Majik Signature and go to the Sign a Link panel. Make sure the mode switch at the top of the panel is set to Sign — this is the default. The same panel also handles checking who has signed a URL; switch to Verify for that (see the Searching & Verifying a SLink guide). ### Choosing Your Signing Account Use the account selector next to the panel title to pick which of your Majik Key accounts should sign this URL. If your MUID is bound to a different key than the one currently active, a banner appears offering to switch to the bound key, import a key backup, or sign out. Resolve this before continuing — a SLink must be signed with the key your MUID is bound to. ### Creating a SLink 1. **1. Enter the URL and choose a claim type** *The first step of the Sign a Link wizard* - Type or paste the full https:// URL you want to sign into the URL field. It's checked live as you type, and query parameters or #fragments are stripped automatically — the same page always produces the same claim regardless of tracking parameters. - Choose the claim type that honestly matches your relationship to this URL, using the three pills below the URL field: - Ownership — "You control this domain (DNS TXT record verification)." - Attribution — "You control this content (a channel bio, README) but not the domain." - Reference — "A signed attestation only — no independent proof is possible." - Click Continue once the URL is valid and a claim type is selected. 2. **2. Prove your claim (Ownership / Attribution only)** *Embed the challenge code, then confirm* - Majik Signature signs the URL and generates a short challenge code, shown both as easy-to-read grouped characters and as the full code (e.g. majik-slink:a1b2c3d4…) with a one-tap copy button. - For an Ownership claim, add a DNS TXT record at _majik-challenge.<your domain> with the value majik-slink-verify=<your challenge code>. - For an Attribution claim, paste the code somewhere public on the page instead — see the platform table below for exactly where. - Once it's live, click I've added it — Create & Continue. Majik Signature checks the page or DNS record for your code and finalizes the claim. 3. **2. Record your attestation (Reference only)** *No proof step needed* - A Reference claim is a signed attestation only — you're not asserting ownership or control of the URL, so there's nothing to publish anywhere. - Click Sign & Record Attestation to sign it immediately. It's recorded right away and will never be labeled "verified", since no independent proof is possible for a URL you don't own or control. 4. **3. Check the result** *What you'll see after clicking Create* - Verified (Ownership/Attribution) — the challenge was found. You'll also see a breakdown of the signed URL's subdomain, domain, TLD, and path so you can confirm the right resource was signed. - Attestation recorded (Reference) — your signed claim is saved immediately. - Not verified — the challenge code wasn't found. Double-check your page or DNS changes are live and public, then click Try again. - Something went wrong — creation itself failed (for example, this URL already has a claim that conflicts with yours, or you've reached a SLink limit). The message explains why; click Try again, or Start over to pick a different URL. 5. **4. Share** *Your SLink is now published* - A public share link is generated in the form https://slink.majikah.solutions/l/{id}, shown with a copy button and an "open in new tab" shortcut. - Share it anywhere. Anyone who opens it can see who signed the URL, when, and inspect the cryptographic proof — no account required on their end. - Click Sign another URL to start a new SLink, or you can safely remove the challenge code from your page or DNS records now — it's no longer needed once published. ### Claim Types | Claim type | What it means | How it's proven | How strong is the proof? | | --- | --- | --- | --- | | Ownership | You control the domain itself. | A DNS TXT record you publish for that domain. | Strong — independently checkable, and survives page redesigns since it lives in DNS, not the page. | | Attribution | You control the content at this URL, but not the domain (e.g. a social profile, channel, or repo you don't own the domain of). | The challenge code embedded directly on the page. | Medium — checkable, but tied to that specific page staying unchanged. | | Reference | You don't control the domain or the content — a plain statement of relevance. | None — recorded as a signed attestation with no code to publish. | None — never shown to others as "verified"; always labeled "attested by …". | *Caption: The claim type you pick on step 1 determines how (or whether) your proof is checked — this isn't something you choose separately.* ### Where to Paste the Code (Attribution claims) | Platform | Where to paste it | | --- | --- | | YouTube | Your video's description, or your channel's About section. | | X / Twitter | Your bio, or a pinned post. | | Instagram | Your profile bio. | | Website / Blog | Anywhere in the visible page content. | > **NOTE:** Reference claims are attestations, not proofs. Majik Signature never labels them as verified — they always display as attested by <signer> so viewers understand no independent check was possible. ### What Gets Signed Your Majik Key signs a canonical representation of the URL — not the raw input. The canonical form strips query parameters, fragments, and normalises the structure: majik-slink-v1:<subdomain>::<sld>::<tld>::<path>. This ensures the same resource always produces the same signature, regardless of tracking tokens or URL variations. Both Ed25519 and ML-DSA-87 sign this payload simultaneously (a post-quantum hybrid signature). The challenge code embedded on the page or in DNS is derived from a SHA-256 digest of the canonical string, truncated to 32 hex characters and prefixed with majik-slink:. > ⚠️ **WARNING:** Every URL is normalised by removing query parameters and fragments before signing. If you need to prove ownership of a URL that depends on meaningful query parameters (e.g. a dynamic report link), sign the canonical page itself and reference the parameterized link separately in your own description.