The Court of Appeal of Brussels has made an interesting ruling. A customer complained that their bank was spelling the customer's name incorrectly. The bank didn't have support for diacritical marks. Things like á, è, ô, ü, ç etc. Those accents are common in many languages. So it was a little surprising that the bank didn't support them.
The bank refused to spell their customer's name correctly, so the customer raised a GDPR complaint under Article 16.
The data subject shall have the right to obtain from the controller without undue delay the rectification of inaccurate personal data concerning him or her.
Cue much legal back and forth. The bank argued that they simply couldn't support diacritics due to their technology stack. Here's their argument (in Dutch - my translation follows)
Bank X also explained that the current customer data management application was launched in 1995 and is still running on a US manufactured mainframe system. This system only supported EBCDIC ("extended binary-coded decimal interchange code"). This is an 8-bit standard for storing letters and punctuation marks, developed in 1963-1964 by IBM for their mainframes and AS/400 computers. The code comes from of the use of punch cards and only contains the following characters…
(Emphasis added.)
EBCDIC is an ancient (and much hated) "standard" which should have been fired into the sun a long time ago. It baffles me that it was still being used in 1995 - let alone today.
Look, I'm not a lawyer (sorry mum!) so I've no idea whether this sort of ruling has any impact outside of this specific case. But, a decade after the seminal Falsehoods Programmers Believe About Names essay - we shouldn't tolerate these sorts of flaws.
Unicode - encoded as UTF-8 - just works. Yes, I'm sure there are some edge-cases. But if you can't properly store human names in their native language, you're opening yourself up to a lawsuit.
This is interesting.
A bank claimed it couldn't use diacritics in a customer's name due to technical limitations.
Customer sued… and won!
Your name is personal data, and GDPR says it should be recorded accurately.
Hâte de mettre en justice tous les sites et autres compagnies qui ont décidé que le fait que j'ai un accent dans mon nom de famille soit source de bug (avec évidemment un message d'erreur qui n'a rien à voir. Histoire de bien pas comprendre pourquoi ça marche pas)
This is interesting.
A bank claimed it couldn't use diacritics in a customer's name due to technical limitations.
Customer sued… and won!
Your name is personal data, and GDPR says it should be recorded accurately.
La France va sortir de l'UE juste pour que leur état-civil et autres administrations puissent continuer à ruiner la vie de quelqu'un parce qu'il a un tilde dans son nom
This is interesting.
A bank claimed it couldn't use diacritics in a customer's name due to technical limitations.
Customer sued… and won!
Your name is personal data, and GDPR says it should be recorded accurately.
Does this mean that Z̷̡̧̢̰͓̪͖̭͙̰̣̱̬̹̙̜̪̣̏̿̏̋͑́̒͑́̒̿̇̈̍̇̌͝͝a̵̡̧͍̘̮̤̙̹͙̦̙͙͖͓̥̟̦͔͒̇̊̊̔̓́͒́̌̈́̑͋̏̏̏̚͘͝͠͝l̶͉̯̱͇̭̭̉̉̈́̿͐̽̒̎̽͌̚͜ģ̸̧̛͙̩̹̰̤̱̖̘̻̪̻̮̫̟̙̲͍̰̻͕̗̫̿̆̃́͗̽̊̽̌̔̂͂̈͊̐̈́̈̈́̈̓̆͌̑́̕͜ǫ̶̢̹̥̮̟͍̔̑̔̽ can finally open a bank account?
This is interesting.
A bank claimed it couldn't use diacritics in a customer's name due to technical limitations.
Customer sued… and won!
Your name is personal data, and GDPR says it should be recorded accurately.
This is interesting.
A bank claimed it couldn't use diacritics in a customer's name due to technical limitations.
Customer sued… and won!
Your name is personal data, and GDPR says it should be recorded accurately.
This is interesting.
A bank claimed it couldn't use diacritics in a customer's name due to technical limitations.
Customer sued… and won!
Your name is personal data, and GDPR says it should be recorded accurately.
EBCDIC has many code pages, just like DOS, and by selecting the correct one you can encode characters from any European language you want. So the bank's argument is not completely correct.
Correct but given that there are EBCDIC code page for every country which are not consistent (even the encoding of simple characters like $ may change from one country to another), this prevents a central application from supporting multiple code pages (sets of characters). You would need to store, along with the name, the code page that is used and then add program code to deal with that, something that is not practical.
Suing for this under GDPR makes zero sense. If your bank is an ancient dinosaur, switch bank.
I‘m happy. It feels like revenge served very cold. I tried to open a Barclays account in 2006 and have a German last name with an ö. The Lady at the bank said she had to spell the name exactly as on my id. I said, use an ö. She said I don’t have one on my keyboard. I said then use oe instead. She said she couldn’t, because she had to spell it exactly like it was on my id. And on and on.
"Unicode - encoded as UTF-8 - just works. Yes, I'm sure there are some edge-cases. But if you can't properly store human names in their native language, you're opening yourself up to a lawsuit."
Those edge cases are for a large part in human names. There are rare Chinese characters that are not in unicode, those are rare because they are only used in a few names. And one can question if a language like Chinese with a long tail of very rare characters is not effectively an open-ended set. Someone invented those characters in the past, so why won't that process continue?
All of that is not really relevant to the legal question as judges tend to take into account what is reasonable in the current day and age, which according to this court is to support at least accents.
This is not a technical limitation — come up with an encoding just like UTF-8. Encode where possible in EBCDIC, but choose a bit to indicate higher chunks are available. Migrate legacy data to the new encoding, keeping an eye out for corner cases. Tricky bit is that these old bank systems tend to have fixed-width fields, which can mess with multi-byte encodings. I did something like this back when I worked on compilers for IBM as a work-around for our test suites sometimes having utf-8 filenames. Fairly easy to make a idempotent transformation. I should have gone full into consulting! sheesh.
UTF-EBCDIC allows encoding all Unicode code points, similarly to UTF-8. https://www.unicode.org/reports/tr16/tr16-8.html There are modern Perl 5 releases available that support this which I run on z/OS; Python also is claimed to support EBCDIC, but I don't have experience with it regarding Unicode.
Both EBCDIC 1047 and 037 code pages are isomorphic to Latin1. Almost all European languages should be directly encodable via these.
This is interesting not only for the tech implications but also: Can people whose gender is neither male nor female leverage this to get gender markers, honorifics, etc. corrected? 🤔 shkspr.mobi/blog/2021/10/e…
A point worth mentioning, IMHO, is that this banking application was apparently designed and written in the 1990's, and has been serving its intended purpose for almost 30 years.
If the Y2K or Euro character events did not break it -- and I have no reason to suspect that -- this application may theoretically be unchanged since the day it was written.
Is that a Good Thing? ...or a Bad Thing? I dunno. I just know it is a Thing. it is a Thing.
Jim Rees and others are correct, and the headline is incorrect. EBCDIC isn't the culprit. EBCDIC has had codepages for eons, and that'd be one classic way the bank could solve this problem -- or should have solved this problem decades ago. It's a well solved problem. Another way, probably better nowadays, is to use Unicode (UTF-8 probably). Whether it's IBM Z or IBM i, these systems definitely support Unicode and have since the 1990s. The implementation could be in hybrid-quick-hacky fashion. For example, put some "trigger/escape code" in the existing name field (with the current not great EBCDIC codepage choice) that then points to a UTF-8 encoded name stored alongside. It'd require an application code change, sure, but it's not rocket science actually.
Here's the real headline: "Bank that won't change anything is incompatible with the GDPR."
JCS wrote: No one—no one—is going to be confused when they see “Jose Ramirez” instead of “José Ramírez” but the lawyers among us still think it’s a critical issue. This is the very apotheosis of a first world problem.
@blog Update: it turns out that EBCDIC supports code pages INCLUDING one with all the diacritical marks the bank claimed it was impossible to support! It's been available since an update to the standard in the mid-1980s! (EBCDIC code page 435.)
There's also UTF-EBCDIC, which allows EBCDIC to encode all valid Unicode character code points—over a million of them.
Verdict: the bank in question has an incompetent IT department.
EU 内の銀行で、氏名のアルファベットにグレーブ(á)とかウムラウト(ü)とか、アクセント記号がついている人が本名を登録できない、という問題に対する訴訟があり、アクセント記号が登録できないのはGDPR(一般データ保護規則)違反である、という判決が2019年に出ていたそうです。 テレンス・エデン氏(Terence Eden)のブログによれば、銀行がアクセント記号つきの氏名登録を拒絶したのに対し、この顧客はEU一般データ保護規則(GDPR)の16条「訂正の権利」を根拠に訴えるに至ったそうです。 この16条は以下のようなもの。
The data subject shall have the right to obtain from the controller without undue delay the rectification of inaccurate personal data concerning him or her. Taking into account the purposes of the processing, the data subject shall have the right to have incomplete personal data completed, including by means of providing a supplementary statement. データ主体は、管理者から、不当に遅滞することなく、自己と関係する不正確な個人データの訂正を得る権利を有する。取扱いの目的を考慮に入れた上で、データ主体は、補足の陳述を提供する方法による場合を含め、不完全な個人データを完全なものとさせる権利を有する。 一般データ保護規則(仮訳)
Article 16 of the GDPR says, among other things, that
The data subject shall have the right to obtain from the controller without undue delay the rectification of inaccurate personal data concerning him or her.
A normal person would take that to mean you have the right to have substantive errors in your records corrected. Things like age, arrest record, employment record and so on. Errors that can cause actual harm if not corrected. A Brussels court has ruled that it also means that European Union citizens also have the right to have their name represented correctly. This is why everyone hates lawyers. The issue is that many names have diacritical marks—Erdős or Ceaușescu for example—and older computer systems are unable to represent them. This is a particular issue in the banking industry that, sadly, is often still running their businesses on last-century IBM mainframes that use the EBCDIC character encoding system. It’s hard to imagine today but bytes weren’t always 8 bits, and ASCII, let alone UTF-8, wasn’t always the way characters were encoded. EBCDIC was IBM’s system and as the 800 pound gorilla they saw to it that EBCDIC’s use was widespread. The problem is that its standard code page had no diacritical marks so José Ramírez is going to have his name encoded as “Jose Ramirez”. Someone with way too much time on his hands decided that was intolerable and sued under Article 16. Now the Court of Appeals of Brussels has agreed and demanded that the bank fix things. It’s hard to imagine a quick fix for this and it’s even harder to see how the fix is not going to cost hundreds of thousands of dollars. Of course lawyers don’t know or care about any of this. They just want it fixed. Now. That’s why we all hate them. If I were the bank, I’d suggest that this particular customer find another bank but the lawyers probably won’t like that solution either. Yes, yes. I know I’m intolerant. I know I’m not a European. I know my name doesn’t have a diacritical—but it’s misspelled so often it might as well have. But, you know, a little common sense would be appropriate here. No
one—no one—is going to be confused when they see “Jose Ramirez” instead of “José Ramírez” but the lawyers among us still think it’s a critical issue. This is the very apotheosis of a first world problem.
Simon Vans-Colina said on twitter.com:
I’ve been saying this for years, including at the @bankofengland while they were speccing out RT2.
ASCII (and EBCDIC) is racism.
Just because legacy 🦕banks can’t handle UTF-8 and 24x7 RTGS doesn’t make it right.
Andy Mabbett says:
Now all you need to do is change your name by deed poll [1], to "⏽⏻ r⏻n⏾⏻ E⏼⏻⭘" and you can force everyone [2] to use your favourite Unicode symbols!
[1] Deed pool not always required: https://en.wikipedia.org/wiki/Deed_of_change_of_name
[2] Well, your suppliers.
Lee Willy Minifees says:
As far as I know, most countries have laws that regulate what you can put into your legal name.
Jim Rees says:
EBCDIC has many code pages, just like DOS, and by selecting the correct one you can encode characters from any European language you want. So the bank's argument is not completely correct.
Dror Harari says:
Correct but given that there are EBCDIC code page for every country which are not consistent (even the encoding of simple characters like $ may change from one country to another), this prevents a central application from supporting multiple code pages (sets of characters). You would need to store, along with the name, the code page that is used and then add program code to deal with that, something that is not practical.
Suing for this under GDPR makes zero sense. If your bank is an ancient dinosaur, switch bank.
@edent says:
"If you're being discriminated against, just take some time, money, and effort go where you won't be."
How about "Not supporting a diverse range of customers doesn't make sense. If you can't do that, shut down your organisation."?
JohnH says:
Specifically, EBCDIC Code page 37 has all the Latin-1 characters.
https://en.wikipedia.org/wiki/Code_page_37
(I worked on software on AS400 that supported multiples of these codepages. Eventually, tho, we just when to using Unicode back in 1999.)
Jan says:
I‘m happy. It feels like revenge served very cold. I tried to open a Barclays account in 2006 and have a German last name with an ö. The Lady at the bank said she had to spell the name exactly as on my id. I said, use an ö. She said I don’t have one on my keyboard. I said then use oe instead. She said she couldn’t, because she had to spell it exactly like it was on my id. And on and on.
JuggleT says:
if it is a german id just show the machine readable part there the name is written with ae, oe, ue or ss
Jan says:
Didn’t know, thanks! It’s 15 years ago, so I doubt Incan still find her…
Erkin Alp Güney says:
Same in Turkish IDs. Machine readable portion spells my last name as Gueney.
mauvedeity says:
Wow. This is mad bonkers, and I shall be raising this with several places that can’t get my name right forthwith!
Jan (2) says:
"Unicode - encoded as UTF-8 - just works. Yes, I'm sure there are some edge-cases. But if you can't properly store human names in their native language, you're opening yourself up to a lawsuit."
Those edge cases are for a large part in human names. There are rare Chinese characters that are not in unicode, those are rare because they are only used in a few names. And one can question if a language like Chinese with a long tail of very rare characters is not effectively an open-ended set. Someone invented those characters in the past, so why won't that process continue?
All of that is not really relevant to the legal question as judges tend to take into account what is reasonable in the current day and age, which according to this court is to support at least accents.
Erkin Alp Güney says:
In Chinese, you could at least use a combining backspace to split characters into two existing ones and thus overtype two characters together.
Christopher Lord says:
This is not a technical limitation — come up with an encoding just like UTF-8. Encode where possible in EBCDIC, but choose a bit to indicate higher chunks are available. Migrate legacy data to the new encoding, keeping an eye out for corner cases. Tricky bit is that these old bank systems tend to have fixed-width fields, which can mess with multi-byte encodings. I did something like this back when I worked on compilers for IBM as a work-around for our test suites sometimes having utf-8 filenames. Fairly easy to make a idempotent transformation. I should have gone full into consulting! sheesh.
Karl Williamson says:
UTF-EBCDIC allows encoding all Unicode code points, similarly to UTF-8. https://www.unicode.org/reports/tr16/tr16-8.html There are modern Perl 5 releases available that support this which I run on z/OS; Python also is claimed to support EBCDIC, but I don't have experience with it regarding Unicode.
Both EBCDIC 1047 and 037 code pages are isomorphic to Latin1. Almost all European languages should be directly encodable via these.
Ryan said on twitter.com:
wait which guitar tuning is EBCDIC
feeder of cats ''' neurodiverse they/them said on twitter.com:
This is interesting not only for the tech implications but also: Can people whose gender is neither male nor female leverage this to get gender markers, honorifics, etc. corrected? 🤔 shkspr.mobi/blog/2021/10/e…
Fefes Blog said on :
This Article was mentioned on blog.fefe.de
reddit programming said on twitter.com:
EBCDIC is incompatible with GDPR shkspr.mobi/blog/2021/10/e… /post reddit.com/r/programming/…
PUNii 💉💉 said on twitter.com:
EBCDIC🥴
shkspr.mobi/blog/2021/10/e…
Dave Cridland says:
The bank could just use punycode in EBDIC of course. Just try saying that out loud author throwing up a bit.
Petru Ratiu said on twitter.com:
As someone with diacritics in my name, haha, yes.
shkspr.mobi/blog/2021/10/e…
Blair Wyman says:
A point worth mentioning, IMHO, is that this banking application was apparently designed and written in the 1990's, and has been serving its intended purpose for almost 30 years.
If the Y2K or Euro character events did not break it -- and I have no reason to suspect that -- this application may theoretically be unchanged since the day it was written.
Is that a Good Thing? ...or a Bad Thing? I dunno. I just know it is a Thing. it is a Thing.
Timothy says:
Jim Rees and others are correct, and the headline is incorrect. EBCDIC isn't the culprit. EBCDIC has had codepages for eons, and that'd be one classic way the bank could solve this problem -- or should have solved this problem decades ago. It's a well solved problem. Another way, probably better nowadays, is to use Unicode (UTF-8 probably). Whether it's IBM Z or IBM i, these systems definitely support Unicode and have since the 1990s. The implementation could be in hybrid-quick-hacky fashion. For example, put some "trigger/escape code" in the existing name field (with the current not great EBCDIC codepage choice) that then points to a UTF-8 encoded name stored alongside. It'd require an application code change, sure, but it's not rocket science actually.
Here's the real headline: "Bank that won't change anything is incompatible with the GDPR."
José Ramírez says:
Maybe you dont care, but I do!
Charlie Stross says:
@blog Update: it turns out that EBCDIC supports code pages INCLUDING one with all the diacritical marks the bank claimed it was impossible to support! It's been available since an update to the standard in the mid-1980s! (EBCDIC code page 435.)
There's also UTF-EBCDIC, which allows EBCDIC to encode all valid Unicode character code points—over a million of them.
Verdict: the bank in question has an incompetent IT department.