Questions
Short answers about scanning, links, privacy and building with CKey. Each one links to the full detail.
On this page: Using CKey · Destinations and safety · Privacy · Building with CKey
Using CKey
Can my phone’s camera read a CKey?
Not yet. Built-in camera apps read QR codes but don’t recognise CKey. To scan one, use the Open CKey scanner in your browser, or an app that includes a CKey SDK.
If everyone who sees your code must be able to scan it today with no extra step, a QR code is the better choice for now.
What can a CKey hold?
Any bytes, up to 4,619 at the default error correction level. Readers recognise links, email addresses, phone numbers, text messages, map coordinates, street addresses and contact cards, and offer an action for each. Anything else is shown as text.
See payloads and actions.
How small can I print one?
It depends on how much it holds, your printer, the paper and the phone reading it. In print simulations, a short link in the print layout (Profile 0.1) decoded at about 0.24 inches (6 mm) wide on plain inkjet paper, and smaller on photo paper. Those are model estimates, so print larger when you can and test with the phones your readers will use.
Print dark marks on light paper, use the print layout, and print at 100% or “actual size”. See printing a CKey for the full table and a calibration sheet.
Which error correction level should I choose?
Keep the default, M, unless you have a reason. Choose Q or H for small prints, rough surfaces or codes that will be handled; choose L to fit the most content on a screen. Higher levels repair more damage but hold less. How the levels compare.
Can I add colours or a logo?
Yes, within checked limits. Colours, metallic ink, mark shapes and a logo in the open centre are all allowed; the frame, corner finders and keys stay where readers expect them. By default, a style that might not scan is refused with the reason, rather than drawn.
A logo can fill the open centre freely. Covering data costs error correction, so a larger logo needs a higher level. The rules are in the CKey design system.
Destinations and safety
What if a short link leads somewhere harmful?
Every short link stays closed until Cloudflare’s URL Scanner checks its destination. A link that fails the scan is blocked and never redirects. A clean scan lowers the risk but can’t promise a site stays safe, because sites change after they are scanned.
If you find a harmful link, report it. A link revoked after review stops working everywhere at once, including on every printed copy. CKey readers also always show the address and wait for you to tap before opening anything.
Can I edit a link or text after I create it?
No. Once printed, a code should keep meaning what it meant when it was checked, so the database itself refuses edits, and an address is never given to anyone else. To change the content, create a new destination and make a new CKey for it.
How long do links and hosted text last?
Up to 24 months. Then the record retires: its text or destination is erased, and only the reserved address remains, answering “This record has been retired”. You can choose an earlier expiry of 1, 7 or 30 days when you create it.
After an early expiry, a short link sends visitors to its site’s home page, or shows “The creator of this link has revoked redirects”, whichever you chose. In limited cases the operator may extend a record’s life, with a logged reason.
How do I check a link before I trust it?
Paste the address into link status. It tells you whether the link is active, still waiting for its safety scan, expired, retired or blocked, without opening it.
How do I report a problem?
For a harmful link or text, use the report form and choose a reason: phishing, malware, spam, illegal content or something else. Nothing that identifies you is stored with a report, and any details you write are erased after 24 months.
For a security issue in the site or in CKey itself, open a private security advisory instead.
Privacy
What does this site collect about me?
Very little. The site sets no cookies and runs no advertising or analytics. Destinations you create aren’t linked to you, and no IP address is stored with them or with a report. Cloudflare hosts the site and, like any host, sees each request in order to deliver it.
The privacy notice lists everything, with retention periods.
Do the renderer and scanner send what I type or scan?
No. They run the CKey core in your browser, with telemetry turned off. What you type into the renderer and what your camera sees in the scanner stay on your device.
What is SDK telemetry, and can I turn it off?
Apps built with a CKey SDK can send anonymous daily counts of scan attempts and how quickly they decoded. They never include what was scanned, any identifier or a location. An app developer turns it off with one line, such as CKey.telemetry = 0. See telemetry.
Building with CKey
What does it cost?
Nothing. The site’s tools and destinations are free to use, and the CKey packages are free open source. The service comes with no guarantee of availability, so don’t make it the only route to anything important; see the terms.
What licence is CKey under?
The specification, the core, the SDKs and the command-line tool are open source under the MIT licence. This website and its service code are proprietary, all rights reserved.
Is CKey stable enough to build on?
Build with it, but plan for change. CKey is pre-1.0: formats can still change between builds, and real-camera performance hasn’t been measured yet. Pin an exact version, and check the downloads page, which marks deprecated releases.
How do I add CKey scanning to my app?
Use the SDK for your platform: Swift for iOS and macOS, Kotlin for Android, WebAssembly for the web, or .NET, C and C++. Each includes a camera scanner and the payload rules. Start with the SDK quick starts.
Still have a question?
Ask in the CKey project’s issues on GitHub, or read how CKey works.