Skip to content
GDPR compliant. Hosted in DE.
14-day free trial →
Agency switchDomain transferProof of deletion
Compliance 14 min read 30 Sept 2026

Agency Switch: Handover Protocol for Client Sites

Which positions belong in a handover record, which deadlines run during a domain transfer, why the auth code is not a bargaining chip, what Article 28 GDPR requires on deletion and return, and how every promised position can be measured instead of asserted.

X

XICTRAQ

XICTRAQ

Agency switchDomain moveData processing
8 to 16
characters long is the AuthInfo for a .de domain, easily confused characters are excluded (DENIC)
30 days
after it is issued an unused AuthInfo expires automatically (DENIC)
5 days
is the limit for a registrar to release the auth code and the transfer lock under the Transfer Policy (ICANN)
Handover record for an agency switchAccess inventory, deadlines and proof of deletion in one placeAccess inventory: eight positions1Domain and auth code2DNS zone file3Hosting and database4Source code and build path5Certificates and private keys6Accounts with providers7Measurement data and reports8Proof of deletionDeadline 1 - auth codeexpires 30 days after it is issuedthen request it againDeadline 2 - TRANSITone month to decide ona provider changeDeadline 3 - Redemption Grace Period30 days after the deletionafter that open to anyoneMeasured, not asserted: registry entry, address, delivery, certificate
The retainer ends at the turn of the year, the successor agency has been picked, and then the part begins that nobody put in the quote: who holds the domain, who knows the database password, where the zone file lives, which measurement data may move along, which has to be deleted, and who confirms that in writing. A handover without a record is an invitation for follow-up claims, and it works in both directions. This article sets out the positions that belong in a handover record, the deadlines that run while it happens, the legal position on the auth code and on deletion duties, and the way to measure every promised position rather than merely assert it.

Where a handover goes wrong

The separation itself is rarely the problem. The problem is the gap between the outgoing agency's last working day and the new one's first. Contracts keep running inside that gap, certificates expire, reminders reach a recipient who is no longer responsible, and nobody feels accountable for the domain. What ends up in dispute is almost never the design; it is control over access: who can move the domain, who can renew the certificate, who can reach the database. A record that pins each of those positions to a date, a recipient and a confirmation costs half a day and ends the argument before it starts.

The most common trigger is a registration made years ago out of convenience: the agency put the domain in its own name because that was faster than arranging a power of attorney. As long as the relationship holds, nobody notices. At separation the question of who owns the name is suddenly on the table. The same question arises for certificates, for accounts with mail providers, and for every tool the agency runs for the client inside its own account. Anyone who wants to see how tight the deadlines are will find the numbers in the article on domain expiry and renewal windows.

  • Domain and AuthInfo - registrant according to the registry, responsible provider, auth code, planned transfer date.
  • DNS zone file - every record in plain text, including the time to live, mail routes and the verification records used for sending.
  • Hosting and database - server name, access to file storage, database dump with a date, the time of the last backup.
  • Source code and build path - where the source lives, access to it, build instructions, dependencies, a way to deploy by hand.
  • Certificates and private keys - issuer, expiry date, renewal path, where the private key is stored.
  • Accounts with providers - mail delivery, payment provider, map service, search console: for each account the registered holder and the way to change it.
  • Measurement data and reports - audience data, availability series, screenshots, report archive, each with an output format.
  • Proof of deletion - what the outgoing provider deletes after the handover, when, and who confirms it.

Each of these eight positions has three possible states: handed over, deliberately retained by the outgoing provider, or not present at all. The third state matters most, because it stops the successor from spending weeks looking for something that never existed. Anyone who separates access per client anyway has most of this list ready in the system; what such a separation with an audit trail looks like is described in the article on access rights, roles and the team audit log.

The domain and the auth code

Moving a .de domain runs through the AuthInfo, a password created by the losing provider and stored at the registry. The rules for it are strict: the auth code must be between 8 and 16 characters long, and the characters I, l, O, o, 0 and 1 are not permitted because they are too easily confused in print (DENIC). That sounds like a footnote, but it is the most common reason a first attempt fails: the code is read out over the phone, a one turns into a lowercase L, and the request errors out in a way each side blames on the other. The auth code therefore belongs in the record as a file, not as a spoken message.

Two further properties decide the schedule. First, the registry stores only an encrypted version of the auth code, not the plain-text password (DENIC), so a lost code cannot be looked up, only reissued. Second, the code expires automatically after 30 days and has to be requested again (DENIC). Request the auth code in November for a transfer planned in January and you start over. If the code matches the stored value, on the other hand, the domain moves immediately (DENIC); there is no waiting period between the new agency's request and the change of responsibility in which anything could still be clarified.

When the losing provider does not respond

If the losing provider refuses to hand out the auth code, there is a route around it: the future provider requests an auth code for the domain directly from the registry, and the registry sends the code by registered mail to the address stored in the domain data (DENIC). What decides the outcome is therefore whether that postal address is correct. If it still shows the agency's address from the year of registration, the registered letter lands precisely with the party that is delaying the move. Checking the address costs one lookup and belongs at the beginning of every separation, not at the end.

TRANSIT and the window after deletion

If the previous provider terminates the contract without a successor in place, the domain does not simply vanish. The TRANSIT procedure is a free service for all domain holders and protects against the unintended loss of a domain; the domain is not deleted straight away but temporarily administered by the registry itself and cannot be registered by anyone else (DENIC). That is the safety layer that saves a badly planned separation from a total loss - but it is time limited, and it assumes the holder can be reached.

  1. One month to decide. The domain holder has one month to decide on a provider change (DENIC). The individual date is in the letter from the registry, not in a general rule.
  2. Reachability decides. If the letter cannot be delivered, the registry terminates the domain contract by email and the domain is deleted (DENIC). An outdated postal address is therefore not a cosmetic flaw but the road to deletion.
  3. 30 days after deletion. Once deleted, a domain can be registered again by the previous holder only within 30 days - the Redemption Grace Period - and after that window it is available for registration by anyone (DENIC).

That third deadline is the most expensive one in the whole sequence because it runs silently. Nobody gets a reminder, and the loss only shows up when the address leads nowhere or mail stops arriving. A handover record therefore holds more than access data: it holds three dates - the day of the transfer, the day the old contract ends, and the day responsibility for renewal passes to the new agency. Monitoring those dates instead of noting them down reveals a gap before it becomes a deadline, and that includes monitoring domain and DNS records in day-to-day operation.

The registrant in the registry is the real question

Every transfer starts with a registry lookup: who is recorded as the domain holder, which address is stored, which provider is responsible, when does the contract end. If the agency is listed instead of the client, the transfer stops being a technical step and becomes a change of holder that both sides have to agree to. That lookup takes seconds; how the modern protocol returns structured registrant data and what of it is public is described in the article on RDAP as the successor to the classic lookup.

The auth code is not a bargaining chip

In practice the auth code is routinely treated as collateral: settle the invoice, then get the code. German law does not support that. Anyone registering a domain on behalf of a client generally acts as a trustee, and for an agent the rule is that the agent is obliged to hand over to the principal everything received in order to carry out the mandate and everything obtained from conducting the business (section 667 of the German Civil Code). A domain and the access to it are exactly that - something obtained from conducting the business. The claim does not depend on whose name is in the register.

A specialist article on the claim for release summarises the case law of the Federal Court of Justice as follows: as early as 2010 the court held that an agency acting as trustee has no right of retention over the domain or the auth code, that it may not refuse release even if it had itself entered as the domain holder, and that outstanding claims do not create a right of retention either (Hoesmann law firm). For the outgoing agency that means holding the code back does not improve the prospect of payment; it moves the dispute from the invoice to the agency's own conduct - and produces exactly the reference that gets read out at the next pitch.

A clause in the contract does not help either

The general right of retention requires a due claim arising from the same legal relationship and applies only unless the obligation provides otherwise (section 273(1) of the German Civil Code) - and in a trust relationship over a domain it does provide otherwise. Anyone trying to tie release to payment through standard terms runs into content review instead: provisions in standard business terms are ineffective if, contrary to the requirement of good faith, they unreasonably disadvantage the other party (section 307(1) of the German Civil Code). Unpaid invoices belong in a payment reminder, not in the handover.

Access inventory: what is actually handed over

A handover record is not a document full of good intentions but a table with rows that get ticked off. Each row names the position, the place it hangs on, and what the successor actually receives. The decisive difference from a list read out in a closing meeting: the table forces a decision on whether a position exists at all. "The host takes care of that" turns into a name, and "it renews automatically" turns into a renewal path with an owner.

PositionWhat it hangs onWhat belongs in the record
DomainRegistry and responsible providerHolder per registry lookup, address, contract end, auth code as a file, planned transfer date
DNSZone at the current operatorComplete plain-text export of the zone, time-to-live values, mail routes, verification records for sending
HostingContract of the outgoing providerServer name, access to file storage, time of the last database dump, where backups are stored
Source codeRepository of the outgoing agencyAccess or a complete copy including history, build instructions, dependencies, a way to deploy by hand
CertificateIssuer and renewal pathIssuer, expiry date, type of renewal, where the private key is stored, owner from the cut-off date
AccountsServices run in the client's namePer account the registered holder, the stored address, the route to a change of holder, billing data
Measurement dataTools of the outgoing agencyOutput format, period covered, where the export is stored, ownership of continued operation
DeletionSystems of the outgoing providerWhat gets deleted when, what has to stay for legal reasons, who confirms the deletion

The last row is the one most often missing, and it is the only one that protects the outgoing provider. Without proof of deletion it stays open whether the client's data still sits on a secondary machine two years later; with it, the question is answered before it is asked. How long a given measurement series should be kept at all is a topic of its own and is covered in the article on retention periods for monitoring and analytics data.

Data, deletion deadlines and the proof

Once the agency has processed personal data for the client - visitor data, form content, screenshots from areas behind a login, contact details of alert recipients - the handover does not end with an account but with a decision. After the end of the provision of processing services, the processor has to delete or return all personal data at the choice of the controller and delete existing copies unless Union or Member State law requires storage (Article 28(3)(g) GDPR). The choice belongs to the client, not to the agency - and it belongs in the record in writing, with a date.

Return first, then delete

The order is not a formality. Delete first and export afterwards and there is nothing left to export. The export belongs in a format the successor can read without the old tool, and the result is opened once before the deletion date is confirmed.

Backups lag behind deletion

Deleting in a live system does not touch the backup copies at first. The record therefore needs a second date: the day the last backup containing client data is scheduled to be overwritten.

What has to stay, stays with a reason

Commercial and tax retention duties take precedence over deletion. Invoices and accounting records therefore stay - but named, justified and bounded, not as a blanket exception covering the entire data set.

The proof is part of the duty

The processor makes available to the controller all information necessary to demonstrate compliance with the obligations and allows for and contributes to audits, including inspections (Article 28(3)(h) GDPR). A confirmation carrying a date and a scope is the smallest way to meet that duty.

What the contract has to contain in detail is set out elsewhere: the article on the data processing agreement under Article 28 walks through the eight points of the provision. For a handover the second to last one matters most: it describes exactly the day the cooperation ends, and it is the only part of the agreement that is needed only then.

The record as a document

A usable record fits on a few pages and carries the same fields for every position: label, state, recipient, date, evidence. The evidence is not a word but a result - a registry lookup, a response header, an expiry date read off the certificate, a file listing of the export. Keep the record machine readable and it can be checked against reality on the cut-off date instead of being believed.

handover-record.json
{
  "client": "Example Ltd",
  "cutoff": "2026-12-31",
  "outgoing": "Agency A",
  "incoming": "Agency B",
  "positions": [
    {
      "position": "domain",
      "label": "client.example",
      "state": "handed_over",
      "recipient": "Agency B",
      "date": "2026-12-08",
      "evidence": "registry lookup 2026-12-09, provider changed"
    },
    {
      "position": "certificate",
      "label": "client.example, wildcard",
      "state": "handed_over",
      "recipient": "Agency B",
      "date": "2026-12-08",
      "evidence": "notAfter=2027-03-14, renewal from 2027-02-12 by Agency B"
    },
    {
      "position": "measurement_data",
      "label": "availability and audience 2024-2026",
      "state": "returned",
      "recipient": "Example Ltd",
      "date": "2026-12-15",
      "evidence": "export csv and json, 41 files, checksums attached"
    },
    {
      "position": "deletion",
      "label": "client data in the systems of Agency A",
      "state": "scheduled",
      "recipient": "Example Ltd",
      "date": "2027-01-15",
      "evidence": "confirmation after backups roll over, accounting records excluded"
    }
  ],
  "open": []
}

The field for open items is deliberately the last one and deliberately empty. As long as something is listed there the handover is not finished, and both sides look at the same list. A record that hides open items reads like completeness on the cut-off date and turns into an invoice six weeks later. The lesson from acceptance testing applies here as well: what was not measured was not handed over - the same logic is described in the article on website acceptance with a test report.

A handover record does not protect the party that demands it. It protects the party that writes it. Whoever can show what was handed over and what was deleted argues about invoices instead of accusations.

— XICTRAQ

Rights in design and source code

Access is one half, rights are the other. Whether the successor agency may develop the existing design further is not decided by possession of the files but by the scope of the rights of use that were granted. Where the types of use are not expressly and individually specified when a right of use is granted, the scope is determined by the purpose of the contract as jointly assumed by both parties (section 31(5) of the German Copyright Act). In case of doubt, what was not expressly transferred stays with the author - a rule that hurts for the first time at separation.

  • Name the right to modify explicitly. A right to use a design is not automatically a right to change it. Without that point the successor may operate the site but not rebuild it.
  • Separate third-party components. Fonts, images and purchased building blocks carry their own terms. The record needs to state per component whether the licence runs in the client's name or in the agency's.
  • Name what was custom built. A component built for the client is not the same as the agency's general library. Both may move along - but only once the conditions are settled.
  • Access is not a right. Handing over the source does not automatically grant the right to develop it further; and granting the right does not mean a readable build path has been handed over.
The build path is part of the handover

Source code without build instructions is an archive for the successor, not a working state. The record therefore needs the versions of the tools in use, the steps for a full build, the environment variables without their secrets, and the way to trigger a deployment by hand. The proof is simple: the successor builds once on their own machine and reports what is missing - while the outgoing agency is still reachable.

Measure instead of promise

The difference between a record and an assertion is the counter-check on the cut-off date. It takes a few minutes and regularly turns up what got lost in the handover: a name record still pointing at the old server, a certificate whose renewal hangs on an account of the old agency, mail delivery running through a service nobody mentioned. The measurement is taken from the outside, with the same means the successor has available.

$ dig +short NS client.example
ns1.newagency.example. ns2.newagency.example.
$ dig +short client.example
203.0.113.24
$ curl -sSI https://client.example/ | head -3
HTTP/2 200 server: nginx strict-transport-security: max-age=31536000
$ echo | openssl s_client -connect client.example:443 2>/dev/null | openssl x509 -noout -enddate
notAfter=Mar 14 09:12:00 2027 GMT

Four lines, four answers: where does the name point, which address responds, is delivery still standing, when does the certificate expire. The same questions come up every day afterwards, only without anyone asking them - which is why the cut-off date needs more than a measurement: it needs the handover of the monitoring itself. For reachability that is continuous uptime measurement, for registrant data a regular lookup of registry records.

Run the counter-check once before the cut-off date

Do not run the measurement for the first time on the cut-off date, but two weeks before. In practice that first run finds at least one position that the record lists as handed over and that is not: a zone still sitting with the old operator, a certificate whose renewal runs through someone else's account, mail delivery with a verification record pointing at the outgoing provider. Two weeks are enough to fix that while both sides are still talking to each other.

International domains: the Transfer Policy

For domains under .com, .net or .org the German registry procedure does not apply; the ICANN Transfer Policy does. It sets a ceiling that helps during a separation: if the registrar does not provide facilities for the holder to generate their own auth code and to remove the ClientTransferProhibited status, it must provide both within five calendar days of the holder's initial request (ICANN). Five calendar days is therefore the span to plan with - and it starts with the request, not with the termination of the contract.

Two further points of the same rule belong in any argument about an unpaid invoice. First, the registrar of record must not refuse to remove the transfer lock or to release the auth code solely because there is a payment dispute with the holder (ICANN). Second, registrar-generated auth codes have to be unique per domain (ICANN) - a shared code for the whole customer account is neither permissible nor worth anything as evidence. Anyone taking over a domain with a transfer lock in place will find the background on lock states in the article on registry lock and EPP status codes.

A clean separation as a sales argument

A handover is the last act of one engagement and the first of the next. The client who is leaving will be asked how the separation went - by their successor in the role, by the new agency, by an acquaintance with the same question. A record that names every position and supplies every piece of evidence is worth more at that moment than any reference list, because it is the only thing the other side can verify. Conversely, a withheld account costs more than the invoice it was meant to secure.

For the incoming side the same applies in reverse: ask for the eight positions on day one instead of hunting for them in month three and you take over an inventory rather than a puzzle. And whoever wants to keep the client long term shows the handover as part of the offer - with a tenant in which access, expiry dates and reports are separated from the start. How that turns into a recurring offer is described in the article on monitoring under your own brand for agencies; regular reporting to the client is covered in the article on automated weekly reports.

A plan for the last thirty days

The order matters more than completeness. Start the domain transfer before the zone has been copied and you lose the chance to read it out again. Delete the data before the export has been checked and there is nothing left in hand. The following plan keeps the order and leaves room for a second attempt on every position.

  1. Day 30 to 25: take inventory. Registry lookup, export the zone, list the accounts, record certificates with expiry dates, name the tools in use. The result is the table, still without states.
  2. Day 24 to 18: settle ownership. Is the domain in the client's name? Are the accounts in the client's name? What has to change holder before the transfer? This week decides the rest.
  3. Day 17 to 12: secure and export the data. Database dump, files, measurement series, report archive. Every export is opened once and noted in the table with scope and date.
  4. Day 11 to 7: run the transfer. Request the auth code and pass it on, create the zone at the new operator, lower the time-to-live values beforehand, provide the certificate on the target side.
  5. Day 6 to 2: counter-check. Measure name records, address, delivery, certificate, mail sending and verification records; correct every deviation while both sides are still reachable.
  6. Day 1 to 0: close the record. Enter the states, set the deletion date, name the open items, confirm on both sides. What starts after that is the deletion period, not a search for accounts.

A maintenance window for the transfer itself does no harm even when nothing technically goes down: it sets an expectation that everyone would otherwise form on their own. How such a window is announced and represented correctly in technical terms is described in the article on maintenance windows with 503 and Retry-After.

Sources and legal basis

This article draws on: DENIC's information on changing providers for .de domains, on the TRANSIT procedure and on the window after a deletion, the ICANN Transfer Policy as published on icann.org, sections 273, 307 and 667 of the German Civil Code and section 31 of the German Copyright Act in the versions published on gesetze-im-internet.de, Article 28(3) of the General Data Protection Regulation, and a specialist article by the Hoesmann law firm on the claim for release of the auth code. The evidence entries in this article point to the paragraph of the provision or the section of the source. The text does not replace legal advice in an individual case.

Who owns the domain if the agency is listed as the holder?
The entry in the registry says who holds the contract with the registry, not who is economically entitled to the asset. If the domain was registered on behalf of the client, a trust relationship generally exists, and the agent is obliged to hand over everything obtained from conducting the business (section 667 of the German Civil Code). In practice that means the move is not a pure provider change but additionally a change of holder that both sides have to agree to. To avoid it, register the client as the holder from the start and work with a power of attorney.
May the agency withhold the auth code until the last invoice is paid?
According to the case law summarised in the specialist literature, no: outstanding claims do not create a right of retention (Hoesmann law firm). The general right of retention applies only unless the obligation provides otherwise (section 273(1) of the German Civil Code), and standard terms tying release to payment are subject to content review (section 307(1) of the German Civil Code). For domains under .com and similar endings the position is set out even more clearly: the registrar must not withhold the code solely because of a payment dispute (ICANN).
What happens if the losing provider does not respond to the request?
For .de domains there is a route around them: the future provider requests the auth code directly from the registry, and the registry sends it by registered mail to the address stored in the domain data (DENIC). That requires a current postal address in the registry record. If the provider disappears entirely, the TRANSIT procedure applies: the domain is not deleted straight away but temporarily administered by the registry itself (DENIC), and the holder has one month to decide on a provider change (DENIC).
Does the client's measurement data have to be deleted or returned?
Both are possible, and the client makes the choice. After the end of the provision of processing services the processor deletes or returns all personal data at the choice of the controller and deletes existing copies unless a statutory retention duty applies (Article 28(3)(g) GDPR). In practice the export comes first and the deletion second, and the deletion date sits behind the day the last backup containing client data is overwritten. The confirmation with a date and a scope belongs in the record.
Does the source code automatically belong to the client once the work ends?
Not automatically. What is handed over is access to the files; what may be done with them depends on the rights of use that were granted. Where the types of use are not expressly and individually specified, the assumed purpose of the contract determines their scope (section 31(5) of the German Copyright Act). For a successor agency the right to modify matters most, because without it they may operate the site but not develop it further. Third-party components such as fonts, images and purchased building blocks carry their own terms and are listed individually in the record.
How much time should be planned for a handover?
Thirty days is a workable frame, because the longest deadline outside anyone's control is of that order: an issued auth code expires automatically after 30 days and then has to be requested again (DENIC). Within that span the inventory, the ownership questions, the export, the transfer and the counter-check can be handled one after another without one step blocking the next. It can be shorter when the domain already runs in the client's name and every account is issued to them.
Start in 60 seconds

Let XICTRAQ watch your website.

Permanent free plan available. No credit card, no installation, no hidden fees.