Security
セキュリティへの取り組み
お客様のデータを安心して任せていただくために。
設計段階から運用までを通じた、micomiaのセキュリティ対策。
Approach
私たちの姿勢
ソフトウェア開発をお任せいただくということは、お客様の業務データ、ひいてはエンドユーザー様の個人情報を私たちに預けていただくことを意味します。
micomia株式会社は「作って終わりにしない」という企業理念のもと、設計段階から運用までを通じて、お客様のデータを安全にお守りすることを最重要事項のひとつと位置づけています。本ページでは、当社が日々の受託開発で実践しているセキュリティ対策の考え方と、具体的な技術的取り組みについてご紹介します。
セキュリティに「絶対」はありません。だからこそ当社では、多層的な防御・設計段階からの組み込み・継続的な改善という3つの原則を大切にしながら、日々のプロジェクトに取り組んでいます。
Authentication
認証・アクセス制御
「誰が」「何に」アクセスできるかを厳密に管理します。
Firebase Authentication による堅牢な認証基盤
当社が開発するアプリケーションでは、Google が提供する Firebase Authentication を認証基盤として標準採用しています。世界中で利用されている認証サービスであり、パスワードハッシュ化、ブルートフォース攻撃対策、不正アクセス検知などのセキュリティ機能を標準で備えています。パスワードそのものを当社が保管することはなく、Google のセキュアな基盤上で安全にハッシュ化・保管されます。
| 認証方式 | 用途 |
|---|---|
| メールアドレス/パスワード | 一般的なログイン |
| Google サインイン | ソーシャルログイン |
| Apple サインイン | iOS 利用者向けのソーシャルログイン |
役割ベースのアクセス制御(RBAC)
業務システムでは「誰でもすべての情報を見られる」状態はリスクとなります。当社では、ユーザーの役割(管理者・経理担当・一般メンバーなど)に応じて閲覧・操作できる範囲を制御する役割ベースアクセス制御(RBAC)を標準的に組み込みます。「とりあえず全員が見られる」設計を避け、業務要件に基づいた最小権限の原則を徹底しています。
例:ある勤怠管理システムの権限設計
| ロール | 全体集計 | 他者の稼働明細 | CSV出力 |
|---|---|---|---|
| 管理者 | 可 | 可 | 可 |
| 経理担当者 | 可 | 可 | 可 |
| 一般メンバー | 可 | 自分の分のみ | 不可 |
Database
データベース保護
サーバー側で「所有者しか書き換えられない」を保証します。
Firestore セキュリティルールによる厳格な制御
当社のアプリケーションのデータは、主に Google Cloud Platform 上の Cloud Firestore に保存されます。Firestore のセキュリティルールをサーバーサイドの最後の砦として徹底活用し、悪意のある第三者がアプリのコードを解析して直接データベースに不正なリクエストを送ろうとしても、所有者でなければ書き換えや削除ができないようサーバー側で遮断します。「フロント側のバリデーションだけに頼らない」という思想で設計しています。
| データ種別 | 作成 | 読み取り | 更新 | 削除 |
|---|---|---|---|---|
| ユーザー情報 | 本人のIDと一致する場合のみ | 認証済みユーザー | 認証済みユーザー | 認証済みユーザー |
| 投稿・記録データ | 認証済みユーザー | 公開設定に従う | 所有者のみ | 所有者のみ |
| お問い合わせ | 認証済みユーザー | 関係者のみ | 不可 | 不可 |
| 見積もりデータ | 担当者のみ | 認証済みユーザー | 担当者のみ | 担当者のみ |
機微情報の分離保管
個人情報、決済情報、API キーなどの機微情報については、コレクション設計の段階で公開データと厳密に分離します。閲覧範囲を限定し、ログ出力時にもマスキング処理を行うなど、流出経路を最小化する設計を行います。
Encryption
通信・データ暗号化
経路と保存の両方で暗号化を行います。
クライアントとサーバー間の通信はすべて HTTPS(TLS) で暗号化されます。Webアプリは Firebase Hosting 経由で配信し、SSL 証明書の自動更新・運用は GCP 側に任せることで、証明書切れによる通信停止リスクを排除しています。
Cloud Firestore および Firebase Storage に保存されるデータは、Google Cloud Platform の標準機能により、保存時に自動的に暗号化(保存時暗号化/encryption at rest)されます。暗号鍵は Google によって厳格に管理され、当社や第三者が直接アクセスすることはできません。
| 区分 | 暗号化方式 |
|---|---|
| 通信経路 | HTTPS(TLS 1.2 以上) |
| 保存データ(Firestore) | GCP による AES-256 相当の自動暗号化 |
| 保存データ(Storage) | GCP による AES-256 相当の自動暗号化 |
| ローカル端末上のキャッシュ | OS のサンドボックス機構による隔離 |
Quality Assurance
品質保証プロセス(3層テストモデル)
セキュリティに関わる不具合の多くは「想定外の入力」「想定外の操作順序」「権限境界の見落とし」から生じます。当社では、これらを発見するために独自の3層テストモデルを採用しています。
Layer A
自動化テスト(E2E + 結合テスト)
ログイン、権限チェック、CRUD、通知、メールなど、毎回確認すべき重要な導線を Playwright などの自動テストツールで固定シナリオとして実装します。一度発見された不具合は必ずこの層に追加し、同じ不具合を二度と再発させない仕組みを構築します。
Layer B
AI半探索テスト
AI エージェントが画面を認識し、空データの送信・極端に長い文字列の入力・連打・ブラウザバックなど、開発者が見落としがちな境界操作を自動で試行します。「悪意ある操作」に近い動きを機械的に網羅することで、人間の想像力では届かない範囲をカバーします。
Layer C
人間探索テスト(リリース前)
最終的には人間がリリース前に実機で操作し、UX の自然さ・文言の妥当性・誤操作を誘発する余地がないかを確認します。「権限のないボタンが押せてしまわないか」「エラーメッセージから内部情報が漏れていないか」といった、ビジネス文脈を踏まえた違和感の発見に集中します。
この3層を組み合わせることで、技術的な脆弱性だけでなく
業務上のセキュリティリスクまでを多角的に検証する体制をとっています。
Source Code
ソースコード・開発環境のセキュリティ
機密情報の漏洩を防ぐ仕組みを徹底します。
Git による厳密なソースコード管理
すべてのソースコードは Git で版数管理し、変更履歴・承認履歴を残します。プルリクエスト方式によるレビューを必須とし、ひとりのエンジニアの判断のみでコードが本番環境に反映されることがないよう統制しています。
機密情報のリポジトリ分離
API キー、データベース接続情報、認証情報などの機密情報は、ソースコードリポジトリには絶対に含めません。環境変数または GCP の Secret Manager を用いて、本番・開発環境ごとに分離して管理します。
| 種別 | 管理方法 |
|---|---|
| API キー・認証情報 | 環境変数 / Secret Manager |
| 公開してよい設定値 | リポジトリ内の設定ファイル |
| クライアント固有のデータ | リポジトリ外で個別管理 |
開発環境と本番環境の分離
開発・検証・本番を別々の GCP プロジェクトとして構築することを基本としています。検証中の操作が誤って本番データに影響することを構造的に防ぎます。
Infrastructure
インフラ基盤の信頼性
当社の主力アプリケーションは Google Cloud Platform(GCP)/ Firebase 上で稼働しています。GCP は世界中の大手企業・行政機関でも採用されているクラウド基盤であり、以下のような国際的なセキュリティ・コンプライアンス認証を取得・維持しています。
- ●ISO/IEC 27001(情報セキュリティマネジメント)
- ●ISO/IEC 27017(クラウドサービスのセキュリティ)
- ●ISO/IEC 27018(クラウドにおける個人情報保護)
- ●SOC 1 / SOC 2 / SOC 3
- ●PCI DSS ほか
当社が開発するアプリケーションは、これらの基準を満たすインフラ基盤の上に構築されます。物理的なデータセンターの管理、ハードウェアの保守、ネットワークの DDoS 防御などは Google が継続的に対応しており、当社はアプリケーション層のセキュリティ設計と運用に集中することで、「専門家の力を借りた多層防御」を実現しています。
※ 上記の認証は GCP(Google Cloud Platform)が取得しているものであり、micomia 自身が取得しているものではありません。当社はその基盤の上にアプリケーションを構築しています。
Operations
開発体制・運用上の配慮
技術的な対策だけでなく、開発体制と日々の運用面でも
お客様の情報を守るための取り組みを継続しています。
秘密保持契約(NDA)への対応
ご相談・お見積もり段階から、ご希望に応じて秘密保持契約(NDA)を締結いたします。当社の雛形のご用意もありますし、お客様所定の NDA への調印にも柔軟に対応いたします。
完全自社開発による責任の一貫性
当社は完全自社開発にこだわっており、海外の不特定多数の外注先にソースコードや顧客データを渡すことはありません。初回面談からリリース・運用まで、当社のメンバーが責任を持って対応することで、情報伝達の経路を最小化し、漏洩リスクを構造的に低減しています。
社内のデータ取り扱いルール
お預かりしたデータ・資料は、業務上必要な担当者のみがアクセスできるよう管理し、契約終了後は契約に従って速やかに返却または削除します。業務 PC には OS 更新・ウイルス対策ソフト・ディスク暗号化等の対策を施し、プロジェクト情報を SNS や社外で口外しない運用を徹底しています。
Closing
安心して任せていただける開発パートナーへ
「個人情報を扱うアプリを開発したいが、どこに頼めば安全か分からない」「セキュリティ要件を満たせる開発会社を探している」といったご相談がございましたら、ぜひお気軽にお問い合わせください。
お客様の業務内容・取り扱いデータの性質に応じて、適切なセキュリティ設計をご提案いたします。NDA 締結後の詳細なご相談にも対応いたします。