The unpac monorepo manager self-hosting as a monorepo using unpac

remove toy exercice

-754
-754
ThreatDragonModels/New Threat Model/New Threat Model.json
··· 1 - { 2 - "version": "2.4.1", 3 - "summary": { 4 - "title": "New Threat Model", 5 - "owner": "js", 6 - "description": "", 7 - "id": 0 8 - }, 9 - "detail": { 10 - "contributors": [], 11 - "diagrams": [ 12 - { 13 - "id": 0, 14 - "title": "New STRIDE diagram", 15 - "diagramType": "STRIDE", 16 - "placeholder": "New STRIDE diagram description", 17 - "thumbnail": "./public/content/images/thumbnail.stride.jpg", 18 - "version": "2.4.1", 19 - "cells": [ 20 - { 21 - "position": { 22 - "x": 760, 23 - "y": 180 24 - }, 25 - "size": { 26 - "width": 60, 27 - "height": 60 28 - }, 29 - "attrs": { 30 - "text": { 31 - "text": "login web server" 32 - }, 33 - "body": { 34 - "stroke": "#333333", 35 - "strokeWidth": 1.5, 36 - "strokeDasharray": null 37 - } 38 - }, 39 - "visible": true, 40 - "shape": "process", 41 - "ports": { 42 - "groups": { 43 - "top": { 44 - "position": "top", 45 - "attrs": { 46 - "circle": { 47 - "r": 4, 48 - "magnet": true, 49 - "stroke": "#5F95FF", 50 - "strokeWidth": 1, 51 - "fill": "#fff", 52 - "style": { 53 - "visibility": "hidden" 54 - } 55 - } 56 - } 57 - }, 58 - "right": { 59 - "position": "right", 60 - "attrs": { 61 - "circle": { 62 - "r": 4, 63 - "magnet": true, 64 - "stroke": "#5F95FF", 65 - "strokeWidth": 1, 66 - "fill": "#fff", 67 - "style": { 68 - "visibility": "hidden" 69 - } 70 - } 71 - } 72 - }, 73 - "bottom": { 74 - "position": "bottom", 75 - "attrs": { 76 - "circle": { 77 - "r": 4, 78 - "magnet": true, 79 - "stroke": "#5F95FF", 80 - "strokeWidth": 1, 81 - "fill": "#fff", 82 - "style": { 83 - "visibility": "hidden" 84 - } 85 - } 86 - } 87 - }, 88 - "left": { 89 - "position": "left", 90 - "attrs": { 91 - "circle": { 92 - "r": 4, 93 - "magnet": true, 94 - "stroke": "#5F95FF", 95 - "strokeWidth": 1, 96 - "fill": "#fff", 97 - "style": { 98 - "visibility": "hidden" 99 - } 100 - } 101 - } 102 - } 103 - }, 104 - "items": [ 105 - { 106 - "group": "top", 107 - "id": "ec34580c-583a-47ef-8914-53bba9d46374" 108 - }, 109 - { 110 - "group": "right", 111 - "id": "4f4a4809-c442-4f7d-a50d-58183d7c09b5" 112 - }, 113 - { 114 - "group": "bottom", 115 - "id": "bdb2d110-1c43-4d83-88ca-780e47f4e2d3" 116 - }, 117 - { 118 - "group": "left", 119 - "id": "006b6b40-5610-474f-843f-956202690731" 120 - } 121 - ] 122 - }, 123 - "id": "6df72895-f2b1-4406-a0ac-8819590db1d4", 124 - "zIndex": 1, 125 - "data": { 126 - "type": "tm.Process", 127 - "name": "login web server", 128 - "description": "", 129 - "outOfScope": false, 130 - "reasonOutOfScope": "", 131 - "hasOpenThreats": false, 132 - "handlesCardPayment": false, 133 - "handlesGoodsOrServices": false, 134 - "isWebApplication": false, 135 - "privilegeLevel": "", 136 - "threats": [] 137 - } 138 - }, 139 - { 140 - "position": { 141 - "x": 450, 142 - "y": 329.99999999999994 143 - }, 144 - "size": { 145 - "width": 200, 146 - "height": 60 147 - }, 148 - "attrs": { 149 - "text": { 150 - "text": "énd factor 2Auth/SMS" 151 - }, 152 - "body": { 153 - "stroke": "#333333", 154 - "strokeWidth": 1.5, 155 - "strokeDasharray": null 156 - } 157 - }, 158 - "visible": true, 159 - "shape": "process", 160 - "zIndex": 3, 161 - "ports": { 162 - "groups": { 163 - "top": { 164 - "position": "top", 165 - "attrs": { 166 - "circle": { 167 - "r": 4, 168 - "magnet": true, 169 - "stroke": "#5F95FF", 170 - "strokeWidth": 1, 171 - "fill": "#fff", 172 - "style": { 173 - "visibility": "hidden" 174 - } 175 - } 176 - } 177 - }, 178 - "right": { 179 - "position": "right", 180 - "attrs": { 181 - "circle": { 182 - "r": 4, 183 - "magnet": true, 184 - "stroke": "#5F95FF", 185 - "strokeWidth": 1, 186 - "fill": "#fff", 187 - "style": { 188 - "visibility": "hidden" 189 - } 190 - } 191 - } 192 - }, 193 - "bottom": { 194 - "position": "bottom", 195 - "attrs": { 196 - "circle": { 197 - "r": 4, 198 - "magnet": true, 199 - "stroke": "#5F95FF", 200 - "strokeWidth": 1, 201 - "fill": "#fff", 202 - "style": { 203 - "visibility": "hidden" 204 - } 205 - } 206 - } 207 - }, 208 - "left": { 209 - "position": "left", 210 - "attrs": { 211 - "circle": { 212 - "r": 4, 213 - "magnet": true, 214 - "stroke": "#5F95FF", 215 - "strokeWidth": 1, 216 - "fill": "#fff", 217 - "style": { 218 - "visibility": "hidden" 219 - } 220 - } 221 - } 222 - } 223 - }, 224 - "items": [ 225 - { 226 - "group": "top", 227 - "id": "ec34580c-583a-47ef-8914-53bba9d46374" 228 - }, 229 - { 230 - "group": "right", 231 - "id": "4f4a4809-c442-4f7d-a50d-58183d7c09b5" 232 - }, 233 - { 234 - "group": "bottom", 235 - "id": "bdb2d110-1c43-4d83-88ca-780e47f4e2d3" 236 - }, 237 - { 238 - "group": "left", 239 - "id": "006b6b40-5610-474f-843f-956202690731" 240 - } 241 - ] 242 - }, 243 - "id": "1403aa16-1533-412a-beed-ee9b7601d04f", 244 - "data": { 245 - "type": "tm.Process", 246 - "name": "énd factor 2Auth/SMS", 247 - "description": "", 248 - "outOfScope": false, 249 - "reasonOutOfScope": "", 250 - "hasOpenThreats": false, 251 - "handlesCardPayment": false, 252 - "handlesGoodsOrServices": false, 253 - "isWebApplication": false, 254 - "privilegeLevel": "", 255 - "threats": [] 256 - } 257 - }, 258 - { 259 - "position": { 260 - "x": 1070, 261 - "y": 150 262 - }, 263 - "size": { 264 - "width": 120, 265 - "height": 60 266 - }, 267 - "attrs": { 268 - "text": { 269 - "text": "User credentals" 270 - }, 271 - "topLine": { 272 - "strokeWidth": 1.5, 273 - "strokeDasharray": null 274 - }, 275 - "bottomLine": { 276 - "strokeWidth": 1.5, 277 - "strokeDasharray": null 278 - } 279 - }, 280 - "visible": true, 281 - "shape": "store", 282 - "ports": { 283 - "groups": { 284 - "top": { 285 - "position": "top", 286 - "attrs": { 287 - "circle": { 288 - "r": 4, 289 - "magnet": true, 290 - "stroke": "#5F95FF", 291 - "strokeWidth": 1, 292 - "fill": "#fff", 293 - "style": { 294 - "visibility": "hidden" 295 - } 296 - } 297 - } 298 - }, 299 - "right": { 300 - "position": "right", 301 - "attrs": { 302 - "circle": { 303 - "r": 4, 304 - "magnet": true, 305 - "stroke": "#5F95FF", 306 - "strokeWidth": 1, 307 - "fill": "#fff", 308 - "style": { 309 - "visibility": "hidden" 310 - } 311 - } 312 - } 313 - }, 314 - "bottom": { 315 - "position": "bottom", 316 - "attrs": { 317 - "circle": { 318 - "r": 4, 319 - "magnet": true, 320 - "stroke": "#5F95FF", 321 - "strokeWidth": 1, 322 - "fill": "#fff", 323 - "style": { 324 - "visibility": "hidden" 325 - } 326 - } 327 - } 328 - }, 329 - "left": { 330 - "position": "left", 331 - "attrs": { 332 - "circle": { 333 - "r": 4, 334 - "magnet": true, 335 - "stroke": "#5F95FF", 336 - "strokeWidth": 1, 337 - "fill": "#fff", 338 - "style": { 339 - "visibility": "hidden" 340 - } 341 - } 342 - } 343 - } 344 - }, 345 - "items": [ 346 - { 347 - "group": "top", 348 - "id": "45583c67-2237-416b-b148-cad906383d61" 349 - }, 350 - { 351 - "group": "right", 352 - "id": "a62e8645-15e9-4bd4-8b83-d726441535e9" 353 - }, 354 - { 355 - "group": "bottom", 356 - "id": "a9e5d355-fcb9-435b-bef5-064efd93ae51" 357 - }, 358 - { 359 - "group": "left", 360 - "id": "9ba05566-724c-47e8-b978-362f25d8847f" 361 - } 362 - ] 363 - }, 364 - "id": "28f8fdcd-844c-46f7-806e-0fa222be7261", 365 - "zIndex": 4, 366 - "data": { 367 - "type": "tm.Store", 368 - "name": "User credentals", 369 - "description": "", 370 - "outOfScope": false, 371 - "reasonOutOfScope": "", 372 - "hasOpenThreats": false, 373 - "isALog": false, 374 - "isEncrypted": false, 375 - "isSigned": false, 376 - "storesCredentials": false, 377 - "storesInventory": false, 378 - "threats": [] 379 - } 380 - }, 381 - { 382 - "shape": "flow", 383 - "attrs": { 384 - "line": { 385 - "stroke": "#333333", 386 - "targetMarker": { 387 - "name": "block" 388 - }, 389 - "sourceMarker": { 390 - "name": "" 391 - }, 392 - "strokeDasharray": null 393 - } 394 - }, 395 - "width": 200, 396 - "height": 100, 397 - "zIndex": 10, 398 - "connector": "smooth", 399 - "data": { 400 - "type": "tm.Flow", 401 - "name": "Data Flow", 402 - "description": "", 403 - "outOfScope": false, 404 - "reasonOutOfScope": "", 405 - "hasOpenThreats": false, 406 - "isBidirectional": false, 407 - "isEncrypted": false, 408 - "isPublicNetwork": false, 409 - "protocol": "", 410 - "threats": [] 411 - }, 412 - "labels": [ 413 - "Data Flow" 414 - ], 415 - "id": "b1823423-5da2-49a8-a2f5-de35693f210f", 416 - "source": { 417 - "x": 393, 418 - "y": 90 419 - }, 420 - "target": { 421 - "cell": "6df72895-f2b1-4406-a0ac-8819590db1d4", 422 - "port": "006b6b40-5610-474f-843f-956202690731" 423 - }, 424 - "vertices": [ 425 - { 426 - "x": 590, 427 - "y": 160 428 - } 429 - ] 430 - }, 431 - { 432 - "shape": "flow", 433 - "attrs": { 434 - "line": { 435 - "stroke": "#333333", 436 - "targetMarker": { 437 - "name": "block" 438 - }, 439 - "sourceMarker": { 440 - "name": "" 441 - }, 442 - "strokeDasharray": null 443 - } 444 - }, 445 - "width": 200, 446 - "height": 100, 447 - "zIndex": 10, 448 - "connector": "smooth", 449 - "data": { 450 - "type": "tm.Flow", 451 - "name": "check for login credentials", 452 - "description": "", 453 - "outOfScope": false, 454 - "reasonOutOfScope": "", 455 - "hasOpenThreats": false, 456 - "isBidirectional": false, 457 - "isEncrypted": false, 458 - "isPublicNetwork": false, 459 - "protocol": "", 460 - "threats": [] 461 - }, 462 - "labels": [ 463 - "check for login credentials" 464 - ], 465 - "id": "a8ce9dad-13f6-4392-b047-10302c8f201f", 466 - "source": { 467 - "cell": "6df72895-f2b1-4406-a0ac-8819590db1d4", 468 - "port": "4f4a4809-c442-4f7d-a50d-58183d7c09b5" 469 - }, 470 - "target": { 471 - "cell": "28f8fdcd-844c-46f7-806e-0fa222be7261", 472 - "port": "9ba05566-724c-47e8-b978-362f25d8847f" 473 - }, 474 - "vertices": [] 475 - }, 476 - { 477 - "shape": "flow", 478 - "attrs": { 479 - "line": { 480 - "stroke": "#333333", 481 - "targetMarker": { 482 - "name": "block" 483 - }, 484 - "sourceMarker": { 485 - "name": "" 486 - }, 487 - "strokeDasharray": null 488 - } 489 - }, 490 - "width": 200, 491 - "height": 100, 492 - "zIndex": 10, 493 - "connector": "smooth", 494 - "data": { 495 - "type": "tm.Flow", 496 - "name": "send request to client phone", 497 - "description": "", 498 - "outOfScope": false, 499 - "reasonOutOfScope": "", 500 - "hasOpenThreats": false, 501 - "isBidirectional": false, 502 - "isEncrypted": false, 503 - "isPublicNetwork": false, 504 - "protocol": "", 505 - "threats": [] 506 - }, 507 - "labels": [ 508 - "send request to client phone" 509 - ], 510 - "id": "eb8dfe52-bc19-4b2d-9f39-970af3cf35a9", 511 - "source": { 512 - "cell": "6df72895-f2b1-4406-a0ac-8819590db1d4", 513 - "port": "bdb2d110-1c43-4d83-88ca-780e47f4e2d3" 514 - }, 515 - "target": { 516 - "cell": "1403aa16-1533-412a-beed-ee9b7601d04f", 517 - "port": "ec34580c-583a-47ef-8914-53bba9d46374" 518 - }, 519 - "vertices": [ 520 - { 521 - "x": 670, 522 - "y": 280 523 - } 524 - ] 525 - }, 526 - { 527 - "shape": "flow", 528 - "attrs": { 529 - "line": { 530 - "stroke": "#333333", 531 - "targetMarker": { 532 - "name": "block" 533 - }, 534 - "sourceMarker": { 535 - "name": "" 536 - }, 537 - "strokeDasharray": null 538 - } 539 - }, 540 - "width": 200, 541 - "height": 100, 542 - "zIndex": 10, 543 - "connector": "smooth", 544 - "data": { 545 - "type": "tm.Flow", 546 - "name": "send sms", 547 - "description": "", 548 - "outOfScope": false, 549 - "reasonOutOfScope": "", 550 - "hasOpenThreats": false, 551 - "isBidirectional": false, 552 - "isEncrypted": false, 553 - "isPublicNetwork": false, 554 - "protocol": "", 555 - "threats": [] 556 - }, 557 - "labels": [ 558 - "send sms" 559 - ], 560 - "id": "f1126249-fc08-43e4-abef-48471f6d329c", 561 - "source": { 562 - "cell": "1403aa16-1533-412a-beed-ee9b7601d04f", 563 - "port": "006b6b40-5610-474f-843f-956202690731" 564 - }, 565 - "target": { 566 - "cell": "8310aa7b-5a18-4129-b0fe-158dad4e76cd", 567 - "port": "1236dfbc-aa13-43e1-a591-edd6f1b95c4e" 568 - }, 569 - "vertices": [ 570 - { 571 - "x": 380, 572 - "y": 240 573 - } 574 - ] 575 - }, 576 - { 577 - "shape": "trust-boundary-curve", 578 - "width": 200, 579 - "height": 100, 580 - "zIndex": 10, 581 - "connector": "smooth", 582 - "data": { 583 - "type": "tm.Boundary", 584 - "name": "Trust Boundary", 585 - "description": "", 586 - "isTrustBoundary": true, 587 - "hasOpenThreats": false 588 - }, 589 - "labels": [ 590 - "Trust Boundary" 591 - ], 592 - "id": "1c97d721-cd78-4f20-b53e-967c53d92231", 593 - "source": { 594 - "x": 780, 595 - "y": 70 596 - }, 597 - "target": { 598 - "x": 590, 599 - "y": 230 600 - } 601 - }, 602 - { 603 - "position": { 604 - "x": 280, 605 - "y": 60 606 - }, 607 - "size": { 608 - "width": 112.5, 609 - "height": 60 610 - }, 611 - "attrs": { 612 - "body": { 613 - "stroke": "#333333", 614 - "strokeWidth": 1.5, 615 - "strokeDasharray": null 616 - } 617 - }, 618 - "visible": true, 619 - "shape": "actor", 620 - "ports": { 621 - "groups": { 622 - "top": { 623 - "position": "top", 624 - "attrs": { 625 - "circle": { 626 - "r": 4, 627 - "magnet": true, 628 - "stroke": "#5F95FF", 629 - "strokeWidth": 1, 630 - "fill": "#fff", 631 - "style": { 632 - "visibility": "hidden" 633 - } 634 - } 635 - } 636 - }, 637 - "right": { 638 - "position": "right", 639 - "attrs": { 640 - "circle": { 641 - "r": 4, 642 - "magnet": true, 643 - "stroke": "#5F95FF", 644 - "strokeWidth": 1, 645 - "fill": "#fff", 646 - "style": { 647 - "visibility": "hidden" 648 - } 649 - } 650 - } 651 - }, 652 - "bottom": { 653 - "position": "bottom", 654 - "attrs": { 655 - "circle": { 656 - "r": 4, 657 - "magnet": true, 658 - "stroke": "#5F95FF", 659 - "strokeWidth": 1, 660 - "fill": "#fff", 661 - "style": { 662 - "visibility": "hidden" 663 - } 664 - } 665 - } 666 - }, 667 - "left": { 668 - "position": "left", 669 - "attrs": { 670 - "circle": { 671 - "r": 4, 672 - "magnet": true, 673 - "stroke": "#5F95FF", 674 - "strokeWidth": 1, 675 - "fill": "#fff", 676 - "style": { 677 - "visibility": "hidden" 678 - } 679 - } 680 - } 681 - } 682 - }, 683 - "items": [ 684 - { 685 - "group": "top", 686 - "id": "3508e0b5-dd10-43c8-b036-3cd0c2ba019d" 687 - }, 688 - { 689 - "group": "right", 690 - "id": "7cc3ca3c-c371-47a6-b692-2b98bbfe3dc3" 691 - }, 692 - { 693 - "group": "bottom", 694 - "id": "1236dfbc-aa13-43e1-a591-edd6f1b95c4e" 695 - }, 696 - { 697 - "group": "left", 698 - "id": "d47acb89-4649-4db1-834d-7eeab0f1f01f" 699 - } 700 - ] 701 - }, 702 - "id": "8310aa7b-5a18-4129-b0fe-158dad4e76cd", 703 - "zIndex": 11, 704 - "data": { 705 - "type": "tm.Actor", 706 - "name": "Actor", 707 - "description": "", 708 - "outOfScope": false, 709 - "reasonOutOfScope": "", 710 - "hasOpenThreats": false, 711 - "providesAuthentication": false, 712 - "threats": [] 713 - } 714 - }, 715 - { 716 - "shape": "trust-boundary-curve", 717 - "width": 200, 718 - "height": 100, 719 - "zIndex": 12, 720 - "connector": "smooth", 721 - "data": { 722 - "type": "tm.Boundary", 723 - "name": "Trust Boundary", 724 - "description": "", 725 - "isTrustBoundary": true, 726 - "hasOpenThreats": false 727 - }, 728 - "labels": [ 729 - "Trust Boundary" 730 - ], 731 - "id": "75b908c4-fa61-4c43-b825-b5c61ee1e5d9", 732 - "source": { 733 - "x": 595, 734 - "y": 240 735 - }, 736 - "target": { 737 - "x": 810, 738 - "y": 370 739 - }, 740 - "vertices": [ 741 - { 742 - "x": 630, 743 - "y": 310 744 - } 745 - ] 746 - } 747 - ] 748 - } 749 - ], 750 - "diagramTop": 1, 751 - "reviewer": "", 752 - "threatTop": 0 753 - } 754 - }