カテゴリー
Hack

Slackクライアントで相手が削除したメッセージを残すパッチスクリプト

SharonBrizinov/slack-anti-delete は、Slackクライアント上で相手が消したメッセージをこちら側では残したままにする、というツールです。

管理者が「メッセージは削除できない」設定としていない限り、Slack で送ったメッセージは編集したり削除したりすることができます。チャット相手のクライアントではそれらは無かったことにされタイムラインから消されます。

しかし、このツールを使うと相手が削除してもメッセージが残り続けると。

Slack社が作っているクライアントでどうやってそんな改造をするのかな、と思ってみたら、Slack の実行ファイルの場所を見つけ、クライアントが呼び出している JavaScript ファイルのキャッシュを探してそれらの動作を書き換える Python スクリプトという力技でした。

Windows も対応というので試してみたところ、確かに相手が消したはずのメッセージが残り続けます。

ツールを使って削除メッセージが消えないようにした様子を再現

作者がこのツールを作った動機は、友人の愚痴で以前の上司が品の無いメッセージを彼に送ってはすぐに消す、という行為を繰り返していて、その件について上司を詰めようとしたけれど(消されているから)証拠が何もなかった、という話を聞いたことによるものだそうです。

この件だけ見るとパワハラやセクハラの告発として使えそうだし、ツールの意義もあるかもです。Hacker News の議論では「相手が消したつもりのものを収集するのは可能であっても倫理的にどうなんだ」という意見も出てはいます。

まあ、Slack API で連携させたツールから全部を保存してるような場合もあるだろうし、消されたメッセージを残す方法はこれに限らないところではあるので、消さないといけないような発言はするな、というのはまず基本ではありますが。

間違って書かれたものが残ると困る場合として、パスワードを間違ってSlackに打ち込んだ場合があり、実際にPCにログインするつもりでPCのパスワードを同僚に送ってしまった場合など、消して済むなら消えてるのが望ましい場合もあるでしょう。ただ、どのみちこのパスワードは直ちに変更しなければいけないでしょうけど。

twitter などでも有名人が「まずい」と思ってかすぐに削除したはずのツイートがフォロワーのtwitterクライアントにはずっと残っていて、そのスクリーンショットが流出して批難される、なんていうことも起こりますよね。送り側の消して無くしたい気持ちと受け手側の消せば無かったことになるのかという気持ちの狭間で、送ったメッセージの削除をどうするかについて人々の意見はわかれるところなのかもしれません。

via Hacker News

カテゴリー
ネットの事件

HTTPie が GitHub 上の誤操作で54000スターを喪失

オープンソースの人気HTTP CLIツール HTTPie公式ブログで、我々はいかにして5万4千個のスターを失ったか(How we lost 54k GitHub stars)という体験談が公開され、話題を呼んでいます。

公開から10年を経て、5万4000個ものスターを獲得するに至った HTTPie は、人間が読みやすい出力を差別化ポイントとしているツールということ。

そんな人気ツールのGitHub スター(Watches も)が0個にリセットされてしまった原因は結局のところ操作ミスです。

直接の原因は HTTPie のコマンド本体のリポジトリをプライベートにしてしまったこと。プライベートrepository にすると、watches も starts もすべて失われてしまいます。しかし、中の人は HTTPie コマンドのリポジトリではなく、プロジェクト組織ページのトップの httpie/.github をプライベート化するつもりだったよう。

すぐに失敗に気づいてリポジトリをパブリックに戻そうとしたようですが、30分ほども次のコマンドは受け付けられなかったと。内部的には多くのスターの削除処理などが終わっていなかったのだろうということ。

バックアップを持っているであろう GitHub サポートに以前の状態に復元する依頼もされたようですが、作業にかかる費用を払うとしても受けられないと拒絶されたそう。自社のクライアントアプリで同じ失敗をしたときはバックアップから戻したことがあるそうですが、まあ立場も違いますからね。

ブログでは、削除の確認のUIが良くない、という指摘に続きます。「スターや watches がすべて消えます」だけではなく、「54,000 スターが消えます」という警告なら間違って進めなかった、という主張で、確かに一理あります。削除など復元が無理な指示をする際に、削除対象が大事そうなものか、そうでないものかというのはある程度対象の内容から推測できるので、その重大性が警告に含まれるといいでしょうね。

「削除がソフトデリートで、簡単に復元できるといいのに」という提言もされてますが、今からそんな箇所の作りを変える動機が GitHub にあるかな。

まあ、他にできることもないのでこのブログを書かれたのでしょうけれど、この体験談が Hacker News のトップに掲載されたことで、3500ほどのスターは戻ってきています。HTTPie を Watch してた方は、ぜひ Re-watch してあげてください。

via Hacker News

カテゴリー
ネットのサービス

Redact – 過去のSNS投稿を様々な条件で自動的・定期的に削除してくれるツール

Redact は、Facebook や Twitter などの SNS の過去の投稿を削除管理をしてくれる新アプリ/サービスです。

このサービスを使うと、定期的に、あるいは単発で登録したSNSの過去の自分の書き込みを調べ、自分の設定した条件で削除してくれるということです。

使ってみた

Facebook で試してみました。

まずFacebook上で、テスト用にいくつかポストをしました。(何年もろくにFacebookを使っていなかったので、テスト用投稿を作るところから)

Redact への条件として

  • 「テスト」という文字を含む、
  • 過去1年間のFacebookの投稿とコメント
  • イイネは消さない
  • 「重要」という文字があれば除外する(=消さない)

を対象に設定しました。対象のポストを探すだけの「プレビュー」と実際に消す「削除」がありますが今回は削除を実行

「本当に進めていいですか?」の確認

「1件を削除しました」

先ほど一番最後にあった「テスト」を含んだポストが、Facebook上で削除されているのを確認しました。

単発の「削除」ではなく「スケジュール」にすると、指定した間隔でこの処理を定期的に繰り返してくれるそうです。

使い道

昔のSNSでの発言、毎日のように書き込みしている本人にとっては覚えてもいないものがほとんどだと思いますが、インターネット空間には残り続けています。検索などで迷い込んできた第三者が見ることもありますし、何か素晴らしい発言をしたり炎上したりして目立ったりすると、過去に遡って読んでくれるような人たちも現れます。

その結果として今言っていることと矛盾したり正反対な意見を書いていたりが見つかったりや、犯罪や不正行為の自白になっていたりで別の炎上を起こしてしまうということも起こっていますね。

その場の言い捨てのつもりでSNS で発言していた人にとっては、そのような過去の投稿が発掘されて出回るのは恐ろしいことでしょう。Redact の機能はそのような問題を防ごうとしているというのもあるのかなと思いました。

最近の炎上例なら「死ね」とかでしょうか。昔SNSで悪態をついていた自覚があるなら、候補となりそうなキーワードを入れれば、Redact が探し出してその発言だけを削除してくれるというわけです。

最初からSNSを短期の投稿場所としてしか考えていないなら、たとえば毎週一回チェックをさせてそれ以前の投稿はすべて消してしまうような運用をしてもよい。

セキュリティ

リリース時に対応が謳われたサービスは Facebook, Twitter, Discord, Twitch, LinkedIn, Microsoft Teams, Skype, Instagram, Slack など多岐にわたります。サービスも、そのサービス内の何が消せるかについても、今後も拡充を続けるそうです。

これらのSNSサービスがすべて Redact のような外部サービスを良しとするわけでもなく、Facebook の例では連携は API 等ではなく、Facebook のパスワードを Redact に預ける形でした。SNS アカウントを大事にしているなら、ここの点のセキュリティは気になるところかもしれません。

SNSへの対応も大変なサービスだと思いますが、PC/Mac/Linux 版は現在は無料で使えるそうです。iOS/Android 版はこのあとのリリースが予定されていて、そちらは有料となる予定。

via Hacker News