શબ્દોનો અર્થ શું છે
request pathમાં આવેલા દરેક checkમાંથી જવાબ ન પણ મળી શકે: કોઈ dependency time out થાય, કોઈ signal ગાયબ હોય, કોઈ key fetch ન થઈ શકે. Fail open એટલે request એવી રીતે આગળ વધે જાણે check હાજર જ ન હોય. Fail closed એટલે request વધુ કડક માર્ગ લે: તેને નકારી દેવામાં આવે, challenge કરવામાં આવે અથવા કોઈ અસ્તિત્વમાં રહેલા વધુ મજબૂત control પાસે મોકલવામાં આવે.
સામાન્ય રીતે કોઈપણ સર્વથા સાચું નથી. યોગ્ય પસંદગી route શું કરે છે અને ખોટા નિર્ણયની કિંમત કેટલી છે તેના પર આધાર રાખે છે.
actor checks માટે આ કેમ મહત્વનું છે
actor checks requestમાં context ઉમેરે છે: interaction human જેવું લાગે છે કે AI-assisted, agent-driven કે unknown. જ્યારે આ context ઉપલબ્ધ ન હોય, ત્યારે applicationએ હજી પણ response આપવો જ પડે. બે failure pattern સામાન્ય છે:
- અચાનક fail closed. timeout અથવા ગાયબ signalને suspicious ગણવામાં આવે છે, અને outage દરમિયાન વાસ્તવિક users block થઈ જાય છે.
- સંવેદનશીલ actions પર અચાનક fail open. missing resultને ચૂપચાપ human માની લેવાય છે, અને ઊંચી અસર ધરાવતું action અપેક્ષા કરતાં ઓછી તપાસ સાથે આગળ વધી જાય છે.
બંને pattern પસંદગીને અસ્પષ્ટ રાખવાથી ઉત્પન્ન થાય છે. ઉકેલ એ છે કે તેને route મુજબ સ્પષ્ટ રીતે નક્કી કરવું. human અને AI agents માટે app-level policies design કરવાનું અમારું post બતાવે છે કે failure behavior per-route policyમાં કેવી રીતે ફિટ થાય છે.
કેવી રીતે પસંદ કરવું
એક વ્યવહારુ approach એ છે કે routesને risk tierમાં વહેંચી દેવા:
- ઓછો impact (public pages, documentation, read-only catalog routes): fail open. missing actor resultએ કંઈ બદલવું ન જોઈએ.
- મધ્યમ impact (signups, form submissions, cost ધરાવતા searches): સામાન્ય રીતે logging સાથે fail open, અથવા standard rate limit જેવી હળવી adaptation લાગુ કરો.
- ઉંચો impact (account changes, data exports, પાછું ન ફેરવી શકાય એવા actions): re-authentication અથવા confirmation જેવી તમારી અસ્તિત્વમાં રહેલી વધુ મજબૂત control તરફ fail closed કરો. મુદ્દો block કરવાનો નથી, પરંતુ એવી check પર પાછા ફરવાનો છે જે તમે anyhow વાપરશો.
પછી સંબંધિત કેસ માટે એ જ behavior નિર્ધારિત કરો:
- Timeout: check સમયસર જવાબ આપી શક્યો નથી.
- Missing telemetry: integration ચાલ્યું નથી અથવા signal હાજર નહોતું.
- Unknown: check ચાલ્યું, પણ evidenceએ determinationને support કર્યું નથી.
- Stale evidence: result અગાઉનું છે અને વધુ સંવેદનશીલ action માટે ફરી ઉપયોગ ન કરવો જોઈએ.
સામાન્ય ગેરસમજો
- "Fail closed વધુ સુરક્ષિત છે." તે ખર્ચને legitimate users તરફ ધકેલી દે છે. ઓછા impactવાળા routes માટે incident દરમિયાન fail closed થવું તે જે risk અટકાવે છે તેના કરતાં વધુ નુકસાન કરી શકે છે.
- "Unknown એ failure છે." Unknown એક માન્ય result છે. તેને પોતાના સ્પષ્ટ handlingની જરૂર છે, જે તમારી timeout handling સાથે મેળ ખાય અથવા ન પણ ખાય.
- "Missing result એટલે human." evidenceની ગેરહાજરીમાંથી actor class ક્યારેય infer ન કરો.
Proof of Actor તેને કેવી રીતે સંભાળે છે
Proof of Actor timeout અથવા Unknown result માટે ક્યારેય Human ફાળવતું નથી, અને તેને install કરવાથી કંઈ block થતું નથી: teams observation modeથી શરૂ કરે છે. દરેક route અને risk tier માટે fail-open અથવા fail-closed behavior application ownerની પસંદગી છે, જે Route મારફતે તમારા own codeમાં લાગુ થાય છે. એ enforcementને predictable રાખે છે અને policy live થાય તે પહેલાં તમને outcomes તપાસવાની મંજૂરી આપે છે.
routing decisions ક્યાં fit થાય છે તે વાંચો, અથવા early access માટે અરજી કરો.