ABD SSN biçimi, tek bir cümleyle özetlenebilir: dokuz rakam, üç parça hâlinde yazılır. Bu yazıda parçaların ne anlama geldiğini, hangi numaraların hiçbir zaman verilmediğini ve bu numaranın neden bir kimlik belgesi sayılmadığını; sonunda da test verisi hazırlarken hangi sınırların korunması gerektiğini bulacaksınız.
ABD SSN kaç rakamdan oluşur ve nasıl yazılır?
Sosyal güvenlik numarası dokuz rakamdan oluşur ve alışılmış yazımda üç parçaya ayrılır. İlk parça üç, ikinci parça iki, üçüncü parça dört rakam taşır. Parçalar arasına tire konur; bazı formlarda parçalar boşlukla ayrılır, bazılarında ise numara hiç ayraç kullanılmadan tek blok hâlinde istenir.
Bu üç parçanın tarihsel adları vardır. İlk parçaya bölge numarası, ikinciye grup numarası, üçüncüye seri numarası denir. Bu adlar kulağa coğrafi bir anlam taşıyormuş gibi gelir; oysa bugünkü işleyişte numaranın kendisi bir yer ya da zaman göstermez. Yine de alanların ayrı ayrı denetlenmesi gerekir, çünkü geçersiz aralıklar tam olarak bu parçaların içinde tanımlanmıştır.
Yazım açısından en sık yapılan hata, numarayı sayı olarak saklamaktır. Rakamlardan oluşsa da numara aritmetik bir değer değildir; baştaki sıfırlar anlamlıdır ve sayı tipine dönüştürüldüğünde bu sıfırlar kaybolur. Bu yüzden alan her zaman metin olarak tutulmalıdır.
Hangi numara aralıkları hiçbir zaman verilmez?
Numaranın geçerliliğini değerlendirirken kullanılan ilk ölçüt, hiç dağıtılmamış aralıkları elemektir. ABD Sosyal Güvenlik Kurumu, belirli aralıkların hiçbir koşulda verilmediğini belirtir.
- Bölge numarası olarak sıfırlardan oluşan değer kullanılmaz.
- Bölge numarası olarak altı yüz altmış altı kullanılmaz.
- Bölge numarası dokuz yüz ile dokuz yüz doksan dokuz arasında olamaz.
- Grup numarası olarak sıfır sıfır verilmez.
- Seri numarası olarak dört sıfır verilmez.
Bu listenin tamamı, numaranın geçerliliğini denetleyen bir kod için doğrudan bir kontrol listesidir. Ancak buradan çıkarılacak sonucu doğru okumak gerekir: listede yer almayan bir numara, dağıtılmış bir numara anlamına gelmez. Bu kurallar yalnızca açıkça geçersiz olan biçimleri eler; geri kalan her şeyi geçerli sayar. Resmî kaynağın kendi açıklaması için Sosyal Güvenlik Kurumu sayfasına bakabilirsiniz.
SSN neden kimlik belgesi sayılmaz?
Bu, konunun en çok karıştırılan yanıdır. Sosyal güvenlik numarası, adı üstünde, bir sosyal güvenlik sistemine kaydı tanımlamak için verilir. Bir kimlik kartı değildir, fotoğraf taşımaz, bir sahibini doğrulamaz ve bir kişinin kim olduğunu kanıtlamak için tasarlanmamıştır.
Pratikte bu ayrım şu anlama gelir: bir numaranın biçimsel olarak geçerli görünmesi, o numaranın gerçek bir kişiye ait olduğunu göstermez. Biçim denetimi yalnızca yazım hatalarını ve açıkça geçersiz aralıkları yakalar. Numarayı kimlik kanıtı yerine koyan bir akış, doğrulamanın aslında yapılmadığı bir akıştır.
Amerika Birleşik Devletleri’nde kimlik göstergesi olarak kullanılan belgeler eyalet düzeyinde düzenlenir; federal düzeyde tek bir kimlik numarası sistemi yoktur. Bu yüzden başka ülkelerdeki ulusal kimlik numarası alışkanlığını buraya taşımak yanıltıcıdır. Numaranın dokuz rakamlı yapısı ile bir kimlik belgesinin taşıdığı işlev birbirinden ayrı düşünülmelidir.
SSN’in ilk üç rakamı nerede doğduğunuzu söyler mi?
Hayır, söylemez. Uzun yıllar boyunca numaralar bölge numarasına göre dağıtıldı ve bu numara başvurunun yapıldığı bölgeyle ilişkiliydi. Bu uygulama 2011’de değişti; numaralar artık rastgele dağıtılıyor ve rakamların hiçbiri kişinin nerede doğduğunu ya da ne zaman başvurduğunu göstermiyor.
Bu değişikliğin test verisi açısından önemli bir sonucu vardır. Eski alışkanlıkla, numaranın ilk üç rakamına bakıp bir bölge ya da eyalet atayan bir kod yazılırsa, o kod yalnızca geçmişe ait bir varsayımı tekrarlamış olur. Bugün üretilen kayıtlar için böyle bir eşleme kurmak, gerçek dünyada karşılığı olmayan bir bağ üretir.
Aynı şekilde, numaranın içinden doğum yılı çıkarmaya çalışmak da anlamsızdır. Doğum tarihi bu numarada hiçbir biçimde kodlanmaz. Bir kayıtta ikisinin de bulunması gerekiyorsa, ikisi ayrı alanlar olarak üretilmeli ve aralarında tutarlılık kurulmalıdır. Bu bağın nasıl korunduğunu kimlik alanlarında tutarlılık yazısında ele alıyoruz.
Test verisinde SSN kullanırken hangi sınır korunur?
Test verisi hazırlarken geçerli olan kural açıktır: gerçek bir kişiye ait numara hiçbir koşulda kullanılmaz. Böyle bir numaranın test ortamına girmesi, o kişinin verisini ikinci bir yere kopyalamak demektir; ayrıca hata kayıtlarında ve ekran görüntülerinde dolaşmaya başlayan bir numarayı geri toplamak mümkün değildir.
Bunun yerine, biçime uyan ama hiçbir kişiye ait olmayan bir numara üretilir. Bu numara, uygulamanın beklediği parça yapısını taşır, uzunluk denetiminden geçer ve geçersiz aralıklara düşmez; ama resmî bir kayıtta karşılığı yoktur. Burada altı çizilmesi gereken nokta şudur: bu tür kayıtlar yalnızca test amaçlıdır ve gerçek bir kişiyi taklit etmek için kullanılamaz; bir kuruma gösterilerek hesap açılamaz, bir doğrulama adımı geçilemez.
Sitenin ürettiği kayıtların tamamı bu ilkeyle çalışır. Kimlik üreticisi sayfasında ülke olarak ABD seçildiğinde, diğer alanlarla birlikte bu biçime uyan bir numara da üretilir ve aynı kimlik anahtarı her seferinde aynı kaydı geri getirir.
Geliştiriciler için: doğrulamayı ne kadar sıkı tutmalı?
Bir numara alanı için yazılabilecek en sade doğrulama, uzunluk ve karakter kümesi denetimidir: dokuz rakam, başka hiçbir karakter yok. Bunun üzerine geçersiz aralıkların kontrolü eklenir. Bu iki adım, kullanıcıların yaptığı yazım hatalarının büyük bölümünü yakalar ve gereksiz karmaşıklık getirmez.
Bunun ötesine geçen kontroller dikkatli kurulmalıdır. Numarayı bir bölgeye ya da bir doğum yılına bağlayan her kural, artık geçerli olmayan bir varsayıma dayanır ve gerçek kullanıcıları gereksiz yere reddeder. Doğrulamanın amacı kişinin kim olduğunu anlamak değil, verinin beklenen biçimde geldiğinden emin olmaktır.
Alanı metin olarak saklamak da teknik bir zorunluluktur; baştaki sıfırlar sayı tipinde kaybolur ve kayıt bozulur. Görüntülerken ayraç eklemek, saklarken yalnızca rakamları tutmak en yaygın ve en güvenli yaklaşımdır. Ekranda numaranın tamamını göstermek yerine yalnızca son dört haneyi göstermek, günlük kullanımda hem yeterli hem de daha az veri taşır.
Numaranın hata kayıtlarına düşmesi ayrı bir başlıktır. Bir doğrulama hatası oluştuğunda kullanıcının girdiği değerin olduğu gibi kaydedilmesi yaygın bir alışkanlıktır; oysa bu, veriyi asıl amacının dışına taşır ve kimin erişebileceği belirsiz bir yere yazar. Hata mesajında alanı maskeleyip yalnızca hatanın türünü bildirmek, sorunu çözmeye yeter ve gereksiz birikimi önler. Aynı kural, hata ayıklama çıktıları ve ekran görüntüleri için de geçerlidir.
Son olarak, test kümenizde en az üç örnek bulundurun: geçerli biçimde bir numara, geçersiz bir aralığa düşen numara ve ayraçlarla yazılmış numara. Üçüncüsü, formun farklı yazımları kabul edip etmediğini gösterir; bu ayrıntı çoğu zaman yalnızca gerçek kullanıcı geldiğinde fark edilir. ABD kayıtlarının diğer alanları için ABD adres yapısı ve ülke bazlı biçim özetleri için ABD ülke sayfası iyi birer başlangıçtır.
Sonraki adımlar
Numara alanını tasarlarken önce biçim kurallarını, sonra geçersiz aralıkları, en sonunda da diğer alanlarla kurduğu bağları yazın; bu sıra, eksik kalan bir kuralı fark etmenin en kolay yoludur. Farklı ülkelerin numaralarını karşılaştırmak isterseniz ülkelere göre kimlik numarası uzunluğu yazısı iyi bir özettir.