Saphan

สิ่งที่มีอยู่แล้ววันนี้ — ทีละมาตรการควบคุม

นี่ไม่ใช่รายการฟีเจอร์ แต่คือพื้นฐานที่องค์กรได้รับตั้งแต่วันนี้ — หนึ่งแถวต่อหนึ่งมาตรการ: มันทำอะไร ปฏิเสธอะไร และทิ้งอะไรไว้ในบันทึกสำหรับคนที่ไม่ได้อยู่ตรงนั้น

พื้นฐานที่ส่งมอบแล้ววันนี้

มาตรการควบคุมสิ่งที่มีอยู่สิ่งที่บันทึกเก็บไว้
บันทึกการกำกับดูแลที่ลงนาม ผู้กระทำ การมอบอำนาจ เครื่อง ที่นั่ง และสิทธิ์ทั้งหมดอยู่ในบันทึกแบบต่อท้ายอย่างเดียว (append-only) ที่ลงนามด้วย Ed25519 ทะเบียนที่มนุษย์อ่านได้ทุกฉบับเป็นเพียงภาพฉายของบันทึกนี้ — สร้างใหม่ได้ ไม่ใช่ต้นทาง ประวัติการกำกับดูแลทั้งหมด ตรวจสอบได้โดยบุคคลที่สามที่ถือเพียงกุญแจสาธารณะราก — โดยไม่ต้องเชื่อถือเครื่องที่สร้างบันทึกนั้น
ไม่มีการอนุมัติโดยปริยาย ไม่มี timeout ที่กลายเป็นความยินยอมและไม่มี auto-accept โดยปริยาย เกตต้องมีการตัดสินใจของมนุษย์หรือการมอบอำนาจแบบชัดเจนและจำกัดจากนโยบายที่มนุษย์ลงนาม ไม่มีค่าเริ่มต้นและปฏิเสธการตัดสินที่ผิดลำดับ เอนจินไม่ให้อำนาจตัวเองและไม่ทำ merge หนึ่งแถวต่อหนึ่งการตัดสิน: ผู้กระทำ คำตัดสินจากชุดคำปิด เวลา และสายอำนาจ “Merged” ไม่เคยถูกประกาศ — สังเกตจาก merge commit จริงเท่านั้น
การตัดสินที่ตรวจพบการแก้ไข การยอมรับแต่ละครั้งเป็นชุดข้อมูลที่ผูกกุญแจและตรวจสอบแล้ว และถูกตรวจซ้ำตอน merge แก้ช่องใดภายหลัง การตรวจสอบจะล้ม ชุดข้อมูลนั้น และผลการตรวจสอบตอน merge
ข้อเสนอ ≠ การตัดสิน คำปรึกษาจาก AI หรือมนุษย์ถูกบันทึกเป็นความเห็น ส่วนการตัดสินเป็นการกระทำแยกของผู้มีอำนาจ อำนาจอัตโนมัติต้องย้อนกลับไปถึงการมอบอำนาจแบบจำกัดที่มนุษย์ลงนาม และการตัดสินสวนทางกับข้อเสนอก็ถูกบันทึก แถวข้อเสนอและแถวการตัดสินแยกกันในทุกประตู — ไม่เพียงว่าตัดสินอะไร แต่ใครเสนออะไร
ตัวตนของเครื่องด้วยใบรับรอง ไม่มี endpoint สำหรับลงทะเบียน ไม่มี join token เครื่องถูกรับเข้าโดยการกระทำที่ชัดแจ้งของเจ้าของ ผูกกับใบรับรอง control plane เชื่อมต่อออกไปข้างนอกเท่านั้น และเครื่องรันไม่ถือ credential ใดของ control plane การรับเข้าในบันทึกที่ลงนาม และห่วงโซ่ใบรับรอง
อำนาจที่มอบหมายและมีขอบเขต การมอบอำนาจที่ลงนามโดยราก มีขอบเขต สายงาน และช่วงเวลาที่ใช้ได้ วันหมดอายุคือเพดาน ไม่ใช่ตัวจุดชนวน การปลดผู้กระทำมีผลทันที ไม่ว่าการมอบอำนาจใดจะยังไม่หมดอายุ การมอบอำนาจ พร้อมลายเซ็นครอบทุกช่อง — ใครให้อะไรแก่ใคร ถึงเมื่อไร
กฎประจำที่ให้สัตยาบัน เอกสารที่กำกับวิธีทำงานถูกลงนามโดยรากเข้าไปใน manifest ที่มีหมายเลขลำดับ เอกสารใดก็ตรวจสอบย้อนกลับถึงรากได้ เอเจนต์ทำงานภายใต้กฎที่พิสูจน์ได้ว่าได้รับแล้ว manifest และบันทึกของแต่ละการรันว่ากฎใดถูกฉีดเข้าไป — พร้อมแฮชของมัน
การกักบริเวณระดับ OS — ในเครื่อง นโยบายเขียนแบบปฏิเสธเป็นค่าเริ่มต้นจาก sandbox ของระบบปฏิบัติการเอง — Seatbelt บน macOS, Bubblewrap บน Linux — ประกอบขึ้นสำหรับแต่ละการรันก่อนที่เอเจนต์จะเริ่ม หากไม่มี sandbox การรันจะถูกปฏิเสธ ไม่ใช่ลดระดับความปลอดภัย บันทึกการรันระบุเครื่องมือที่กักบริเวณ และไดเรกทอรีที่ยังเขียนได้ — ข้อกล่าวอ้างที่ทีมของคุณทำซ้ำได้
การกักบริเวณระดับ OS — เครื่องระยะไกล การกักบริเวณที่บังคับโดยเคอร์เนล (Landlock) สำหรับการรันที่ส่งผ่าน SSH ความสามารถในการกักบริเวณของเครื่องถูกวัดก่อนที่งานจะถูกส่งไปที่นั่น เครื่องที่ยังไม่ถูกวัด หรือวัดแล้วว่าทำไม่ได้ จะปฏิเสธการรัน ความสามารถที่วัดได้บนแถวที่ลงนามของเครื่อง และบันทึกการรันที่ระบุว่าอะไรเป็นตัวบังคับ
การเชื่อมต่อออกคือรายการ การรันที่ประกาศนโยบาย egress จะเข้าถึงเครือข่ายได้ผ่านประตูที่นโยบายนั้นกำกับเท่านั้น: ปลายทางถูกอนุญาตก็ต่อเมื่อนโยบายอนุญาตทั้งโฮสต์และพอร์ต และค่าเริ่มต้นไม่อนุญาตอะไรเลย โฮสต์ที่ตัดเครือข่ายไม่ได้จะปฏิเสธการรัน แทนที่จะเริ่มแบบเปิด ในรุ่นนี้เป็นแบบเลือกเปิดต่อการส่งงาน — ยังไม่มีค่าเริ่มต้นทั้งฟลีต และเราบอกไว้ตรง ๆ digest ของนโยบายที่คอมไพล์แล้วบนแถวของการรัน — รายการใดกำกับการรันนี้ การตัดสินต่อการเชื่อมต่อยังไม่ถูกบันทึก นั่นคือข้อจำกัดของรุ่นนี้ที่ระบุไว้ ไม่ใช่ของการออกแบบ
ไม่มีช่องทางลัดระหว่างเอเจนต์ เอเจนต์ประสานงานกันผ่านพื้นผิวที่ถูกบันทึกเท่านั้น — คำสั่งงาน ไฟล์ช่องทางใน worktree ของสายงานเองที่ถูกนำเข้าบันทึก ประตูตัดสิน และกล่องจดหมายแบบเพิ่มอย่างเดียวสำหรับคำสั่งของเจ้าของ ไม่มีการส่งข้อความระหว่างเอเจนต์ในผลิตภัณฑ์ “ใครบอกอะไรกับใคร เมื่อไร” คือคำค้น ไม่ใช่การสอบถาม — ประวัติการประสานงานของสายงาน เล่นซ้ำได้จากบันทึก
การปฏิเสธคือข้อมูล ทุกการปฏิเสธ — จากเครื่องยนต์ การอนุญาต สคีมา หรือนโยบาย — เป็นแถวที่บันทึกไว้โดยไม่มีต้นทุน พร้อมประเภทที่มีชื่อ สาเหตุการปฏิเสธถูกบันทึก ไม่เคยส่งกลับผ่านสาย สมุดบัญชีการปฏิเสธ: มาตรการควบคุมที่ทำงานจริง ไม่ใช่แค่มีอยู่
การเฝ้าระวัง — เป้าหมาย Prometheus เดมอนที่ให้บริการเปิด GET /metrics ในรูปแบบข้อความมาตรฐานของ Prometheus: การรันแยกตามสถานะและแบ็กเอนด์ การปฏิเสธแยกตามประเภท การตัดสินที่ประตูแยกตามประตูและคำตัดสิน เวอร์ชันสคีมาของที่เก็บ ค่าของ label เป็นชื่อประเภทเท่านั้น — ไม่มีชื่อสายงาน พาธ หรือชื่อผู้กระทำ การปฏิเสธเป็นเมตริกชั้นหนึ่ง — ในสถาปัตยกรรมนี้ การปฏิเสธคือสัญญาณด้านความปลอดภัย ไม่ใช่เสียงรบกวน ดึงข้อมูลด้วย Prometheus ที่คุณใช้อยู่แล้ว ไม่ต้องติดตั้งอะไรเพิ่ม
ค่าความลับอยู่นอกบันทึก ชนิดข้อมูลการตั้งค่าและ dispatch พกชื่อกับการอ้างอิง ไม่ใช่ค่าความลับ ไฟล์กุญแจถูกตรวจสิทธิ์ก่อนใช้ และการรันระยะไกลปิดการส่งต่อ environment กระบวนการที่ถือ credential อาจใช้ค่าเพื่อยืนยันตัวตนโดยไม่คัดลอกลงบันทึกงาน การตั้งค่าโดยชื่อ ไม่มีค่าความลับในบันทึก หลักฐาน ล็อก แถวต้นทุน หรือไฟล์ส่งออก
OAuth 2.1 บนพื้นผิวการจัดการ ป้องกันด้วย bearer โดย Team ยืนยันตัวตนผ่าน SaaS saphan-oauth ที่ Saphan ดำเนินการ ส่วน Enterprise รัน saphan-oauth ภายในหรือรับ IdP ใดๆ ของลูกค้าผ่านรายการ issuer ที่มนุษย์อนุมัติ มี scope class การแบ่งระดับแถวต่อผู้เช่า และ fail-closed เป็นค่าเริ่มต้น ล็อกการเข้าถึงระดับตรวจสอบบัญชีบนทุกช่องทาง — รหัสสถานะตรงไปตรงมา ไม่มีค่าหรือ query string ถูกบันทึก
การกำกับต้นทุน ใบเสนอราคาและเพดานแข็งต่อการรัน กำหนดก่อนส่งงาน ตรวจความจุก่อนเริ่ม ชั้นการเรียกเก็บเงินต่อที่นั่ง ต้นทุนจริงและส่วนต่างอยู่ข้างหลักฐาน ไม่ใช่บนใบแจ้งหนี้อีกใบ สมุดบัญชีต้นทุน ต่อสายงานและต่อประตู — “การเปลี่ยนแปลงนี้ราคาเท่าไร” ได้คำตอบบรรทัดเดียวเหมือน “ใครอนุมัติ”
การตรึงห่วงโซ่อุปทาน ไบนารีของเอเจนต์ถูกส่งพร้อม digest ที่คำนวณบนเครื่องผู้รับ และตัวตนถูกตรวจซ้ำ ณ ที่ที่มันทำงาน ต่อการรัน: digest ของไบนารี เวอร์ชัน แฮชของการตั้งค่า กฎประจำที่ถูกฉีดเข้าไปและแฮชของมัน
ที่เก็บบันทึกของคุณ ที่เก็บบันทึก PostgreSQL บนโครงสร้างพื้นฐานที่คุณควบคุม ตั้งค่าโดยชื่อ credential ผ่านชื่อตัวแปรเท่านั้น โค้ด หลักฐาน run และบันทึกการปฏิบัติงานไม่ผ่านโครงสร้างพื้นฐานของ Saphan Team ส่งตัวตนไปยัง OAuth ของ Saphan ส่วน Enterprise เก็บตัวตนไว้ภายใน ทั้งสองแบบใช้สัญญาณมือถือที่มีเพียง gate id แบบทึบและจำนวน badge ได้ ฐานข้อมูลของคุณ บวกไฟล์ธรรมดาใน git ของคุณ อ่านได้โดยไม่ต้องใช้เครื่องมือของเรา
พิสูจน์ด้วยการทดสอบ ไม่ใช่คำกล่าวอ้าง สถานการณ์แบบครบวงจรรันกับไบนารีจริง: วินัยที่ประตู การล็อกการส่งงาน การต้านทาน injection คำสั่งที่ส่งผิดทาง กระบวนการ OAuth การป้องกันด้วย bearer ความสอดคล้องของภาพฉาย ผลการทดสอบความสอดคล้อง ทำซ้ำได้บนการติดตั้งของคุณ

Fail-closed คือธรรมเนียมของบ้านนี้: ค่าตั้งค่าที่ไม่รู้จัก sandbox ที่หายไป ที่อยู่ bind ที่กำกวม — แต่ละอย่างถูกปฏิเสธพร้อมประเภทที่มีชื่อ แทนที่จะถอยไปสู่ท่าทีที่อ่อนแอกว่า ที่ใดที่มาตรการยังไม่บังคับใช้ เอกสารบอกไว้ตรง ๆ และแผนงานระบุชื่อมัน

แถวเหล่านี้สอดคล้องกับ ISO 27001, ISO/IEC 42001, SOC 2, NIST AI RMF และ EU AI Act อย่างไร →

Saphan Studio เพิ่มเติม

สอบถามเรื่องการเป็น design partner

ติดต่อเรา — hello@saphan.ai