Sheetward を支える技術
Sheetward を使うためにこのページを読む必要はありません — ただ、IT 部門から「このプラットフォームは何で動いているのか」と聞かれたときの答えがここにあります。ホスト版プラットフォームは、典型的な 3 層構成の Web アプリケーションです。画面はブラウザの中で動き、1 つのサービスがすべてのルールを確認し、各アプリのデータは互いに分けて保管されます。インストールするものはありません — ブラウザより下の層はすべて Sheetward 側で運用します。
| レイヤー | 使用技術 | あなたにとっての役割 |
|---|---|---|
| あなたのブラウザ | React + TypeScript | フォーム、テーブル、ダッシュボードは手元で描画されるため、日々の操作が瞬時に感じられます。 |
| 保護された入り口 | Cloudflare | すべての接続は暗号化され(HTTPS)、攻撃やボットの通信はアプリケーションに届く前に遮断されます。 |
| ルールの番人 | FastAPI(Python) | 1 つのサービスが、サインイン、ロール、検証ルール、数式、換算、インポートをすべてのリクエストで確認します — ブラウザ側だけに任せることはありません。 |
| レコードの保管 | PostgreSQL(セルフホスト環境とスタンドアロンスタンドアロンアプリでは SQLite) | 各アプリのデータは行レベルセキュリティで仕切られており、同じワークスペース内でも、あるアプリが別のアプリのレコードを読むことはできません。 |
| ファイルストレージ | S3 互換のクラウドストレージ | 添付ファイルとバックアップの保管場所。短時間で期限が切れる署名付きリンク経由でダウンロードされます。 |
| サポートとメール | AWS Bedrock と組み込みメール | AI サポートアシスタント(対応プランの場合)に加え、招待・通知・確認のメッセージを送信します。 |
お使いのブラウザ
Sheetward の画面全体 — フォーム・テーブル・ダッシュボードをローカルに描画するシングルページアプリ
ReactTypeScriptTailwind CSS
保護エッジ
全域 TLS(HTTPS)。リクエストがアプリケーションに届く前に DDoS・ボット対策を適用
Cloudflare
アプリケーションサーバー
データへの唯一の入り口 — サインイン、ロール、検証ルール、数式、インポートをここで強制
FastAPIPython
データベース
アプリごとに分離 — レコードと参照テーブル
PostgreSQL
ファイルストレージ
添付ファイルとバックアップ。短命の署名付きリンクで配信
Cloudflare R2
AI *
質問に答えるサポートアシスタント
AWS Bedrock
メール
招待・通知・確認メール
- ブラウザの中で。目にする画面 — フォーム、テーブル、ダッシュボード — はすべて React + TypeScript のアプリとしてブラウザ内で直接描画されます。そのため日々の操作が瞬時に感じられます。
- 保護された入り口。すべての通信はまず Cloudflare を通ります。あらゆる接続が暗号化され(HTTPS)、攻撃やボットの通信は Sheetward に届く前に遮断されます。
- データへの唯一の入り口。1 つの FastAPI(Python)サービスがすべてのリクエストを処理します。サインイン、ロール、検証ルール、数式、換算、インポートはすべてここで確認されます — ブラウザ側だけに任せることはありません。巧妙なリクエストであなたのルールをすり抜けることは誰にもできません。
- アプリごとにデータを仕切る。レコードは PostgreSQL に保存され、行レベルセキュリティが各アプリのデータを分離します — 同じワークスペース内でも、経費アプリが給与アプリのレコードを読むことは決してできません。(セルフホスト環境とスタンドアロンスタンドアロンアプリでは、代わりに各アプリが専用の SQLite ファイルを持ちます。)
- ファイルは別に保管。添付ファイルとバックアップはデータベースではなく S3 互換のオブジェクトストレージに保存され、短時間で期限が切れる非公開リンク経由でダウンロードされます。
- サポートとメールを標準搭載。AI サポートアシスタントは AWS Bedrock 上で動作します(対応するプランで利用できます)。招待、通知、確認のメールも自動で送信されます — 設定は何も要りません。