Formlarda geçerli e‑imzalar alabilen, çevrimdışı imzalamayı destekleyen ve backend ile güvenli şekilde eşleyen bir mobil uygulama oluşturmanın adımlarını öğrenin.

Bir mobil imza uygulaması sadece "ekrana adınızı çizme" özelliğinden daha fazlasıdır. Uçtan uca bir iş akışıdır: niyeti yakalayın, bunu doğru belgeye ekleyin, neler olduğunu kaydedin ve sonucu daha sonra saklamayı, paylaşmayı ve doğrulamayı kolay hâle getirin.
İnsanlar “dijital imza” derken birkaç farklı şeyi kasteder. Uygulamanız bir veya daha fazlasını destekleyebilir:
Çoğu mobil e‑imza uygulaması birkaç kalıp etrafında toplanır:
Rehberin geri kalanı güvenilir bir imzalama deneyimi sunmak için önemli olan konulara odaklanır:
Mobil bir e‑imza uygulaması sadece cam üzerinde parmak karalaması almak değildir. Birisi “Bunu kim imzaladı, ne zaman ve değiştirilmiş mi?” diye sorduğunda dayanacak imzalar gerekir.
Günlük anlaşmaların çoğu—hizmet yetkilendirmeleri, teslimat onayları, dahili onaylar—elektronik imza ile genelde kabul edilebilir; yeter ki imzalayanın onayladığını gösterebilesiniz ve belge sonradan değiştirilmemiş olsun.
Daha yüksek riskli durumlar için daha sıkı yöntemler gerekebilir (ör. düzenlenmiş finans belgeleri, bazı gayrimenkul veya devlet formları, belirli bağlamlarda sağlık onayları veya sözleşmede özel bir imza standardı talep edilmişse). Gereksinimler ülkeye, eyalete ve sektöre göre geniş ölçüde değişir.
Asgari olarak saklayın:
Bunu ürün rehberi olarak ele alın, hukuki tavsiye olarak değil. Yayından önce, hizmet verdiğiniz bölge ve sektör için imza, saklama ve kimlik gereksinimlerini doğrulayın—özellikle düzenlenmiş müşterilere hizmet veriyorsanız.
Ekranları tasarlamadan veya araçları seçmeden önce mobil e‑imza uygulamanızın ne yapması gerektiğini netleştirin. Kesin bir iş akışı tanımı, özellikle çevrimdışı form imzalama, onaylar ve güvenli belge depolama eklediğinizde yeniden çalışmayı önler.
Farklı girdi türleri her şeyi UX'ten depolamaya kadar şekillendirir.
Birden fazla türü destekleyecekseniz, v1'de neyin çıkacağını ve nelerin sonraya kalabileceğine karar verin.
Her belgede kim ne yapabilir haritasını çıkarın. Yaygın roller:
Ayrıca bir kişinin birden fazla rolü olup olmayacağını ve birinin reddetmesi durumunda ne olacağını belirleyin.
Mutlu yolunuzu bir cümleyle yazın: form oluştur → doldur → imzala → sakla → paylaş.
Sonra “gerçek hayat” adımlarını ekleyin: hatırlatmalar, yeniden atama, düzenlemeler, iptaller ve sürümleme (imzadan sonra hangi değişikliklere izin veriliyor?).
İmzaların nasıl toplanacağını açıkça belirtin:
Bu seçimler, imzalar için denetim izi, kimlik kontrolleri (biyometrik dahil) ve kimin neyi ne zaman imzaladığını kanıtlama biçiminizi etkiler.
Bir telefon üzerindeki imza akışı “doldur, imzala, bitti” gibi hissettirmeli—bir sonraki adım hakkında belirsizlik olmamalı. Mükemmel UX, yasal ayrıntılardan çok daha fazla formun tamamlanmasını sağlar.
Farklı kullanıcılar farklı şekillerde imzalar; mobil cihazlar da değişir. En azından şunları sağlayın:
Varsayılanı akıllı yapın: bir stilus algılanırsa çizim ön seçilsin; aksi halde seçenekler görünür kalsın.
Çoğu form imzadan daha fazlasını gerektirir. Küçük ekranlarda hızlı olmaya yardımcı alan araçları ekleyin:
Kullanıcı “İleri”ye dokunduğunda bir sonraki gerekli alana atlayın ve ilerlemeyi gösterin (örn. “3 / 7”).
İnsanlar titrek parmaklarla, parlama ve dikkat dağınıklığıyla imzalar. Koruyucu önlemler ekleyin:
Ayrıca kullanıcıların neyi imzaladığını bilmeleri için final belge bölümünün basit bir önizlemesini gösterin.
Mobil imzalama herkes için çalışmalı:
Kullanıcılar güvenle imza atamıyorsa imzalamazlar—bu yüzden UX'i ana özellik olarak ele alın.
“İmza”yı belgeye koymak işin yarısıdır. Diğer yarısı ise son dosyanın her yerde doğru görünmesi, bozulmaması ve ileride doğrulanabilir olmasıdır.
PDF'leri sunucu tarafı bir şablondan (veya iyi test edilmiş bir istemci şablonundan) oluşturun ki alan pozisyonları cihazlar arasında kaymasın. Yazdırma‑PDF kısayollarından kaçının; fontlar ve aralık değişebilir.
Formlar veri odaklıysa form verilerini ayrı (JSON) olarak saklayın ve paylaşım için insan tarafından okunabilir bir PDF sürümü de oluşturun.
İmza işaretini yerleştirmenin iki yaygın yolu vardır:
Pratik bir yaklaşım, imzalayan düzenlerken açıklamaları tutmak ve sonra **“Bitir”**te düzleştirmektir; böylece dışa aktarılan PDF tutarlı ve tespit edilmesi zor olur.
Tam sertifikalı dijital imza yapmıyorsanız bile değişiklikleri tespit edilebilir kılabilirsiniz:
Kim, ne, ne zaman ve nasıl sorularına cevap veren basit bir makbuz sayfası ekleyin.
Tipik alanlar:
Okunur tutun—paydaşlar genellikle önce bu sayfaya bakar.
Cihazdaki iyi bir imzalama deneyimi, arka ucun belgeleri güvenilir şekilde oluşturup kim neyi imzaladığını izleyebildiğinde işe yarar. Kod yazmadan önce sistemin yönettiği “şeyleri” ve kullanıcıların yaptığı eylemleri eşleştirin.
Çoğu mobil e‑imza uygulaması birkaç temel servise oturur:
Bu ayrım veri modelinizi anlaşılır kılar ve karşı‑imzalama veya hatırlatıcılar gibi özellikleri eklemeyi daha kolaylaştırır.
Uç noktaları basit ve görev odaklı tutun. Tipik çağrılar:
“İmzala” ve “sonlandır” için idempotentlik ekleyin ki kötü bağlantı çoğalmaya yol açmasın.
Dosyalar için nesne depolama (orijinal PDF, nihai PDF, ekler) ve meta için bir veritabanı (katılımcılar, alan değerleri, imza yerleşimi, denetim olayları) kullanın.
Önceden sürümleme planlayın:
Bir mobil e‑imza uygulaması güven üzerine kuruludur. Kullanıcıların doğru kişinin imzaladığına, belgenin değiştirilmediğine ve sonradan ne olduğu kanıtlanabileceğine güvenmesi gerekir.
Birincil oturum açma yöntemi sunun ve imzalama öncesi adım atma seçeneği ekleyin.
E‑posta girişi birçok ekip için yeterlidir, fakat kurumsal müşteriler hesap ve erişimi merkezi yönetebilsin diye SSO (SAML/OIDC) isteyebilir.
Passkeys güçlü ve modern bir varsayılandır: oltalama dayanıklıdır ve parola sıfırlamalarını azaltır. İmzalamadan önce “yeniden kimlik doğrulama” için biyometri (Face ID/Touch ID) veya cihaz PIN'i destekleyin—kullanıcılar için hızlıdır ve cihaz sahibinin hazır olduğunu doğrular.
Rolleri ve izinleri erken tanımlayın. Yaygın eylemler: görüntüle, form alanlarını düzenle, imzala, karşı‑imzala, devret, indir ve iptal et.
Yetkilendirmeyi sadece uygulama arayüzünde değil sunucuda zorunlu kılın. Ayrıca belge düzeyi izinleri (bu sözleşme) ve alan düzeyi kuralları (sadece İK maaşı doldurabilir) düşünün. Destek ekibinin “neden imzalayamıyorum?” sorusuna hızlı cevap verebilmesi için net bir “gerçek kaynak” tutun.
Tüm ağ trafiği için TLS kullanın. Belgeleri ve hassas metadataları dinlenmede şifreleyin. Anahtarları kim yönetecek kararını verin: bulut KMS (yönetilen anahtarlar) mı yoksa düzenlenmiş müşteriler için müşteri yönetimli anahtarlar mı. Cihazda depolananları en aza indirin ve önbelleğe alınan dosyaları OS düzeyinde güvenli depolamayla koruyun.
Her belge için değiştirilemez bir olay günlüğü oluşturun: oluşturuldu, görüntülendi, alanlar tamamlandı, imzalama başlatıldı, imza uygulandı, karşı‑imzalandı, indirildi ve iptal edildi. Her giriş aktör kimliği, zaman damgası, cihaz/uygulama sürümü ve değişiklikleri tespit edilebilir hash zinciri içermeli.
Açık bir denetim dışa aktarımı (PDF/JSON) “Ben bunu imzalamadım” iddiasını doğrulanabilir bir cevaba dönüştürür.
Çevrimdışı imzalama, eksikliği fark edildiğinde kullanıcıların dikkatini çeken bir özelliktir—iş sahasında, bodrumda veya bağlantının düştüğü her yerde. Ama hedef sadece “internet olmadan çalışsın” değil, “asla çalışmayı kaybetmesin” olmalı.
Çevrimdışı hazır genellikle dört yetenek içerir:
Çevrimdışı karmaşık uç vakalar yaratır. Bunları açıkça planlayın:
Çevrimdışı verileri güvenli bir kapsayıcıda saklayın: alan verileri için şifrelenmiş bir veritabanı ve PDF/ekler için şifrelenmiş dosyalar. Anahtarları platform anahtar deposunda tutun (iOS Keychain/Android Keystore).
Temizlik kuralları ekleyin: başarıyla senkronize edilmiş paketleri X günden sonra otomatik silme ve oturum kapatma sırasında taslakları temizleme.
Basit bir senkronizasyon durumu gösterin: “Cihazda kaydedildi,” “Senkronize bekliyor,” “Senkronize ediliyor,” “Senkronize edildi,” “İlgilenilmesi gerekiyor.” Tekrar dene düğmesi sağlayın, hataları sade dille açıklayın ve sunucu onayı gelmeden “gönderildi” demeyin.
Küçük bir yardım sayfası çevrimdışı destek taleplerini azaltır.
Doğru yığın, imza deneyiminin nasıl “yerel” hissettireceğini, ne kadar hızlı yayınlayacağınızı ve ilerideki güncellemelerin ne kadar zahmetli olacağını belirler. İmza uygulamaları için pürüzsüz çizim, güvenilir PDF işleme ve öngörülebilir çevrimdışı depolama öncelikli olmalı.
Yerel (Swift/Kotlin) genellikle kalem ve parmak tepki hızında daha iyi performans, dosyalar/ paylaşım/ güvenli depolama ile sıkı entegrasyon ve daha az render hatası sunar. İki kod tabanını korumak maliyetli olabilir.
Çapraz platform (React Native / Flutter) geliştirme süresini kısaltır ve UI tutarlılığı sağlar. Ancak karmaşık PDF render veya yüksek sıklıklı dokunuş olayları (imza çizimi) için genellikle native modüller gerekir—bu yüzden platforma özel iş gerekebilir.
Kanıtlanmış bir imza yakalama kütüphanesi genellikle en hızlı yoldur: stroke düzgünleştirme, basınç benzeri eğriler (simüle edilmiş) ve PNG/SVG dışa aktarımlarını ele alır.
Seçin ki:
Sadece özel mürekkep davranışı gerekiyorsa (ör. stilus optimizasyonu) veya veri formatları üzerinde sıkı kontrol istiyorsanız kendi canvas'ınızı inşa edin.
Mobilde PDF imzalama için genelde üç yetenek gerekir:
Mobil desteği güçlü ve lisansı net bir PDF araç takımı seçin.
Uygulamayı modüler bileşenler halinde yapılandırın: Formlar, İmzalama ve Depolama/Senkronizasyon. Bu, daha sonra bir kütüphaneyi (ör. PDF motoru) değiştirmeyi zorunlu kılmaz.
Kimlik kontrolleri veya daha derin bir denetim izi eklediğinizde, temiz sınırlar haftalar kazandırır.
İş akışını hızlı doğrulamak istiyorsanız—şablonlar, roller, denetim olayları, çevrimdışı kuyruklama mantığı ve basit bir yönetici panosu—Koder.ai sohbet odaklı bir oluşturma süreciyle çalışan bir prototip elde etmenize yardımcı olabilir.
Koder.ai, tipik üretim yapı taşları (web konsolları için React, API/veri için Go + PostgreSQL, mobil için Flutter) ürettiğinden, hem mobil uygulama hem de sürümleme, güvenli depolama ve denetim izlerine sahip bir arka uç gerektiğinde uygundur. Planlama modu ve anlık görüntü/geri alma gibi özellikler, uyumluluk açısından hassas akışlarda yineleme yaparken faydalıdır. Hazır olduğunuzda kaynak kodunu dışa aktarabilir ve özel alan adlarıyla dağıtabilirsiniz.
Mobil e‑imza uygulamasını test etmek "çalışıyor mu?" sorusundan ziyade "kullanıcılar stresli, aceleci veya çevrimdışıyken bile çalışıyor mu?" sorusudur. Aşağıda her sürümden önce çalıştırabileceğiniz pratik bir kontrol listesi var.
Veri kalitesini koruyan kuralları test ederek başlayın. Sadece mutlu yolu test etmeyin—kendinizi kırmaya çalışın.
Ayrıca kısmi kayıtları doğrulayın: “Taslak kaydet” izni varsa, taslaklar tam aynı durumla yeniden açılmalı ve aynı doğrulama davranışını göstermeli.
Mobil cihazlar masaüstü testlerinin yakalayamayacağı başarısızlık modları getirir.
İmza pedi küçük bir çizim uygulaması gibi ele alınmalı ve kendi test planı olmalı.
Tam bir güvenlik laboratuvarına gerek yok ama niyet test edilmelidir.
Eğer denetim izi tutuyorsanız, her test çalışması şunu yanıtlamalı: Kim neyi, ne zaman ve hangi cihazda imzaladı açıklanabiliyor mu?
Bir imza uygulaması sadece karalama almakla ilgili değildir—imzalandıktan sonra kişisel verileri sorumlu şekilde işlemekle ilgilidir. Burada net kurallar riski azaltır ve desteği kolaylaştırır.
Uygulamanızın topladığı her veri noktasını listeleyin: isim, e‑posta/telefon, imza görüntüsü, zaman damgaları, konum, cihaz tanımlayıcıları ve herhangi bir kimlik bilgisi.
Her birini sorgulayın: Bu veriyi gerçekten anlaşmayı tamamlamak veya yasal gereksinimleri karşılamak için gerekli miyiz?
Rızayı imzalama anında veya kimlik yüklemeden önce açık ve görünür kılın. Eğer biyometri (Face ID/Touch ID) kullanıyorsanız, bunun cihaz üzerinde gerçekleştiğini ve biyometrik verileri saklamadığınızı açıklayın.
Ayrıca “ikincil kullanım” sınırlamalarını düşünün: imza verilerini analiz veya pazarlama için yeniden kullanmayın, kullanıcı açıkça izin vermedikçe.
Saklamayı belge türüne ve müşteri tipine göre tanımlayın. Örnekler:
Silme işlemini pratik yapın: elle silmeyi destekleyin (izinliyse), otomatik süre sonu ve hukuki bekletmeler. Silmelerin yedekleri kapsayıp kapsamadığını mümkün olduğunca düşünün ve hassas dosyayı saklamadan silindiğine dair kanıt tutun.
Yaygın yardım isteklerini uygulama içi eylemler olarak planlayın:
Yardım merkezinizde politikaları net olarak yayınlayın ve bunlara uygulama içinden erişim sağlayın; uyumluluk konularını kapsayan daha derin bir açıklamayı blog'da tutabilirsiniz.
Mobil e‑imza uygulamasını yayınlamak bitiş çizgisi değildir—gerçek dünya geri bildirimi başlangıçtır. İyi bir lansman, mağaza kurallarını karşılamayı, operasyonel sorunları izlemeyi ve insanların nerede zorlandığını öğrenip önce doğru şeyleri düzeltmeyi gerektirir.
Mağaza incelemesi ve politika detayları için zaman planlayın:
Eğer biyometrik açılış destekliyorsanız, bunun uygulamaya giriş için kullanıldığını, tek başına imza kanıtı olmadığını açıklayın.
Yayın sonrası çoğu sorun “imza çalışmıyor” değil; ağ, depolama ve belge render hataları gibi kenar vakalardır. İzleyin:
Loglarınızı eyleme geçirilebilir yapın: belge ID'si, adım adı (yakalama/uygulama/yükleme) ve destekin kullanabileceği insan tarafından okunabilir bir sebep içersin.
UX sürtünmesi ve iş akışı uyuşmazlıklarını gösteren sinyalleri takip edin:
Bu metrikleri kullanıcıları izlemek için değil, UX değişikliklerini doğrulamak için kullanın. Varsayılan olarak toplulaştırın.
Çekirdek akış stabil hale geldikten sonra, tekrar eden işleri azaltan ve ekipleri güçlendiren özelliklere öncelik verin:
Küçük bir değişiklik günlüğünü uygulama içinde veya blog'da tutun ki müşteriler neyin iyileştiğini ve nedenini anlasın.
İhtiyaçlarınıza ve uyumluluk gereksinimlerinize göre yöntemi seçin:
V1'de ne destekleyeceğinize karar verin ve iş akışını (kimlik + bütünlük) buna göre tasarlayın.
Üç ana sütuna odaklanın:
En azından şunları saklayın:
Bunu bir günlük olarak tutun, böylece güvenilir bir olay zaman çizelgesi sunabilirsiniz.
Net bir “mutlu yol” ile başlayın, sonra kenar durumları tanımlayın:
Birden fazla girdi sunun ve koruyucu önlemler ekleyin:
Son adımı net yapın: incele → onay → imzala → gönder.
Tahmin edilebilir bir yöntem kullanın:
Bu, dışa aktarılan dosyanın görüntüleyiciler arasında tutarlı olmasını ve tespit edilmeden değiştirilememesini sağlar.
Evet—eğer “çalışmayı asla kaybetmeme” hedefiyle tasarlanırsa:
Pratik bir ayrım şudur:
Başlangıçta şablon/ belge sürümlemesi için kurallar koyun (ne zaman yeniden imza gereklidir, bir belge nasıl iptal edilir ancak denetim geçmişi korunur).
Katmanlı kontroller kullanın:
Biyometrinin uygulamaya giriş için kullanıldığını; tek başına imza kanıtı olmadığını açıkça belirtin.
İyi bir lansman öncesi test listesi:
Yayın sonrası başarısız senkronizasyonlar, PDF yerleşim hataları ve depolama kaynaklı çökme izlerini izleyin.