Bluetooth yakınlığıyla ekran kilidi: 'var/yok' yetmiyor
Yanındaki cihaz uzaklaşınca bilgisayarı kilitleyen yakınlık kilidi; menü çubuğu uygulaması SignalLock'a dönüştü.
Şu an ne yapıyor
Yanındaki cihaz uzaklaşınca macOS ekranını kilitliyor; karar ham "var/yok" sinyaline değil bir yakınlık değerlendirmesine dayandığı için sinyal dalgalanması yanlış kilit üretmiyor. Menü çubuğu uygulaması yayında, indirilip kullanılabilir.
- Başlangıç
- Mart 2026 — Mayıs 2026
- Labs’tan çıkış
Tür
Teknolojiler
Bu iş ürüne dönüştü:
SignalLockBluetooth cihazı menzilde mi diye sormak kolay; cevabın doğru olması ayrı iş. Ham “var/yok” sinyali saniyede birkaç kez yalan söylüyor ve her yalan bir yanlış kilit demek.
”Var/yok” yalan söylüyor
Ortak çalışma alanında kilitlenmemiş bir Mac gizlilik riski; kilitlemeyi hatırlamak da kullanıcının işi olmamalı. Denenen çözüm: kullanıcının zaten yanında taşıdığı bir Bluetooth cihazını (iPhone, Apple Watch, AirPods, BLE etiketi) güvenilir cihaz saymak ve menzil dışına çıkınca ekranı kilitlemek.
İşin asıl konusu sinyalin kendisi oldu. Bluetooth sinyali doğası gereği dalgalanıyor; cihaz masanın üstünde dururken bile birkaç örneklemede kayboluyor. Düz görünürlüğe bakan bir kilit, kullanıcı yerinde otururken ekranı kilitliyor.
Görünürlük yerine yakınlık değerlendirmesi
Uygulamanın çekirdeği düz görünürlük yerine bir yakınlık değerlendirmesi üzerine kuruldu: yumuşatılmış RSSI sinyal gücü ile son görülme zaman damgası birlikte okunuyor. RSSI eşiği, uzaklaşma gecikmesi ve yumuşatma penceresi kullanıcı tarafından ayarlanabiliyor; varsayılanlar yanlış kilidi en aza indirecek biçimde bilinçli olarak temkinli seçildi.
macOS tarafı Swift/SwiftUI + CoreBluetooth, Windows tarafı C#/.NET 8. İki ayrı yerel sürüm, aynı algoritmayı ve aynı yapılandırma modelini paylaşıyor.
Ağa hiç çıkmamak
Bu tür bir araç için bulut en kolay yol: cihaz eşleştirmesini sunucuda tut, ayarları senkronla, “masamı bul” gibi özellikler ekle. Hepsi bir hesap sistemi ve bir arka uç demek.
Seçilen kısıt bunun tersi: uygulama hiçbir ağ isteği yapmıyor. Arka uç sunucu, bulut senkronizasyonu, hesap, telemetri, analitik yok; konum servisleri kullanılmıyor ve bütün ayarlar yalnızca kullanıcının kendi makinesinde duruyor.
Bedeli açık — cihazlar arası senkronizasyon yok, uzaktan yönetim yok, kullanım verisi olmadığı için varsayılan eşikler ölçümle değil muhafazakâr tercihle belirlenmiş durumda. Karşılığında ekranını kilitlemek isteyen kullanıcı, bunun için yanındaki telefonun kimliğini bir sunucuya vermek zorunda kalmıyor. Bir güvenlik aracı için doğru takas bu.
İki kod tabanı, tek algoritma
Sıfır ağ kararının ikinci sonucu platform tarafında. Ağa çıkmayan, sürekli Bluetooth tarayan ve ekran kilidini tetikleyen bir uygulama, çalıştığı işletim sisteminin en alt katmanlarına dokunuyor: macOS’ta CoreBluetooth ve kilit API’si, Windows’ta kendi Bluetooth yığını ve oturum yönetimi.
Tek bir çapraz platform kabuğu iki sürümü tek kod tabanında tutardı. Bedeli, o kabuğun altındaki platform farkını yine de yazmak ve üstüne bir çalışma zamanı taşımak olurdu — menü çubuğunda oturan, sürekli açık kalan bir araç için ağır bir fatura.
Seçilen yol iki ayrı yerel sürüm oldu: macOS için Swift/SwiftUI, Windows için .NET 8. Paylaşılan şey kod değil, yakınlık algoritmasının ve yapılandırma modelinin kendisi — eşikler, gecikme ve yumuşatma penceresi iki tarafta aynı anlama geliyor. Bakım yüzeyi ikiye çıkıyor, davranış tek kalıyor.
Menü çubuğuna giden yol
Menü çubuğu uygulaması olarak yayınlandı; ürün sayfası ve indirmesi kendi alan adında. Ayrıntısı portfolyoda.