Skip to main content
Home
GrN.dk

Main navigation

  • Articles
  • Cases
  • Services
  • Your Digital Project Manager
  • About Greg Nowak
  • Image Gallery
  • Contact
User account menu
  • Log in

Join my community / free newsletter — sign up here

Breadcrumb

  1. Home

Cloudflare Service Keys Stop in September: Find Every Caller

Illustrated infographic summarizing: Cloudflare Service Keys Stop in September: Find Every Caller

By Greg Nowak. Last updated 2026-07-20.

Cloudflare Service Key authentication stops working on September 30, 2026. From that date, requests using the X-Auth-User-Service-Key header will no longer authenticate. Integrations need to use API tokens with the permissions required for their work.

The credential change itself is usually the easy part. The harder question is whether you have found every caller.

A Service Key might be sitting in certificate automation, a Kubernetes secret, Terraform variables, a scheduled CI job or a script that runs twice a year. Miss one of those and the migration can look finished right up to the moment an unattended process tries to create or renew a certificate.

Treat this as an inventory and ownership job first. Find every caller, establish what it does, move it to an appropriate token and test the real operation. Retire the Service Key only when each dependency is accounted for.

A direct credential swap leaves the main risk untouched

Cloudflare describes Origin CA keys as Service Keys. Integrations commonly send them in the X-AUTH-USER-SERVICE-KEY header when calling the Origin CA certificates API, and a Keyless SSL key server can use them too. The key value starts with v1.0-, which gives you another useful search signature.

The old credential also has a wide reach. Cloudflare states that an Origin CA key can access every account available to its user. API tokens support finer permissions, expiration and revocation. For Origin CA certificate operations, Cloudflare specifies Zone – SSL and Certificates – Edit.

That does not mean replacing one broad shared secret with one broad shared token. Where practical, give each integration its own token, limited to the resources and permissions it actually needs. Separate credentials are easier to assign, rotate and revoke without disturbing unrelated systems.

Search for fingerprints, not just Cloudflare applications

Asking which applications use Cloudflare will uncover the obvious systems. It can still miss a generic deployment job, an archived repository that remains connected to production or a credential injected outside the application repository.

Search every place that can hold code, configuration or secrets for these fingerprints:

  • X-Auth-User-Service-Key and X-AUTH-USER-SERVICE-KEY.
  • Secret values or secret-scanning matches beginning with v1.0-. Treat every match as sensitive; do not paste exposed values into tickets or reports.
  • The Terraform provider setting api_user_service_key and the environment variable CLOUDFLARE_API_USER_SERVICE_KEY.
  • Kubernetes OriginIssuer and ClusterOriginIssuer objects using .spec.auth.serviceKeyRef.
  • Scripts, pipelines and infrastructure modules that create Origin CA certificates.

Cover active and archived repositories, CI/CD configuration, host environment files, systemd units, cron jobs, container definitions, Kubernetes manifests and live objects, infrastructure inputs, and the secret stores behind those systems. Search in a way that does not print credential values into shell history or shared logs.

Use a caller register to expose gaps

Each match belongs in a migration register, including repeated references to the same credential. One shared key used by five callers means five pieces of work. Each caller also needs an owner who understands the integration and can approve a meaningful test.

Caller Legacy fingerprint Required change Evidence it works
Custom client or script Service Key header or secret beginning with v1.0- Use a scoped API token through the supported token authentication method Run the actual operation and confirm the expected Cloudflare result
Terraform api_user_service_key or CLOUDFLARE_API_USER_SERVICE_KEY Configure api_token or CLOUDFLARE_API_TOKEN Review a clean plan, then complete a controlled apply or equivalent functional check
Kubernetes origin-ca-issuer .spec.auth.serviceKeyRef Upgrade to a token-capable release and update issuer authentication Confirm issuer health and safely test certificate issuance or renewal
CI or scheduled job Legacy variables, injected secrets or constructed headers Replace the stored secret and update the job configuration Run the Cloudflare-dependent part of the job
Keyless SSL key server Origin CA key referenced by its configuration Plan the supported API-token replacement for the integration Validate the relevant operational workflow before removing the key
A practical migration register: every legacy fingerprint leads to an owner, a change and observable proof.

Add the repository or runtime location, affected Cloudflare resource, token owner, permission set, deployment status, test evidence and rollback decision. A merged code change is not proof that the running caller has migrated. Neither is a successful build.

Check Kubernetes configuration and the running cluster

The origin-ca-issuer v0.14.0 release helps with discovery. It identifies OriginIssuer and ClusterOriginIssuer resources that use .spec.auth.serviceKeyRef. Its controller also emits a log line when it encounters an issuer configured with an Origin CA Service Key, and the release directs operators to move those issuers to API tokens.

Check both sources of evidence. Git may show the intended state while the cluster still runs an older object. Conversely, a live object may have been changed manually and never committed. Give cluster-scoped issuers extra attention because their effect can extend beyond a single namespace.

Upgrade the controller through the project's normal release process, review the legacy issuers it reports and update authentication deliberately. Verification should reach the certificate workflow itself. A healthy pod or an accepted manifest does not prove that issuance and renewal work.

Terraform credentials may be outside the repository

The current Cloudflare Terraform provider documentation includes both api_user_service_key and the preferred api_token configuration, along with their environment-variable equivalents. Only one of api_key, api_token and api_user_service_key can be supplied to the provider.

A clean repository search is therefore not enough. The provider block may show no credential because authentication comes from the execution environment. Inspect CI secret mappings, Terraform workspace variables, runner configuration and variable definitions as part of the same caller record.

After changing authentication, review the plan for unexpected differences. Then test the Cloudflare operation the configuration is supposed to perform. Successful provider initialization shows that the configuration is acceptable; it does not necessarily show that the token can change the intended resource.

Give each caller only what it needs

For Origin CA certificate operations, start with Cloudflare's specified Zone – SSL and Certificates – Edit permission and restrict the token to the resources needed by that caller. Use separate tokens where practical, choose an expiry that fits the rotation process and record who owns the renewal.

Keep a controlled overlap while callers move across. Once every register entry has functional test evidence, remove the legacy secret injection and search again for the header, key prefix, provider field, environment variable and Kubernetes reference. Then revoke the Service Key.

Plan that final step carefully. Cloudflare notes that changing the Origin CA key immediately invalidates all previously generated values. It also says the change is not recorded in Audit Logs. Capture the decision, approver, time and validation results in your own change record.

Leave a credential process behind

The useful outcome is more than a cutover that works on September 30. You should finish with named owners, narrowly scoped tokens, known expiry dates, documented rotation steps and tests that can be run again when credentials change.

Greg can coordinate the work across repositories, Linux hosts, secret stores, Terraform and Kubernetes: assemble the caller register, connect dependencies with their owners, implement scoped tokens, verify the real workflows and retire the old key with evidence. That makes the deadline manageable and leaves the credential setup easier to operate afterward.

Related on GrN.dk

  • Support bots need a deletion test before they learn the old help center
  • Background AI Tasks Need Queues, Not Just Longer API Calls
  • Cloudflare Workers can become shadow IT without an integration register

Need help with this kind of work?

Plan your Service Key migration Get in touch with Greg.

Sources

  • Service Key authentication deprecated
  • Cloudflare Origin CA key guidance
  • origin-ca-issuer v0.14.0
  • Cloudflare Terraform provider documentation
Last modified
2026-07-20

Tags

  • Cloudflare
  • api-integration
  • credential-migration
  • linux-operations

Review Greg on Google

Greg Nowak Google Reviews

 

Written recommendations from Trafik og Veje, Aarhus Municipality (2011) and AgroTech (2010) — read them on LinkedIn.

Illustrated infographic summarizing: Zero Data Retention Is a Workflow Audit, Not a Checkbox
Zero Data Retention Is a Workflow Audit, Not a Checkbox
2026-08-30

Zero Data Retention covers the provider, not every copy in your stack. See how to audit endpoints, logs, storage, deletion and project-level controls.

Illustrated infographic summarizing: MCP 2026-07-28 Is an Auth Migration, Not a Version Bump
MCP 2026-07-28 Is an Auth Migration, Not a Version Bump
2026-08-29

MCP’s July 2026 release removes protocol sessions and tightens OAuth. Here’s a practical plan for migrating clients, servers and enterprise access safely.

Illustrated infographic summarizing: Turn a Technician’s Voice Note into a Work Order—Not Raw Audio
Turn a Technician’s Voice Note into a Work Order—Not Raw Audio
2026-08-28

Voice input can reduce the technician’s documentation burden when hours, materials and status are validated before the information is saved in the work order system.

Illustrated infographic summarizing: ChatGPT Disabled Personal Knowledge Sync. What Broke on Your Team?
ChatGPT Disabled Personal Knowledge Sync. What Broke on Your Team?
2026-08-27

ChatGPT retired personal sync connections for Enterprise and Edu. Here is how to find affected workflows, migrate access, and test permissions.

Illustrated infographic summarizing: Cloudflare’s September Bot Defaults Could Quietly Cut AI Visibility
Cloudflare’s September Bot Defaults Could Quietly Cut AI Visibility
2026-08-26

Cloudflare’s September bot defaults give publishers more control, but one training block could also cut search crawling and AI-driven discovery.

Illustrated infographic summarizing: Does Your AI Chatbot Clearly Identify Itself?
Does Your AI Chatbot Clearly Identify Itself?
2026-08-25

The EU’s transparency requirements for AI chatbots now apply. Here is how to make your bot’s identity clear, limit its system access and provide a genuine route to a member of staff.

Illustrated infographic summarizing: Should publishers add Google’s new Preferred Sources button?
Should publishers add Google’s new Preferred Sources button?
2026-08-24

Google’s Preferred Sources button is worth a controlled test for eligible publishers, with careful choices around placement, performance and measurement.

Illustrated infographic summarizing: Search Console Can See TikTok Now. Your Reporting Has to Catch Up
Search Console Can See TikTok Now. Your Reporting Has to Catch Up
2026-08-23

Google can now report how social profiles appear in Search. Here is how to measure cross-channel discovery without mistaking visibility for business results.

Illustrated infographic summarizing: Your AI workflow has logs. Can they explain one bad decision?
Your AI workflow has logs. Can they explain one bad decision?
2026-08-22

Logs can show that every service worked while leaving a bad AI decision unexplained. See how connected traces and careful redaction close the gap.

Illustrated infographic summarizing: Security Questionnaires Eat Into Selling Time—Let AI Find the Evidence
Security Questionnaires Eat Into Selling Time—Let AI Find the Evidence
2026-08-21

NIS 2 is generating more supplier questionnaires. A controlled AI assistant can find approved answers and sources—and route uncertain cases for review.

More articles

Built by AI — available for your business. The daily articles on this site are researched, written and illustrated by an autonomous AI pipeline. At nowa.dk I install the same kind of AI automation in businesses at fixed prices — site in Danish, English version here, and web/marketing agencies have a dedicated page.

RSS feed

Footer

  • All articles
  • Contact

GrN.dk — AI automation, web platforms, web optimization, data handling and logistics.

© 2026 GrN.dk · LinkedIn · Contact · AI automation in Danish: nowa.dk

Behind GrN.dk: Individual Entrepreneur Codecrafter · Tax ID 305669096 · Bakhtrioni St. 22, 0194 Tbilisi, Georgia · official business register