| Podpisany rekord zarządczy |
Aktorzy, delegacje, maszyny, seaty i uprawnienia w jednym dzienniku append-only podpisanym Ed25519. Każdy rejestr czytelny dla człowieka jest jego projekcją — odtwarzalną, nigdy źródłem. |
Cała historia zarządcza, weryfikowalna przez stronę trzecią mającą tylko główny klucz publiczny — bez zaufania do maszyny, która ją wytworzyła. |
| Bramki ludzkie, bez wyjątków |
Żadnego auto-accept, auto-merge ani „brak odpowiedzi = zgoda" w całym produkcie. Decyzja na bramce nie ma wartości domyślnej i jest odrzucana, gdy przychodzi nie po kolei. Silnik przenosi; nigdy nie osądza. |
Jeden wiersz na decyzję: aktor, decyzja z zamkniętego słownika, czas. „Merged" nigdy nie jest deklarowane — jest tylko obserwowane z prawdziwego merge commita. |
| Decyzje odporne na manipulację |
Każda akceptacja to kluczowana, zweryfikowana krotka, sprawdzana ponownie przy merge. Zmień później dowolne pole i weryfikacja pada. |
Krotka i wynik jej sprawdzenia przy merge. |
| Sugestia ≠ decyzja |
Konsultacja — AI albo człowieka — jest zapisywana jako opinia; decyzja jest własnym aktem człowieka; odejście od sugestii samo jest zapisane. |
Osobne wiersze rekomendacji i decyzji na każdej bramce — nie tylko co postanowiono, ale co i kto rekomendował. |
| Tożsamość maszyny z certyfikatu |
Bez endpointu rejestracji, bez join tokena. Maszynę przyjmuje jawny akt właściciela z powiązaniem certyfikatu; płaszczyzna sterowania łączy się tylko na zewnątrz, a runnery nie trzymają do niej żadnych poświadczeń. |
Akt przyjęcia w podpisanym dzienniku; łańcuch certyfikatów. |
| Delegowane, ograniczone uprawnienia |
Delegacje podpisane kluczem głównym, z zakresem, strumieniami pracy i oknem ważności. Wygaśnięcie to sufit, nigdy wyzwalacz; wycofanie aktora działa natychmiast, niezależnie od niewygasłych delegacji. |
Delegacja z podpisem nad każdym polem — kto komu co nadał i do kiedy. |
| Ratyfikowane prawo stałe |
Dokumenty rządzące tym, jak wykonuje się pracę, są podpisane kluczem głównym w numerowany seryjnie manifest. Każdy dokument weryfikuje się z powrotem do korzenia; agent pracuje pod prawem, którego otrzymanie da się wykazać. |
Manifest oraz zapis każdego uruchomienia, jakie prawo zostało wstrzyknięte — z jego hashem. |
| Izolacja uruchomień na poziomie OS — lokalnie |
Polityka zapisu deny-by-default z sandboksa samego systemu operacyjnego — Seatbelt na macOS, Bubblewrap na Linuksie — składana dla każdego uruchomienia, zanim agent wystartuje. Brak sandboksa odrzuca uruchomienie, zamiast je osłabiać. |
Rekord uruchomienia nazywa narzędzie, które je izolowało, i katalogi, które pozostały zapisywalne — twierdzenie, które Twój zespół może odtworzyć. |
| Izolacja uruchomień na poziomie OS — zdalnie |
Izolacja wymuszana przez jądro (Landlock) dla uruchomień wysyłanych przez SSH. Zdolność maszyny do izolacji jest mierzona, zanim trafi tam praca; maszyna niezmierzona albo zmierzona jako niezdolna odrzuca uruchomienie. |
Zmierzona zdolność na podpisanym wierszu maszyny; rekord uruchomienia nazywający, co wymusiło. |
| Ruch wychodzący to lista |
Uruchomienie, które deklaruje politykę egress, dociera do sieci wyłącznie przez drzwi, którymi ta polityka rządzi: cel jest dopuszczony tylko wtedy, gdy polityka dopuszcza i hosta, i port, a domyślnie nie dopuszcza nic. Host, którego nie da się odciąć, odrzuca uruchomienie, zamiast startować otwarty. W tym wydaniu opt-in per dispatch — nie ma jeszcze domyślnego ustawienia dla całej floty i mówimy to wprost. |
Digest skompilowanej polityki na wierszu uruchomienia — która lista rządziła tym uruchomieniem. Osądy per połączenie nie są jeszcze zapisywane; to zadeklarowany limit tego wydania, nie projektu. |
| Żadnych bocznych kanałów między agentami |
Agenci koordynują się wyłącznie przez zapisywane powierzchnie — ordery, pliki kanałów w worktree strumienia wciągane do rekordu, bramki, skrzynkę insert-only na dyrektywy właściciela. W produkcie nie istnieje komunikacja agent–agent. |
„Kto komu co powiedział i kiedy" to zapytanie, nie przesłuchanie — historia koordynacji strumienia odtwarzalna z rekordu. |
| Odmowy jako dane |
Każda odmowa — silnika, autoryzacji, schematu, polityki — to zapisany, bezkosztowy wiersz z nazwaną klasą. Przyczyny odmów są logowane, nigdy zwracane po kablu. |
Księga odmów: kontrole, które zadziałały, a nie tylko istnieją. |
| Monitorowanie — cel dla Prometheusa |
Demon serwujący wystawia GET /metrics w standardowym formacie tekstowym Prometheusa: uruchomienia po statusie i backendzie, odmowy po klasie, decyzje bramek po bramce i decyzji, wersja schematu magazynu. Wartości etykiet to wyłącznie nazwy klas — nigdy nazwy strumieni, ścieżki ani nazwy aktorów. |
Odmowy jako metryka pierwszej klasy — w tej architekturze odmowa to sygnał bezpieczeństwa, nie szum. Zbierane przez Prometheusa, którego już masz; nic do instalowania. |
| Sekrety się nie rozchodzą |
Żaden podsystem nie przechowuje ani nie przesyła wartości sekretu — tylko nazwy zmiennych i ścieżki, wymuszone w systemie typów. Pliki kluczy są sprawdzane pod kątem uprawnień, zanim ich treść zostanie odczytana. |
Konfiguracja po nazwie. Żadnej wartości w rekordzie, logu ani eksporcie. |
| OAuth 2.1 na powierzchni zarządczej |
Dostęp tylko z bearerem. Team uwierzytelnia przez utrzymywany przez Saphan SaaS saphan-oauth. Enterprise uruchamia saphan-oauth lokalnie albo dopuszcza dowolny IdP klienta przez zatwierdzaną przez człowieka listę issuerów. Klasy zakresów, wycinki na poziomie wierszy per tenant, domyślnie fail-closed. |
Log dostępu klasy audytowej na każdym transporcie — uczciwe kody statusu, nigdy wartości ani query stringi. |
| Kontrola kosztów |
Wycena i twardy limit na uruchomienie ustalone przed wysłaniem; pojemność sprawdzona przed startem; klasy rozliczeniowe na seatach. Koszty rzeczywiste i odchylenie lądują obok dowodów, nie na osobnej fakturze. |
Księga kosztów, per strumień i per bramka — „ile kosztowała ta zmiana" ma tę samą jednolinijkową odpowiedź co „kto ją zatwierdził". |
| Przypięty łańcuch dostaw |
Binaria agentów dostarczane z digestem liczonym na maszynie odbierającej, a tożsamość rozwiązywana ponownie tam, gdzie się wykonują. |
Na uruchomienie: digest binarium, wersja, hash konfiguracji, wstrzyknięte prawo stałe i jego hash. |
| Twój magazyn rekordu |
Magazyn rekordu PostgreSQL na infrastrukturze, którą kontrolujesz, konfigurowany po nazwie, poświadczenia tylko przez nazwę zmiennej. Kod, dowody uruchomień i rekord operacyjny nie przechodzą przez infrastrukturę Saphan. Team przekazuje tożsamość do OAuth Saphan; Enterprise pozostawia ją lokalnie. Oba warianty mogą używać sygnalizacji mobilnej niosącej tylko nieprzejrzysty identyfikator bramki i licznik badge’a. |
Twoja baza plus zwykłe pliki w Twoim gicie. Czytelne bez naszych narzędzi. |
| Zgodność mierzona, nie deklarowana |
Scenariusze end-to-end uruchamiane na prawdziwym binarium: dyscyplina bramek, blokowanie dispatchu, odporność na injection, źle zaadresowane instrukcje, przepływ OAuth, kontrola bearera, parytet projekcji. |
Wyniki testów zgodności, odtwarzalne na Twojej instalacji. |