Hoe House gebou is
Hierdie bladsy is vir lesers wat wil weet hoe House onder die oppervlak werk. Jy het dit nie nodig om House te gebruik nie. Die taakgidse begin by Aan die gang kom.
House is ’n orkestreerder. Dit monteer die produkte Vonkara, Heldaro en Kragara onder een dop, gerugsteun deur een gedeelde Postgres-databasis (’n skema per produk) en een poort. Elke produk loop ook op sy eie buite House. Binne House loop dit in huis-modus: dieselfde produk, gekoppel aan jou House-rekening, jou huishouding en die poort.
Hoe huishoudings geskei gehou word
Afdeling met die titel “Hoe huishoudings geskei gehou word”’n Huishouding is die eenheid van data-isolasie in House. Elke produk se data behoort aan ’n huishouding, en die platform waarborg dat jy altyd net jou eie huishouding se rye sien.
Isolasie word in die databasis self afgedwing, nie net in toepassingskode nie. Die gedeelde Postgres-groepering gebruik ryvlaksekuriteit (RLS) op elke huurdertabel:
- Dienste koppel as rolle wat nie RLS kan omseil nie. Versoeke dra die huishouding wat opgelos is, gestel
as ’n databasis-sessieveranderlike (
app.household_id), en elke beleid filter daarop. - Tabelle faal geslote: sonder ’n gestelde huishouding gee ’n navraag nul rye terug, nooit alles nie.
Dit beteken ’n fout in ’n produk se navraag kan nie ’n ander huishouding se data lek nie. Die databasis weier om dit terug te gee.
Lid-private oppervlakke
Afdeling met die titel “Lid-private oppervlakke”Binne ’n huishouding kan daar verskeie lede wees. Sommige oppervlakke is lid-privaat, byvoorbeeld dinge wat
net jy behoort te sien, selfs binne jou eie huishouding. Hulle dra ’n tweede sleutel (app.principal_id)
sodat die databasis sigbaarheid per lid afdwing bo-op isolasie per huishouding.
Watter tabelle lid-privaat is, word per produk verklaar. ’n Outomatiese toets bewys dat twee lede van dieselfde huishouding nie mekaar se private rye kan sien nie.
Rugsteune
Afdeling met die titel “Rugsteune”Rugsteune word deur ’n toegewyde, vanlyn databasisrol geneem. ’n Rol wat lewendige verkeer bedien, neem hulle nooit.
Suites en planne
Afdeling met die titel “Suites en planne”’n Suite is ’n kommersiële groepering van produkoppervlak. ’n Suite is ’n vorm × vertikaal:
| Suite | Vorm | Planleer | Aantekeninge |
|---|---|---|---|
vonkara |
persoonlik | Gratis, Starter, Pro | Vonkara se suite per kamer. Sy Premium-sport is in Augustus 2026 afgeskaf |
heldaro |
persoonlik | Gratis, Starter, Pro, Premium | Heldaro se suite per kamer. Premium is nog nie oop nie |
kragara |
persoonlik | Gratis, Starter, Pro, Premium | Kragara se suite per kamer. Premium is nog nie oop nie |
Gratis is die afwesigheid van ’n betaalde intekening vir daardie kamer.
Toekenningsleutels
Afdeling met die titel “Toekenningsleutels”Regte word as waardelose sleutels gestoor:
- Vermoësleutels -
cap:<produk>:<funksie>, byvoorbeeldcap:vonkara:pack-flow,cap:kragara:pack-adaptiveofcap:ai:use(die sleutel wat KI-toegang beheer). Hulle beantwoord “mag ek?”. - Vlaksleutels -
tier:<suite>:<ordinaal>, byvoorbeeldtier:vonkara:2(Pro). Hulle dra die faktureringsordinaal vir ’n suite.
’n Pak is ’n bundel van ’n kamer se funksies, benoem deur ’n cap:<produk>:pack-*-sleutel. ’n Produk se
huis-modus-oplosser verander ’n paksleutel in die interne funksievlae wat dit ontsluit. Gratis-kernfunksies
is dié wat geen pak opeis nie.
Hoe toegang opgelos word
Afdeling met die titel “Hoe toegang opgelos word”Regte word ten tyde van die versoek uit die databasis opgelos, nooit uit ’n tokenbewering vertrou nie:
- Die poort stroop elke inkomende identiteitskopstuk af en roep dan die identiteitsdiens se
/_verifyaan. /_verifygaan die lewendige huishouding weer na en munt die identiteits- en omvangkopstukke (X-House-Scopes,X-House-Suites,X-House-Principalen ander) uit die huidige databasistoestand.- Die poort stuur daardie kopstukke na die produk aan.
As die oplossing misluk, faal die versoek geslote (401). ’n Afgradering of kansellasie stroop die gekoopte toekennings. ’n Grasie-houding behou hulle vir ’n bepaalde venster. Dít is waarom die herroeping van toegang onmiddellik in werking tree: geen langlewende reg is in ’n token gebak nie.
Hoe produkte jou toegang ontvang
Afdeling met die titel “Hoe produkte jou toegang ontvang”’n Produk lees nooit jou regte uit ’n token nie. Dit lees die poort-ingespuite kopstukke. Hulle kan vertrou word omdat die poort die enigste ding is wat hulle mag stel, en dit stroop enige af wat van buite aankom.
KI-oproepe
Afdeling met die titel “KI-oproepe”Produkte roep nooit direk ’n wolk-KI-verskaffer aan nie. Alle KI-oproepe gaan deur een House-keelpunt. Dit
hou die verskaffer se sleutel, dwing ’n datagrens af, meet gebruik per persoon en vereis die
cap:ai:use-vermoë. Dieselfde pad dryf Vra die dokumentasie.
Een roeteerder, een bundel
Afdeling met die titel “Een roeteerder, een bundel”Die dop besit ’n enkele roeteerder op die boonste vlak. Produkte monteer deur ’n omskrewe naat in plaas daarvan om hul eie roeteerder te nes, wat navigasie oor elke gemonteerde produk heen samehangend hou.
Die dop is een enkele bundel wat elke produk se voorkantbron insluit, saamgestel ten tyde van die bou. Die
geboude bates word in die poortbeeld gebak en as statiese lêers bedien: een vasgepende bou wat oor omgewings
heen bevorder word. Die dokumentasiewerf word op dieselfde manier gebak, onder /docs.
Waar om meer te lees
Afdeling met die titel “Waar om meer te lees”Die API-verwysing lys die identiteits- en faktureringseindpunte. Vir hulp om House te gebruik, lees Hulp kry.