こんにちはクサハラです。
中小企業のひとり総務担当として、労務関係をほぼ一人で回しています。給与計算も、社会保険の手続きも、届出書類も、相談する相手がいないまま自分の判断で進めることがほとんど。
わたしの勤める会社はまだまだ紙文化が根強く、クラウド化されている業務はごく一部です。そんな中で目にするのが、「AIが事務仕事を奪っていく」というニュースの数々。正直なところ危機感があります。だったら奪われる側で怯えているより、使いこなす側に回った方がいい。
子どもが大きくなるまでに、自分の仕事が無くなってしまっては困る。そう思い立って、AIの勉強を始めることにしました。
そこで知ったのが、Claudeを使えばノーコードで誰でもアプリが作れるということ。プログラミングの経験なんてほぼゼロですが、これは面白そうだと興味を持ちました。
とはいえ、いきなり業務用のアプリに手を出すのはさすがに怖い。AIで何ができて、どこまでのものが作れるのかも分かっていない状態です。もし情報漏洩やデータ消失なんてことになれば、大問題に発展しかねません。
そこでまずは、失敗しても被害が自分だけで済む「個人利用のアプリ」で練習してみることにしました。
この記事は、全3回の記事の1回目です。
題材は自分用の「資産管理アプリ」
選んだ題材は、自分用の資産管理アプリです。
わたしは投資をしており、資産管理はGoogleスプレッドシートで行っていました。月次データの一覧表と、それをもとにした折れ線グラフ、最新の割合を表示する円グラフがひとつ。いたってシンプルな作りです。
このデータをそのまま活かして、見た目を整えたり、将来予測をしてくれるアプリがあれば便利だな、というイメージで開発をスタートしました。データ入力はこれまで通りスプレッドシートで行い、見た目や分析はブラウザ上のアプリで行う、という役割分担です。
データはそのまま使えるし、入力方法も変わらない。アプリ側は読み込んで加工するだけ。シンプルな構成なので簡単にできそうだと思っていましたが、さっそく壁にぶつかりました。
Google Apps ScriptかAPIキーか、選択肢の意味が分からない
Claudeに「こんなアプリを作りたい」となるべく丁寧に説明すると、「できそうですよ」と頼もしい返事。続けて、「ここはどうしますか?」と選択肢が返ってきました。
Googleスプレッドシートとの連携には何を使いますか?
- Google Apps Script(GAS)
- APIキー
……正直、言葉の意味が分かりません。
APIは聞いたことがあるけど詳しくは知らない。完成するならどちらでもいいのですが、判断のしようがない。
違いを聞いてみると、Claudeはこう教えてくれました。GASは柔軟だけれどプログラムを書く必要があって敷居が高め。アプリ側からスプレッドシートを編集するならGASが向いていて、読み込みだけならAPIキーで十分とのこと。
今回は読み込みだけで良かったので、APIキーを選択。簡単な方を選んだのだからスムーズに行くだろうと楽観的に考えていました。
手順も丁寧に教えてくれたので、その通りに設定を進めていきました。
「全員に公開」の表示で手が止まった
設定はスムーズに進んでいたのですが、途中で目に入った「アクセスを全員に許可する」という選択肢に手が止まりました。
全員って、誰?
私のスプレッドシートが、知らない人に見られるということ? ハッカーに狙われたりしないの?
不安になったので、いったん手を止めて、そもそもAPIとは何なのか、セキュリティ的に何が起きているのかを自分で調べることにしました。
そもそもAPIって何なんだ?
調べてわかったのは、APIとはシステム同士が会話するための窓口のようなものだということです。
Claudeに聞くと、レストランに例えて説明してくれました。ChatGPTやGeminiに聞いても同じ例えが返ってきたので、定番の説明のようです。
- 利用者(システムA):料理を食べたいお客さん
- 厨房(システムB):料理、つまりデータや機能を作る場所
- API:「メニュー」と「ウェイター」
お客さんは厨房に直接入って料理を作ることはできません。代わりに店員に注文し、店員が厨房に伝え、できあがった料理を運んでくる。この「店員」の役割を果たすのがAPIだ、というわけです。
わかったような、わからないような。
「一般公開」は、厨房のドアを開けっぱなしにする設定だった
ここで、さきほどの不安の正体に戻ります。
「全員に公開」という設定は、厨房のドアを開けっぱなしにしている状態と同じだと知りました。いかにも不用心に思えます。
一応、複雑なURLによる対策はされていて、「たどり着ける人が限られているから鍵は不要」という考え方らしいです。厨房の場所をわかりにくくしてるんだから誰も来れないよ、だから鍵なんていらないでしょ、ということなんですが、不安はかなり残ります。
さらに勘違いしていたのが「APIキー」の役割です。てっきりセキュリティを強化してくれる仕組みだと思っていたのですが、今回の使い方ではそうではありませんでした。APIキーは、ウェイターに注文を伝えるための会員証のようなもの。ウェイター経由でやり取りする分には、誰が注文したかを管理できます。
しかし今回の設定は、スプレッドシート自体を「全員に公開」にした上でAPIキーを使う構成。つまり、ウェイターはちゃんといるけれど、厨房のドア自体は開けっぱなしなので、直接乗り込めば誰でも中のものを持ち出せるし、それが誰かもわからない、という状態でした。
今回作っているのは個人利用の資産管理アプリなので、想定される被害は大きくはありません。書き換えができない設定にしていますし、最悪でも「誰かはわからないけど、こんな資産を持っているんだな」とにやにやされる程度です。
それでも気持ちが悪い。そして何より、今後は業務用のアプリ開発にも活かしたいと思っているので、セキュリティの強化の仕方はちゃんと知っておきたいところです。
「仕組みを理解しないまま進める怖さ」を学んだ
というわけで、初手は失敗。Claudeに相談しながら、セキュリティを強化する構成を考え直すことにしました。
今回の一番の学びは、「アプリが動く仕組み」を理解することの大切さです。
知識がないままAIに丸投げしていると、完成したアプリの仕組みそのものが自分でも分からなくなります。自分が触って確認できるフロントエンドの部分はそれでもいいかもしれませんが、目に見えない裏側の設定については、きちんと技術的な裏付けを確認して理解する必要があるようです。
食材を渡したら望んだとおりの料理が出てくる仕組みを作ったとしても、調理過程がブラックボックスでは不安です。ひょっとしたら毒を入れられてるかもしれません……。
ひとり総務として働きながら、子どもの世話もしながらの隙間時間での開発だったので、「動けばOK」で済ませたい気持ちもありました。ですが、AIがやっていることの意味を理解しないまま進めると、見えないところに思わぬ穴ができてしまう可能性がある。それを痛感した出来事でした。
ノーコードでアプリを作るというのも、思っていたほど簡単ではなさそうです。
やり直しの経緯は、また次回書きたいと思います。最後まで読んでいただきありがとうございました。
続きもぜひ読んでください。

※本記事は筆者個人の体験・記録であり、特定の設定方法やツールの利用を推奨するものではありません。セキュリティに関する設定は、必ずご自身でも最新の情報をご確認ください。
コメント