Özellikler
Hile önlemek işin yarısı. Diğer yarısı dönemi yürütmek.
Bir yoklama sistemi yalnızca doğrulama zinciri değildir: ders açılır, liste yüklenir, ders iptal olur, telafi konur, öğretmen hastalanır, öğrenci “kaç hakkım kaldı” diye sorar. Bu sayfa ürünün bu tarafını anlatır.
Her satırda işin ne yaptığı kadar bedeli ve sınırı da yazılı. Bir kurumun ilk toplantıda öğreneceği şeyi son toplantıya saklamanın kimseye faydası yok.
Ölçüm
Sayı yayımlamıyoruz
Bu sayfa ürünün ne yaptığını yazar. Ne kadar iyi yaptığına dair bir sayı vermez — çünkü o sayıyı verebilmek için sahada ölçmek gerekir.
Hiçbir doğruluk oranı yayımlamıyoruz. Yüz doğrulama motorunun başarı oranı, canlılık tespitinin dayanıklılığı ve tur süresi ölçülmedi. Bu sayfada göreceğiniz hiçbir sayı bir performans iddiası değildir; bir sayı verilmediği yerde de tahmin yürütmüyoruz.
Öğretmen
Ders sırasında ve dersten sonra
Öğretmenin bir dönem boyunca gerçekten yapması gereken işler. Kullanım adımları için öğretmen sayfasına bakın.
Ders sürerken kimin verdiği, kimin vermediği ekranda görünür. Bu bir kolaylık değil bir zamanlama meselesi: kapanıştan sonra öğrenmek, düzeltmenin artık imkânsız olduğu anda öğrenmektir.
Telefon ekranındaki karekod 1–2 metreden okunur. 200 kişilik amfide “herkes gelip okutsun” uygulanabilir bir talimat değildir; karekodun projeksiyona çıkması gerekir. Bunun için karekod öğretmenin kendi dizüstü bilgisayarına devredilebiliyor: bilgisayarda çapa ekranı açılır, telefondaki devir karekodu bilgisayarın kamerasına okutulur ve karekod bundan sonra o bilgisayarda üretilip yansıtılır.
Devir ağdan geçmez: telefonla bilgisayar arasında yalnızca kamera vardır, sunucuya hiçbir şey gitmez. Karekod zamana bağlı ve deterministik üretildiği için sayfa açıldıktan sonra internet de gerekmez — ama sayfanın kendisi ağdan indiğinden derse girmeden önce açılması gerekir. Bilgisayarın kamerası yoksa devir satırı elle yapıştırılabiliyor; bu yol daha risklidir ve ekranda öyle yazar.
Bedeli gizlenmiyor: devirle birlikte oturumun çapa anahtarı ikinci bir cihaza geçer ve devir karekodunu gören herkes o anahtarı alır — bu yüzden karekod süresiz değil, kısa süre gösterilir. Sayfanın hangi bilgisayarda açıldığını sistem doğrulayamaz; “öğretmenin bilgisayarı güvenlidir” bir varsayımdır. Karekodun projeksiyondan kaç metreden okunduğu ölçülmedi.
Telefonu bozulan, şarjı biten, listede görünmeyen ya da doğrulaması tutmayan öğrenci elle işaretlenir. Gerekçe zorunludur ve denetim kaydına yazılır.
Bu ekran olmasa dürüst öğretmenin tek çaresi kâğıt yol olurdu; kâğıt yol ise kaydı daha düşük bir güvence düzeyine indirir ve denetim sinyali üretir.
Öğretmen kendi dersinin geçmiş oturumlarını uygulamadan görür, bir oturumun sonucunu ÖBS'ye yüklenmek üzere CSV olarak dışa aktarır. Dosya Excel'in doğru açacağı biçimde üretilir.
Öğretmen uygulamasındaki dışa aktarma oturum başınadır. Dönem geneli birikimli döküm yalnızca yönetim panelinden alınır.
“Yoklamayı verip çıkmak” yalnızca ek turlarla değil, süreyle de kapatılır: bir öğrencinin VAR sayılması için derste en az kaç dakika doğrulanmış olması gerektiğini öğretmen ders bazında belirler.
Eşiğe ulaşılamayan durumlar ayrı işaretlenir — süre yetersiz mi, yoksa turlar eşiği hiç ölçtürmeyecek kadar seyrek mi. İkisi aynı şey değildir ve öğrenciye aynı sonucu doğurmamalıdır.
Ders başka bir dersliğe ya da başka bir saate alınabilir. Değişiklik yalnızca bir not değildir: hatırlatmalar buna göre kayar ve “imkânsız yer değişimi” sinyali doğru dersliğe bakar.
İptal ve telafi, taşımanın özel hâli değil ayrı kavramlardır: iptal edilmiş bir dersi taşınmış saymak, hiç yapılmamış bir dersten öğrenciye devamsızlık yazardı. Sunucu üçünü ayrı ayrı tanır ve iptali yalnızca o tarihe uygular.
Öğretmen uygulamasındaki ekran üç türü de giriyor ve her tür yalnızca kendi alanlarını soruyor: iptalde derslik ve saat hiç sorulmaz, telafide saat zorunludur. Bu bir düzen tercihi değil — iptale derslik yazdırmak, iptali sessizce bir taşımaya çevirirdi.
Ağ yokken alınan yoklama öğretmenin cihazında birikir ve bağlantı gelince gönderilir. Kuyruğun durumu ekranda görünür; “gitti mi gitmedi mi” sorusu belirsiz bırakılmaz.
Bir gönderimin sonucu belirsiz kaldığında kuyruk bunu belirsiz diye işaretler ve sessizce tekrar denemez. Aynı kaydın iki kez yazılmasını bugün veritabanı kısıtı engelliyor; sunucuda bu iş için ayrı bir tekrar koruması yok.
Sistem hiç kullanılamadıysa kâğıt çizelgenin fotoğrafı çekilip kayda bağlanır. Bu kayıtlar en düşük güvence düzeyiyle işaretlenir ve oranı raporlanır: kâğıda düşmek bir kaçış yolu değil, izlenen bir istisnadır.
Öğretmen isterse kamerayla sınıftaki kişi sayısını ölçer ve doğrulama sayısıyla karşılaştırır. Kimse tanınmaz, gömme üretilmez, kare hiçbir yere yazılmaz; çıktı tek bir sayıdır ve hiçbir öğrenciye atfedilmez.
Sayı bir alt sınırdır: örtüşen, arkada oturan, kareye girmeyen öğrenci sayılmaz. Bu yüzden “en az N kişi görüldü” diye gösterilir. Kalabalık ve düşük ışıklı gerçek bir sınıfta ne kadar saydığını bilmiyoruz — bu ölçüm yapılmadı.
Özellik bu nedenle kendiliğinden çalışmaz: öğretmenin açıkça başlatması gerekir. Sayım tamamen cihazda kalır — sunucunun sınıf sayımı diye bir kavramı yoktur — ve hiçbir yoklamayı değiştirmez.
Sayım başarısız da olabilir ve bu durum sessiz bırakılmıyor: kamera açılmazsa ya da kareler art arda okunamazsa ekran “0 kişi” demek yerine ne olduğunu söyler, sayımı tekrar deneme yolunu ve “sayımı kendim yaptım” girişini birlikte sunar. Elle girilen sayı bir ölçüm değildir ve öyle anlatılmıyor: ekranda öğretmen beyanı olarak etiketlenir, ölçüme ait olan “en az N kişi görüldü” dilini kullanmaz, doğrulama sayısıyla karşılaştırılmaz, hiçbir yere kaydedilmez ve ekran kapanınca kaybolur.
Hastalanan öğretmenin dersini bir başkası açabilsin diye süreli ve devredilemez bir vekâlet verilebilir. Dersin asıl öğretmeni değişmez: “bu dersin öğretmeni kim” ile “bu derste kim işlem yapabilir” ayrı tutulur, yoksa vekilin işaretlemeleri asıl öğretmenin şeffaflık oranına yazılırdı.
Vekâlet panelin Şube yönetimi ekranından verilir ve kaldırılır; gerekçe zorunludur, kaldırma satırı silmez — kimin ne zaman yetkilendirildiği görünmeye devam eder. Vekilin öğretmen uygulamasında ayrı bir ekranı yoktur: dersi normal şekilde açar, yetkiyi sunucu tanır.
İtiraz dersin öğretmeninin önüne düşer. Öğretmen uygulamasında “Derslerim” ekranından açılan bir itiraz kuyruğu vardır; kapsam sunucudan gelir ve öğretmen kendi şubeleriyle sınırlıdır. İtiraz incelenir, gerekçe yazılarak kabul veya reddedilir; gerekçesiz karar istek gönderilmeden engellenir.
Ekranın iki şeyi bilerek yapmadığını da yazmak gerekir. Risk puanı ya da bandı gösterilmez: puanı gördükten sonra verilen karar bağımsız bir gözlem olmaktan çıkardı. Karar çevrimdışı kuyruğa alınmaz: karar öğrenciye verilen cevaptır ve saatler sonra ulaşan bir cevap, cevaplanmamış demektir. Gönderim başarısız olursa itiraz açık kalır, yazdığınız gerekçe formda durur ve hiçbir yerde “sonuçlandırıldı” yazmaz. Karar geri alınamaz ve bu, karardan önce söylenir.
Kabul edilen bir itirazın yoklama kaydına uygulanması da aynı ekranda: itiraz kabul edildikten sonra öğretmen düzeltmeyi oradan yapar, gerekçe yazar ve düzeltme denetim kaydına geçer. Düzeltme bilerek ayrı bir adımdır — kabul etmek ile kaydı değiştirmek aynı şey değildir ve ikisi ayrı ayrı kayda geçer.
Öğrenci
Öğrencinin elinde ne var
Öğrencinin uygulamayı açma sebebi genellikle tek bir sorudur: kaç hakkım kaldı? Ayrıntı için öğrenci sayfasına bakın.
Her başarılı yoklama için telefonda imzalı bir makbuz oluşur. Makbuzlar birbirine zincirlenir; aradan biri sessizce çıkarılırsa zincir kırılır ve bu görülür.
Öğrenci tek dokunuşla makbuzlarını sunucu kaydıyla karşılaştırır: fark varsa itiraz etmeden önce haberdar olur. Karşılaştırma öğrencinin başlattığı bir işlemdir, arka planda kendiliğinden çalışmaz.
Her makbuzun imzası telefonda doğrulanır ve sonuç makbuz listesinde görünür — ayrıntısı aşağıda, Kanıt bölümünde.
“Makbuzum var ama kayıt yok” durumunda uygulamadan tek dokunuşla itiraz açılır ve makbuz itiraza kanıt olarak bağlanır.
Ekran verdiği sözü sonuna kadar tutar. Eksik bulunan makbuzların hepsi için itiraz açılır — yalnızca ilki için değil; kayıp genellikle tek tek değil, bir oturum ya da bir gün boyunca olur. İstek beklenir: gönderim bitmeden ekranda hiçbir sonuç yazmaz. Sonuç da söylenir ve üç hâl ayrılır: hepsi açıldıysa “kaydedildi”, hiçbiri açılamadıysa “gönderilemedi”, bir kısmı açılamadıysa bu ayrıca yazılır — kaç makbuz için kaydedildiği ve kaç makbuz için sunucuya ulaşmadığı, makbuz makbuz. Sessizce “oldu” demek en kötü seçenekti: öğrenci kaybettiği yoklamalar için bir daha hiç başvurmazdı. Başarısız itiraz kuyruğa alınmaz; elle yeniden denemesi beklenir ve ekran bunu söyler.
İtiraz karara bağlanır, gerekçesi yazılır ve kabul edilen bir itiraz yoklama kaydını gerçekten düzeltir — düzeltme denetim kaydına geçer.
Öğrenci “itirazım ne oldu?” sorusuna uygulamadan bakar: itirazın durumu ve öğretmenin yazdığı gerekçe görünür. Gerekçenin görünmesi önemli — görünmezse itiraz tek yönlü bir kutu olurdu.
Kapanan oturumların kaçında VAR / KISMİ / YOK yazıldığı, devamsızlık oranı, dönemlik sınır ve kalan hak sunucuda hesaplanır. Kısmi katılımın devamsızlığa hangi ağırlıkla sayılacağı da kurumun kuralından gelir.
Öğrenci bunu uygulamadaki Devamım sekmesinden görür: ders ders oran, dönemlik sınır ve kalan hak. Sınır tanımlı değilse sayı uydurulmuyor, "tanımlı değil" yazıyor; sınır aşıldıysa bu açıkça söyleniyor. Ekranda sunucunun kendi çekincesi de aynen görünür: bu ekran bilgilendirme amaçlıdır, ders geçme kararı vermez.
Yaklaşan dersler için hatırlatma alınabilir ve bu iki ayrı yoldan gelir. Birincisi cihazda kalır: telefon haftalık programı alır ve hatırlatmayı kendisi zamanlar. İkincisi sunucu bildirimidir — ders taşındığında, iptal edildiğinde veya telafi verildiğinde sunucu haber gönderir. Değişiklik geri alındığında da gönderir, ve bu ayrı ayrı söylenir: iptalin geri alınması “derse gel”, telafinin geri alınması “gelme” demektir. Tek bir “değişiklik geri alındı” cümlesi öğrenciyi yanlış yere gönderebilirdi.
Bir sözü geri aldığımızı açıkça yazıyoruz. Bu sayfa daha önce “bildirimleri sunucu göndermez, cihaz jetonu diye bir depo hiç oluşmaz” diyordu. Sunucu bildirimi eklendiği an o cümle yanlış oldu: artık cihaz jetonu saklanıyor ve bu, kaybedilmiş bir gizlilik özelliğidir. Gerekçesi ve kabul edilen riskler ADR-021’de yazılı.
Bildirim metninde asla şunlar bulunmaz: yoklama sonucu, itiraz durumu, risk işareti, öğrencinin adı veya numarası. Yalnızca dersin kendisine ait bilgi geçer — ders kodu, yeni saat, yeni derslik. Sebebi basit: bildirim kilitli ekranda görünür ve telefonu eline alan herkes okur.
Cihazda zamanlama kaldırılmadı, sunucu bildirimi onun yerine değil yanına geldi — çünkü push sessizce düşebilir. Hatırlatma ekranı bu sınırı kendi cümleleriyle yazıyor: uygulamayı uzun süre açmaz ve bildirim de ulaşmazsa, o sırada yapılan bir değişiklikten habersiz kalabilirsiniz. Sunucu bildirimi her cihaza gitmez. iPhone’da hiç çalışmaz — uygulamanın iOS sürümü yoktur. Android’de ise Google Play Servisleri gerekiyor: Çin’de satılan Huawei modellerinin tamamı ve bazı Xiaomi, Oppo, Vivo modelleri o bileşen olmadan satılır ve o telefonlara bildirim ulaşmaz. Uygulamanın geri kalanı bu telefonlarda normal çalışır; öğrenciye sebebiyle birlikte söylenir.
Öğrenci isterse uygulamayı kendi yüzüyle kilitler; kendi cihazındaki kendi motoruyla, aynı şablonla. İsteğe bağlıdır ve kapatmak yoklamayı, devam durumunu veya öğretmenin gördüğünü etkilemez.
Kurulumda telefonun gerekli donanım güvencelerini sağlayıp sağlamadığı sınanır. Sağlamıyorsa öğrenci öğretmen onaylı yola yönlendirilir; sessizce başarısız olan bir doğrulama bırakılmaz.
Kurum
Yönetici tarafı
Bir dönemin kurulması, izlenmesi ve kapatılması. Kurulum adımları okul sayfasında.
Öğretmenler, dersler, haftalık program, öğrenciler ve ders kayıtları tek bir yüklemeyle aktarılır. Önce kuru çalıştırma yapılır: hiçbir şey yazılmadan hangi satırın neden reddedileceği satır satır raporlanır. Yükleme yeniden çalıştırılabilir; aynı satır ikinci kez kayıt üretmez.
Yükleme ekranı bir şeyi açıkça söyler ve bu bir uyarı metni değil işlevsel bir kuraldır: liste yüklemek yüz doğrulamayı açmaz. Onay ayrı bir adımdır ve öğrencinin kendisinden gelir.
Panelde: yöntem dağılımı, elle işaretleme ve kâğıt oranı, ortalama katılım, itiraz sayısı, uygulamayı hiç kullanmamış öğrenci sayısı, oturum açan öğretmen sayısı.
Bu raporlar risk tablolarına hiç dokunmaz. Bir risk skorunun yanlışlıkla “yoklama durumu” gibi okunma ihtimali böylece tamamen ortadan kalkar.
Aynı kurulum birden çok kuruma hizmet edebilir. Her sorgu kurum sınırından geçer ve süzgeç tek bir yerde toplanmıştır: sınırı atlayan tek bir sorgu, kurumlar arası sızıntı demektir.
Parolasını unutan öğretmen sistemden kalıcı olarak düşmez: sıfırlama ister, yeni parolasını kendisi yazar. Ayrılan öğretmenin hesabı kapatılıp gerekirse yeniden açılır, gerekçesi denetim kaydına yazılır. Yönetici kendi hesabını kapatamaz — bu bir kolaylık kısıtı değil, kurumu yöneticisiz bırakan geri dönüşsüz bir işlemi engelleme.
Parola sıfırlama uçtan uca yürür: panelde “Parolamı unuttum” bağlantısı, e-postayla gelen tek kullanımlık bağlantı ve o bağlantının açtığı parola belirleme sayfası. Kayıtlı olmayan bir adres için de aynı yanıt döner — hangi e-postanın sistemde olduğu dışarıya sızmasın diye.
Hesap kapatma panelden yapılır ve ekran ne yaptığını olduğu kadar ne yapmadığını da yazar: kişi bir daha giriş yapamaz, ama kayıt silinmez — geçmiş yoklama kayıtları, makbuzları ve denetim izi olduğu gibi durur, gerekirse hesap yeniden açılır. Kapatmayı silmekle karıştıran bir yönetici en pahalı hatayı yapardı.
Dersten çekilen öğrenci ders kaydından düşürülebilir ve gerekirse geri alınabilir; aksi hâlde dönem boyunca her hafta devamsız yazılırdı. Panelde Şube yönetimi ekranından yapılır; gerekçe zorunludur ve denetim kaydına geçer. ADR-009 gereği kayıt silinmez: yalnızca çekilme tarihinden sonraki oturumlar etkilenir, geçmiş olduğu gibi kalır.
CSV her zaman ve herkese açıktır. Üstüne, öğretmenin kendi ÖBS oturumunu kendi cihazında açtığı yol gelir: sunucu ÖBS'ye hiç bağlanmaz, şifre sunucuya hiç gitmez, adresler elle tanımlanır ve etkinleştirme yazılı kurumsal izin referansı ister.
Geri yön otomatik değildir: yoklama sonucu ÖBS'ye bir dosya olarak indirilip elle yüklenir. Sistemin ÖBS'ye yazan bir ucu yoktur ve bu, şifre saklamama kararının doğal sonucudur.
Kurumların kendi tarafında uygulayabileceği referans API spesifikasyonu yayımlanmıştır. Hazır bir Moodle eklentisi ve LTI 1.3 entegrasyonu yoktur — bu seviyede entegrasyonu kurum kendi tarafında yazar.
Gün sınırları kurumun saat dilimine göre hesaplanır; sunucunun saatiyle okulun günü ayrıştığında gece yarısına yakın dersler yanlış güne yazılırdı. Hesaplama her yerde bu değeri kullanıyor.
Değer panelden değiştirilir: Akademik takvim sekmesindeki Kurum saat dilimi kartından. Geçersiz bir ad kabul edilmez ve kayıt değişmeden kalır — sessizce varsayılana düşseydi yönetici “kaydedildi” cevabını alır, hatırlatmalar fark edilmeden yanlış saate kayardı. Değişiklik gerekçe ister ve eski ile yeni değeriyle birlikte denetim kaydına yazılır. Veritabanına elle yazılmış bozuk bir değer varsa panel bunu gizlemez. Dilim değişince ders saatleri kaymaz — 09:40 yine 09:40’tır; değişen şey o saatin hangi mutlak ana denk geldiğidir, ve telefondaki hatırlatmalar uygulama programı bir sonraki kez aldığında yeniden kurulur, anında değil.
Kurum düzeyinde ders yapılmayan günler tanımlanabilir; o günlerde ders saati üretilmez, hatırlatma gitmez, öğrenci boşuna gelmez ve yapılmamış ders devamsızlık paydasına girmez.
Panelde Akademik takvim sekmesinden tanımlanır. Resmî tatiller hazır gelmiyor — her kurumun kendi günlerini girmesi gerekiyor.
Okunamayan bir denetim kaydı denetim kaydı değildir: kimin ne zaman hangi öğrencinin risk geçmişine hangi gerekçeyle baktığını kaydeden ama kimsenin bakamadığı bir tablo, ne itirazda ne veri sahibi başvurusunda işe yarar. Kayıt bu yüzden okunabilir — ve okumanın kendisi de gerekçe isteyip yine denetim kaydına yazılır.
Panelde Denetim kaydı sekmesinden okunur; eylem türüne ve tarihe göre süzülebilir.
İtiraz açılır, incelenir ve karara bağlanır; kabul edilen itiraz yoklama kaydını gerçekten düzeltir. Yönetici, panelin Risk motoru sekmesinden risk işaretine yapılan itirazları karara bağlar.
Yoklama itirazları ise öğretmen uygulamasında karara bağlanır (yukarıya bakın) — çünkü o karar dersin öğretmenine aittir.
Giden her e-postanın (davet, parola sıfırlama, kurum onayı, destek) sonucu kayda geçer; içeriği saklanmaz. Gönderilemeyen bir davet bu iz olmasa hiçbir yerde görünmezdi: öğretmen “davet gelmedi” der, yönetici “gönderdim” der ve ikisi de haklı olurdu.
Panelde Denetim kaydı sekmesinden okunur ve kurum sınırına tabidir: yönetici yalnızca kendi kurumunun gönderim kayıtlarını görür. Kurumu belli olmayan kayıtlar — destek formundan doğan bir e-posta gibi — hiçbir kurum yöneticisine gösterilmez. Bunları bir kuruma atamak, ancak adresten kurum tahmin etmekle olurdu; o tahmin kapatmaya çalıştığımız sızıntının kendisidir.
Kanıt
Makbuz bize sorulmadan doğrulanır
Ürünün en önemli kararı burada. Bir makbuzun geçerliliğini yalnızca onu üreten sunucu doğrulayabiliyorsa, o makbuz sunucuya karşı bir delil değildir.
Yeni makbuzlar Ed25519 ile imzalanır. Makbuzu doğrulamak için gereken açık anahtarlar, kimlik doğrulaması istemeyen herkese açık bir uçtan yayımlanır.
Kimlik istememesi bilinçlidir: anahtarı almak için önce sunucuya kimliğinizi kanıtlamanız gerekseydi, doğrulama sunucunun iznine bağlı olurdu — yani bağımsız olmazdı.
Bir kurulum ayrıntısını atlamıyoruz: bu, kurulumda imzalama anahtarının tanımlanmış olmasına bağlıdır. Eski, simetrik anahtar halkasıyla yükseltilen bir kurulumda yeni anahtar tanımlanana kadar makbuzlar eskisi gibi imzalanmaya devam eder ve bağımsız doğrulanamaz. Bu bir kurulum adımıdır ve anahtar operatörün elindedir. Hangi durumda olduğunu makbuz kendi üstünde söyler.
Doğrulanabilir bir imza, doğrulayan bir araç olmadan bir söz olarak kalır. Öğrenci uygulaması bu işi kendisi yapar: açık anahtarları herkese açık uçtan alıp diskte saklıyor ve her makbuzun imzasını cihazda sınıyor. Anahtarlar bir kez alındıktan sonra doğrulama çevrimdışı da çalışır.
Sonuç bir “geçerli/geçersiz” anahtarı değil, üç ayrı durumdur: imza doğrulandı, imza geçersiz (içerik kurcalanmış) ve doğrulanamadı (anahtar alınamadı ya da makbuz simetrik imzalı). Üçünü tek bayrağa indirmek en pahalı hata olurdu: “anahtarı indiremedim” bir ağ sorunudur, “imza tutmuyor” bir suçlama. Ekran ikisini asla aynı şey gibi göstermez ve “doğrulanamadı” hâline sahtecilik demez.
Simetrik anahtarla imzalanmış eski makbuzlar bağımsız doğrulanamaz ve her makbuz bunu kendi üstünde söyler. Bir doğrulayıcı, “bu makbuz neden bağımsız doğrulanamıyor” sorusunu sunucuya sormadan cevaplayabilir. Gizli anahtarın kendisi hiçbir zaman yayımlanmaz — o, herkese makbuz uydurma yetkisi vermek olurdu.
Öğrencinin cihazı kanıtı donanıma bağlı bir anahtarla imzalar ve sunucu bu imzayı doğrular. İmzayı kaydetmek yetmez: kaydedilip doğrulanmayan bir imza, alan dolu olduğu için akışı çalışıyor gibi gösterirdi. Anahtarın “her kullanımda kullanıcı doğrulaması ister” kısıtı da istemcinin beyanından değil tasdik verisinden okunur.
Ama varsayılan kip hâlâ geçiş kipidir: imzasız gelen bir kanıt bugün reddedilmez, işaretlenir. Zorunlu kipe geçmek bir yapılandırma kararıdır ve bir kurum bunu ancak kendi cihaz filosunu tanıdıktan sonra vermelidir. Tasdik zinciri üreticinin kök sertifikasına kadar doğrulanır ve sonuç dört durumda kaydedilir: zincir yok · doğrulanamadı · kurcalanmış · doğrulandı. Kök sertifikalar yazılımın içinde sabitlenmiştir — çalışma anında internetten çekilmezler, çünkü bu, sınıftaki yoklamayı bir ağ bağlantısının çalışmasına bağlamak olurdu. “Doğrulanamadı” bir suçlama değildir: tasdik belgesi üretemeyen bir telefon, tanımadığımız bir üretici kökü ya da eskimiş bir iptal listesi de oraya düşer. Ama hiçbir durum kanıtı reddetmez — kurcalanmış görünen bir zincir bile işaretlenip kabul edilir. Bilerek açık bırakılan nokta budur: zincir doğrulanır, ama sonucuna göre davranılmaz.
Ders bitince tüm makbuzların imzalı bir özeti yayımlanır ve makbuz sayısı doğrulama sayısıyla karşılaştırılır. Fark varsa kayıp sistem tarafındadır ve öğrenci itiraz etmeden önce görünür.
Motor çalışıyor ama gölge modda: sinyalleri yazar, hiçbir aksiyon almaz. Ağırlıkların hiçbiri sahada ölçülmedi; gerekçeli tahminlerdir.
Hangi sinyalin sayıldığı kayıt altındadır ve varsayılan kapalıdır — hakkında karar verilmemiş bir kural sessizce çalışmaz. Bir kuralı açmak bile motoru gölge moddan çıkarmaz: en fazla skora girmesini ve yöneticiye görünmesini sağlar, hiçbir yoklama sonucunu değiştiremez.
Sınırlar
Ürünün sınırları
Bu bölüm yukarıdaki listenin devamıdır, dipnotu değil: bir kurum kurulum kararını bunları bilerek verir.
- Uygulama Android'de çalışır. Öğretmen ve öğrenci uygulamalarının hedefi Android'dir. iPhone kullanan öğrencinin yoklaması öğretmen onaylı yolla alınır — bu da tam geçerli bir yoklamadır; sunucu bildirimleri ise o telefonlara ulaşmaz.
- Sınıf sayımı varsayılan kapalıdır. Yukarıda anlatıldı; burada tekrar ediyoruz çünkü açık sanılması en pahalı yanlış anlamalardan biri olurdu. Öğretmen açıkça başlatmadıkça çalışmaz ve hiçbir yoklamayı değiştirmez.
- Süreklilik varlık sinyaliyle değil turlarla ölçülür. Öğrencinin cihazı sürekli bir varlık sinyali yayınlamaz; yakınlık mimarisi ters yönde çalışır — öğretmenin cihazı yayınlar, öğrencinin cihazı dinler. Ders boyunca sınıfta kalmak bu yüzden ders içi rastgele turlarla ve süre eşiğiyle ölçülür.
- Kurumsal tekil oturum açma (SSO) yoktur. Hesaplar davet ve parola ile açılır. Büyük bir üniversitenin bilgi işlem birimi için bu genellikle bir eksiktir ve bunu biliyoruz.
- Hazır bir öğrenme yönetim sistemi eklentisi yoktur. Entegrasyon üç yoldan yürür: CSV, öğretmenin kendi cihazında açtığı ÖBS oturumu ve kurumların kendi tarafında uygulayabileceği referans API. Moodle ve LTI 1.3 bu üçüncü seviyededir.
- Risk sinyallerinin silinmesini kurulum zamanlar. Sinyaller belli bir süre sonra değerlendirmeden düşer; kayıtları gerçekten silen bakım işi zamanlanmış olarak gelmez — kurulumu yapan kişinin bunu bir görev olarak tanımlaması gerekir. Sistem, süresi geçtiği hâlde duran kayıt olup olmadığını ayrıca raporlar.
Bu listeyi kısaltmak kolay olurdu. Kısaltılmış hâli ilk kurulum toplantısında çökerdi — ve o toplantıya kadar kurulmuş güvenin tamamını beraberinde götürürdü.