変わらないサービスから、変えていけるサービスへ ──「そのままにしない」を続けてきた4年半

  • URLをコピーしました!

PR TIMESでCTOをやっている金子 (@catatsuy) です。

2021年4月にPR TIMESに入社してから、4年半が過ぎました。

入社当時のPR TIMESは、2016年のリニューアルリリース以降、ユーザー向けの画面や機能に大きな変更がほとんどない状態が続いていました。プロダクトの裏側も同様で、2016年当時の前提を大きく見直せないまま運用が続く中、データベースのディスク逼迫や古いミドルウェアなど、安定した運用を続けるうえで無視できないリスクを抱えていました。そのため、まずはそこに優先的に取り組む必要がありました。まずは「止めないこと」と「変えていける状態にすること」の両方に向き合う必要があり、そこからインフラやデプロイ基盤、アプリケーションの作りを少しずつ見直して、「サービスを止めずに変更に耐えられる土台」にしていくことが、最初の数年の一貫したテーマでした。

2025年は、その中でも特に大きな転換点の年でした。

4月には不正アクセスの事案が発生し、多くのお客さまにご心配とご迷惑をおかけしました。このインシデントを受けて、以前から進めていた「2025年中に社内管理画面を廃止する」という計画が、開発組織内の目標から会社としての必須目標に変わり、「やらなければいけないこと」から「必ずやり切ること」に位置づけ直されました。

この記事では、

  • 過去の問題をどのように直視してきたか
  • どのような順番でシステムや運用を作り直してきたか
  • インシデントを受けて、2025年にどこまで踏み込んだのか

を振り返りながら、「変わらないサービス」から「変えていけるサービス」になるまでの4年半をまとめていきます。

あわせて読みたい
挑戦する組織にするためにCTOになってからやったこと 株式会社PR TIMES 執行役員CTOの@catatsuyこと金子です。 今年の4月に私が執行役員CTOに就任してから8ヶ月が過ぎ、2021年が終わろうとしています。 私が入社してから様...
あわせて読みたい
2024年のPR TIMES開発者ブログ振り返り PR TIMESでCTOをやっている金子 (@catatsuy) です。 金子がCTOとして入社してから3年が過ぎ、もうすぐ4年になります。その間、組織やサービスには多くの変化がありまし...
目次

2021〜2024年:土台を作るまでの道のり

私が入社した2021年時点では、技術的にも運用的にも負債が大きく、組織としても「本当に自分たちで変えていけるのか」を自信を持って言い切れない状況でした。

その中で、まずは次の3つをやり切ることを方針として掲げました。

  • セキュリティ向上のために、インフラのアップデートとミドルウェアのバージョンアップを行う
  • 全機能の段階的なリプレイス・リニューアルを通して、開発者が触っていない機能も含めて、すべてに目を通せる状況を作る
  • セキュリティ上のリスクがあり、かつ機能変更ができない社内管理画面は全廃し、SaaSを利用して新しい管理画面を作る

最初の数年は、この3つを実現するために、さまざまな取り組みを同時並行で進めていきました。ざっくり挙げると、例えば次のようなものです。

  • インフラをデータセンターからAWSに移行し、各種ソフトウェアのバージョンアップを実施
  • 機能ごとのリプレイスによるバックエンド・フロントエンドのソースコードのモダン化、およびリプレイス後のリニューアル・新機能追加
  • 社内管理画面向けのSaaSを利用して、一部機能の移管・拡充を進める
  • 認証システムなど、基盤に関わるシステムの作り直し

挙げればキリがないのですが、こういった改修により、まずはサービスを安定して稼働させること、そして変更に耐えられる基盤を作ることにチーム一丸となって集中してきました。

これらの取り組みにより、セキュリティ改善も進められる状況になり、実際に複数回、外部のセキュリティ会社による診断も受け、発覚した問題の対処を行いました。

その結果として、「変えていけるサービスにする取り組み」はひと区切りつき、実際に新機能が次々に出せる組織へと変わってきました。その上で、2025年は最終フェーズとしてレガシーな社内管理画面の運用に終止符を打ち、セキュリティを根本から見直すフェーズへと入っていきました。

あわせて読みたい
PR TIMESをオンプレミスからAWSに移行しました こんにちは、開発本部インフラチームテックリードの櫻井です。 今回は2022年9月に行ったオンプレミスからAWSへの移行プロジェクトについて紹介したいと思います。 【オ...
あわせて読みたい
旧ストレージ廃止大作戦−2900万超のファイルリストを取得する 株式会社PR TIMES 執行役員CTOの@catatsuyこと金子です。今回は先日私が作ったGo製のCLIを社内で利用した話を紹介します。 【旧ストレージサーバー廃止失敗】 現在のPR ...
あわせて読みたい
PR TIMESのログインシステムにJWTを導入しました こんにちは、開発本部でインターンをしている田中 湧大です。 今回は認証機能をPR TIMES上で実装し、企業・事業主ユーザーとメディアユーザーでログインするときにJWTを...

また、これらの取り組みとは別に、日々の開発の中で負債をため込みすぎないようにするための仕組みとして、「リファクタリングデー」という取り組みも私が入社した2021年より今まで継続して行っています。

PR TIMESでは毎月1回、外から見た挙動が変わらない範囲に絞って、リファクタリングやライブラリのバージョンアップ、デッドコード(使われていないコード)の削除などをまとめて行う日を設定しています。コードベースを健全な状態に保つための時間をあえて確保することで、新機能開発の速度を落とさずに、自分たちのコードを改善していく文化を育んでいます。

取り組みの背景や具体的な進め方については、こちらの記事で詳しく紹介しています。

あわせて読みたい
PR TIMESの改善文化を支えるリファクタリングデー こんにちはバックエンドエンジニアの中山です。 今回はPR TIMESで継続的に実施しているリファクタリングデーについて紹介したいと思います。PR TIMESでのリファクタリン...

2025年4月:不正アクセスと「そのままにしない」決意

そんな中、2025年4月に社内管理画面経由で不正アクセスがあり、悪意のあるプログラムが実行される事案が発生しました。多くのお客さまにご心配とご迷惑をおかけしたことについては、改めてお詫び申し上げます。

PR TIMES、不正アクセスによる情報漏えいの可能性に関するお詫びとご報告

社内管理画面にはセキュリティをはじめとして数多くの問題があり、私が入社してから1年後の2022年には、社内管理画面移行プロジェクトが正式に始まっていました。まずは社内での実績を作るために、業務フローごとに段階的な移行を進め、2024年にはFAX配信の自動化機能を新しい社内管理画面で提供し、業務フローの改善にもつなげることができていました。

あわせて読みたい
C言語とCGIで大量のFAX送信作業を自動化した話 こんにちは、PR TIMESの開発部インターンの三宅です。PR TIMESではFAXを用いてプレスリリースの発信を行うことができます。今回、私はこれまで手動で送っていたFAXをWin...

こうした取り組みを積み重ね、2025年中の社内管理画面の完全移行を目指していた中で起きてしまったのが、今回の不正アクセスです。問題点を認識し、何年もかけて対応を続けてきたにもかかわらず間に合わなかったことについては、CTOとして非常に悔しく、もっと防げる余地はなかったのかと今でも考え続けています。

一方で、起こってしまった事実は変えられません。私たちにできるのは、利用企業の皆さまにお約束した「2025年中のセキュリティをより担保しやすい新管理者画面への移行」を必ずやり切り、その上で信頼していただける体制をきちんと作ることだと考えています。

そのために、旧社内管理画面の廃止だけでなく、セキュリティ対策の抜本的な見直しも進めてきました。具体的には、システムとして足りていなかった機能やルールを整えるために、

  • 削除済みデータの保持期間と削除ルールの見直し
  • 企業ユーザー・メディアユーザー・個人ユーザー向けの二段階認証など、ログインに関する機能追加

といった施策を「再発防止策」としてお約束し、順次リリースしてきました。

これらの施策を約束したスケジュールどおりに実装・公開していくことが、インシデント後の責任の果たし方であり、「そのままにしない」姿勢を具体的な形にすることだと考えています。なお、本件不正アクセスの発覚以降、お客さま情報の不正利用などの事実は、2025年12月時点で確認されていません。今後も必要に応じて追加の対策を検討・実施していきます。

不正アクセスの詳細や再発防止策については、別途公開しているお知らせもあわせてご確認いただければと思います。

PR TIMES 不正アクセスの再発防止策の追加と実施予定について

再発防止策の完了についても以下のPDFでお知らせしています。

新管理者画面(PR TIMES運営側)への移行完了および削除済みデータの保持期間に関するシステム実装のお知らせ

2025年のプロジェクト振り返り

ここからは、2025年に実際に動いていたプロジェクトをいくつか紹介します。これらのプロジェクトを実装として前に進めてくれたのは、それぞれのチームのメンバーです。実装の詳細については、すでにこの開発者ブログで公開されているものもありますし、今後技術記事として公開されていくものもあるはずです。本記事では、そうした実装の詳細には踏み込まず、CTOとして何を課題と捉え、どのような方針で進めてきたのかに絞って書いていきます。

旧社内管理画面の全廃

旧社内管理画面はPR TIMESのリリース初期に開発されて以降、大きな変更なく利用され続けてきたシステムでした。その一方で、現在の基準で見るとセキュリティ・メンテナンス性・運用負荷の面で多くの課題を抱えており、PHPのバージョンアップも難しく、機能追加もほとんど行えない状態に陥っていました。

社内管理画面には日々の業務で必要とされる機能も多く、業務改善もできないまま運用だけが続いている状況は、長期的には大きなリスクになると考えていました。そのため、入社直後から「いずれは全廃する」ことを前提に計画を作り始め、2022年に新しい社内管理画面を開発するプロジェクトを正式にスタートしました。まずは一部の社内業務を新しい管理画面に移し、FAX配信の自動化など、業務フローの改善にもつなげてきました。

移行を進める上では、社内で利用されている機能を洗い出し、まずは「今と同じ業務が止まらずに回る状態」を新しい社内管理画面上で実現することを目標にしました。本来であれば業務フロー自体の改善によって生産性を上げ、より良いユーザー体験につなげていくことが理想ですが、その前提として「安全かつ変更可能な土台」に載せ替えることが必要だと判断したためです。

実際に移行を進めると、考慮漏れや開発漏れもいくつか見つかりましたが、スケジュールの見直しや前倒しも含め、メンバーの尽力もあって対応を重ねていきました。その結果として、2025年中に旧社内管理画面の全廃を完了し、新しい管理者画面を前提とした運用へと移行することができました。

企業向け管理画面のUI刷新とコード刷新

PR TIMESは2023年末より、大規模リニューアルを進めてきました。

プレスリリース・ニュースリリース...
サービスの未来を左右する大規模リニューアルを、包み隠さずオープンに。PR TIMES、「透明性」を軸に据えた... 株式会社PR TIMESのプレスリリース(2023年7月6日 15時00分)サービスの未来を左右する大規模リニューアルを、包み隠さずオープンに。PR TIMES、「透明性」を軸に据えたリ...

このプロジェクトによって、一部機能については新しいUIでの機能追加・改善が継続的に行えるようになりました。一方で、リニューアル済みの機能と以前のUIのままの機能が混在する期間が長くなり、ユーザーにとっても分かりづらい状態になっていたのも事実です。

技術的にも、リニューアル前のほとんどの機能はフロントエンドがjQueryベースの古い実装のままで、バックエンドも古いコードに依存していました。機能追加やバグ修正が難しく、コードの刷新自体が急ぐべき課題でした。

これまでは、UIリニューアルを次のような二段構えで進めてきました。

  1. 既存のUIや仕様はそのままに、コードだけを新しい基盤にリプレイスする
  2. リプレイス後の基盤の上で、UI変更や新機能追加を行う

まずリプレイスを挟んでいた理由は、主に次の2つです。

  • 新しいコード基盤の実績が少なく、まずは実績を増やしたかった
  • コードの刷新を優先したい一方で、プロダクト側の仕様決定やスケジュールの事情でリリースが遅れた場合でも、コード刷新だけは先に進められる状態にしておきたかった

この進め方により、開発としては「古いコードを残さないこと」と「UIリニューアルや新機能追加」を切り離して考えることができました。仮にリニューアル自体が何らかの理由で延期になったとしても、コードはすでに新しい基盤に載っているため、古い実装が残り続けることを避けられます。

しかし今回の企業向け管理画面については、この二段構えを取らず、最初からリニューアル後のUIを前提とした実装を行いました。理由は次の通りです。

  • 既に複数の機能が新しいUIにリニューアル済みであり、「古いUIのままでよいとする機能」は残っていなかったこと
  • 新しい基盤自体はすでに十分な実績があり、「まず実績を増やす」という目的は達成されていたこと

こうした事情から、今回はコードリプレイスとUI変更を同時に進める判断をしました。その代わり、機能追加は最小限にとどめ、既存機能のデザイン刷新とコード基盤の移行に注力しています。今後の機能追加・改善については、今回整えた新しい基盤の上で進めていく予定です。

また今年、一気に広まったAIエージェントによるコーディングは、今回のリニューアルを加速してくれました。既存機能の調査やコードの読み解き、機械的な修正などは特にAIとの相性が良く、こうした大規模リニューアルにおいて大きな助けになっています。なお、AIを利用する際も、社内ルールに従い、お客さま情報や機密情報を外部に送信しない形での利用に限定しています。今後もAIを適切に活用しながら、より早く、より多くの価値をお客さまに届けられるように開発を進めていきたいと考えています。

あわせて読みたい
社内デザインシステムMCPとFigma MCPを活用したゼロから作らない開発 こんにちは。2025年の9月に中途で入社しましたフロントエンドエンジニアの白濱(@shiraha_maru)です。社内デザインシステムのMCP化、Figma MCPを活用して入社1ヶ月目か...

削除済みデータの保持仕様変更

これまで企業情報などの重要なテーブルでは、削除操作を行っても削除フラグを立てるだけで、実際のデータは長期的に保持される仕様になっていました。 PR TIMESでは誤って削除してしまったデータを戻してほしいというご要望が多く、迅速な復旧サポートを行うために、この仕様はサービス運用上、不可欠な側面がありました(なお、これらのデータにアクセスできるのは、必要な権限を持った社内メンバーに限られていました)。

一方で、「削除したはずのデータが長期間残り続ける」というのは、データ管理やセキュリティの観点からは見直すべき課題です。そこで、削除してから30日間は復旧可能な状態で保持し、それ以降はデータベースから実際に削除する仕様に変更しました。誤削除に備えて一定期間は復旧できるようにしつつ、その後は物理的に削除されることで、「削除したのに残り続けてしまう」状態を解消することを目指しました。

今回の対象となるテーブルは多岐にわたります。特に企業テーブルやプレスリリーステーブルなど、ビジネス上重要であり、かつ多くの機能から参照されているテーブルが含まれていたため、まずは影響範囲の洗い出しから始め、仕様と実装方法についても慎重に議論を重ねました。

ここでもAIを活用することで、影響範囲の調査を効率的に進めることができました。関連するコードやクエリの洗い出しをAIに支援してもらうことで、比較的早い段階から「どこに手を入れる必要があるのか」「どのパターンを考慮すべきか」が見えている状態で議論と実装を進めることができました。着手当初は影響範囲が大きく、すべてを把握しきれていない箇所もありましたが、最終的には現実的な仕様とスケジュールで対応できたと考えています。

ログイン・パスワードなど横断的なセキュリティ強化

昨今のWebサービスは、漏洩したパスワードを用いてログインを試みるパスワードリスト攻撃をはじめ、多くの攻撃にさらされています。そうした状況を踏まえると、これまでのPR TIMESのログインまわりの仕組みは、今のセキュリティ水準から見て強化の余地が大きい状態でした。

そこで、まずはログインを守るための基本的な機能として、

  • メールを利用した二段階認証の提供
  • ログインを許可するIPアドレスを限定できる機能の提供
  • パスワードに求める要件(長さや複雑さなど)の強化

といった施策を順次実装しました。

2026年3月ごろには、ログイン履歴を確認できる機能や、ログイン通知など、利用状況をユーザー自身が把握しやすくするための機能追加も提供を予定しています。

これらの機能はいずれ実装すべきだと以前から認識していた一方で、ここまで時間がかかってしまったことについては率直に反省しています。今回の対応で終わりにするのではなく、こうした基盤的なセキュリティ機能をしっかり整え続けることで、安心してご利用いただけるサービスにしていきたいと考えています。

あわせて読みたい
PR TIMESのログインに二要素認証を導入した話 こんにちは!PR TIMES 開発本部のエンジニア、トゥ(codyzard)です。 今回のブログでは、パスワードと Email ワンタイムパスコードを組み合わせた二要素認証(Multi-Fa...

おわりに:問題を直視し、直し続ける組織へ

システムは人間が開発しているものであり、完璧に作ることはできません。しかし完璧に作れないから諦めるのではなく、完璧でないからこそ、問題を直視して直し続ける組織でなければならないと考えています。

ここ数年でやってきたのは、その事実から目をそらさずに「何が課題なのか」を言語化し、現実的なステップに分解して、年単位で直し続けることでした。社内管理画面の全廃と、企業向け管理画面の全面的なコード見直しは、まさにそのスタンスを象徴するプロジェクトだったと思います。「今のままではいけない」と判断したものに対して、インフラもアプリケーションも前提から見直し、必要であれば作り直してきました。

入社直後から進めていた「インフラとミドルウェアのアップデート」「全機能のリプレイス・リニューアル」「社内管理画面の全廃」という3つの方針は、2025年末の時点で、形としては一通りやり切るところまで来ました。ただ、これで終わりではなく、ここから先も新しい前提に合わせて同じように見直し続けていく必要があると感じています。

ここまでが、この4年半で裏側で何をしてきたのかという、大まかな振り返りになります。

今回の不正アクセスをはじめ、お客さまにはご不安やご不便をおかけしてきた部分も少なくありません。公開している再発防止策やセキュリティ強化策に加えて、今後も継続的に見直しと改善を続けていくことをお約束します。一度対応して終わりではなく、環境や前提の変化に合わせて対策そのものをアップデートしていくことが、今回の反省から学んだ重要なポイントだと感じています。

PR TIMESの開発は「きれいな新規開発」だけではありません。レガシーな部分やセキュリティ課題を直視し、ときには前提から形を変えていくような仕事が、まだたくさん残っています。そうした「負債を解消しながらサービスを前に進める」タイプの開発に面白さを感じる方にとって、PR TIMESはまだやることが多いと考えています。

PR TIMESのシステムも組織も、まだ改善できる余地が大きく残っていると感じています。PR TIMESは、企業の発表を社会に届ける社会的な情報インフラの一部でもあります。だからこそ、課題を認めて改善を積み上げることを前提に、技術と運用で信頼を築いていきたいです。

利用される方々の安心を最優先に、できる限りオープンに課題と向き合い、直し続ける組織でありたいと考えています。

  • URLをコピーしました!

この記事を書いた人

株式会社PR TIMESでCTOをやっています。がんばります。

目次