Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
EncryptedSharedPreferenceの後継OSSライブラリDataStore C...
Search
ichimura
November 15, 2025
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
EncryptedSharedPreferenceの後継OSSライブラリDataStore Cryptoを紹介
ichimura
November 15, 2025
More Decks by ichimura
See All by ichimura
謎の現象を発見してプチ英雄になりました
ichir438
0
180
Google/IO 2025 "Build adaptive Android apps that shine across form factors"の紹介
ichir438
0
490
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
The Cult of Friendly URLs
andyhume
79
6.9k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.4k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Evolving SEO for Evolving Search Engines
ryanjones
0
240
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
260
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
230
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.6k
The Curse of the Amulet
leimatthew05
2
13k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
800
How STYLIGHT went responsive
nonsquared
100
6.2k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Transcript
EncryptedSharedPreferenceの 後継OSSライブラリ DataStore Cryptoを紹介
DataStore Cryptoとは EncryptedSharedPreferenceの後継として今年9月に公開したOSSライブラリ https://github.com/cybozu/datastore-crypto
Encrypted SharedPreferences とは • Androidアプリ開発お馴染みのSharedPreferencesが保存する データを暗号化・複合化してくれるライブラリ • 端末に保存する機密データの漏洩リスクを軽減できる • ただし、現在はdeprecatedになっている
→ 使いたいのでDataStore Cryptoを作りました!
なぜDeprecatedになった? 今年のDroidKaigiでYuki Anzaiさんが同内容のセッションで紹介されていました!
Deprecatedの理由をざっくり紹介 • ライブラリの動作が不安定になってきた • リスクの高いデータはそもそもデバイスに保存しない設計にすべき • AndroidOSはファイルベースの暗号化とサンドボックスモデル によって十分保護されている • OS保護以上のセキュリティを担保したい場合は、
そのプロセスを完全に理解して制御しよう
Q: Deprecatedの理由を分かった上でなぜ必要なのか A: 既にEncryptedSharedPreferenceが組み込まれたプロダクトは代替手段が必要
Q: ちなみにどんなデータを保護したい? • 認証関連のトークン類(これがメイン) • ユーザーに関連する秘密情報 など
DataStoreCryptoの概要 • EncryptedSharedPreferenceの暗号化・複合化機構(Tink)をDataStoreに移植 • 使用者は普通のDataStoreと同じ要領で実装できる
DataStore Cryptoをプロダクトに組み込む デリゲートプロパティの宣言
DataStore Cryptoをプロダクトに組み込む (2/2) 書き込み関数の例
DataStore Cryptoをプロダクトに組み込む 読み取り関数の定義の例
EncryptedSharedPreferenceからの移行 datastoreがsharedPreferenceから移行するマイグレーション機能を活用できる
まとめ • DataStoreCryptoは保存データの暗号化、複合化機能を提供 • 使用感はほぼDataStoreと同様 • EncryptedSharedPreferenceからのマイグレーションも可能