{"id":30895,"date":"2026-10-15T15:56:49","date_gmt":"2026-10-15T15:56:49","guid":{"rendered":"https:\/\/umang.pk\/2026\/10\/15\/%da%88%db%8c%d8%b2%d8%a7%d8%a6%d9%86-%da%a9%db%92-%d9%84%d8%ad%d8%a7%d8%b8-%d8%b3%db%92-%d9%85%d8%ad%d9%81%d9%88%d8%b8-%da%a9%d9%88%da%88-%d9%84%da%a9%da%be%d9%86%db%92-%d8%b3%db%92-%d9%be%db%81\/"},"modified":"2026-10-15T15:56:49","modified_gmt":"2026-10-15T15:56:49","slug":"%da%88%db%8c%d8%b2%d8%a7%d8%a6%d9%86-%da%a9%db%92-%d9%84%d8%ad%d8%a7%d8%b8-%d8%b3%db%92-%d9%85%d8%ad%d9%81%d9%88%d8%b8-%da%a9%d9%88%da%88-%d9%84%da%a9%da%be%d9%86%db%92-%d8%b3%db%92-%d9%be%db%81","status":"publish","type":"post","link":"https:\/\/umang.pk\/ur\/2026\/10\/15\/%da%88%db%8c%d8%b2%d8%a7%d8%a6%d9%86-%da%a9%db%92-%d9%84%d8%ad%d8%a7%d8%b8-%d8%b3%db%92-%d9%85%d8%ad%d9%81%d9%88%d8%b8-%da%a9%d9%88%da%88-%d9%84%da%a9%da%be%d9%86%db%92-%d8%b3%db%92-%d9%be%db%81\/","title":{"rendered":"\u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06d2 \u0644\u062d\u0627\u0638 \u0633\u06d2 \u0645\u062d\u0641\u0648\u0638: \u06a9\u0648\u0688 \u0644\u06a9\u06be\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u067e\u0646\u06d2 \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631 \u0645\u06cc\u06ba \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631 \u06a9\u0631\u06cc\u06ba\u06d4"},"content":{"rendered":"\n<div id=\"\">\n<p>\u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u0679\u06cc\u0645\u0648\u06ba \u0645\u06cc\u06ba\u060c \u0628\u0627\u062a \u0686\u06cc\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0627\u06a9\u062b\u0631 \u0628\u06c1\u062a \u062f\u06cc\u0631 \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u06a9\u0648 \u0630\u06c1\u0646 \u0645\u06cc\u06ba \u0631\u06a9\u06be\u062a\u06d2 \u06c1\u0648\u0626\u06d2\u060c \u0641\u06cc\u0686\u0631 \u0627\u0628 \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u0645\u06cc\u06ba \u06c1\u06d2\u06d4 \u0628\u0639\u062f \u0645\u06cc\u06ba\u060c \u0627\u06cc\u06a9 \u062d\u0641\u0627\u0638\u062a\u06cc \u062c\u0627\u0626\u0632\u06c1 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u0627\u06cc\u06a9 \u062f\u062e\u0648\u0644 \u0679\u06cc\u0633\u0679 \u0633\u06d2 \u06a9\u0686\u06be \u067e\u062a\u06c1 \u0686\u0644\u062a\u0627 \u06c1\u06d2\u060c \u06cc\u0627 \u0627\u0633 \u0633\u06d2 \u0628\u06be\u06cc \u0628\u062f\u062a\u0631\u060c \u0627\u06cc\u06a9 \u0648\u0627\u0642\u0639\u06c1 \u06a9\u06cc \u0631\u067e\u0648\u0631\u0679 \u0622\u067e \u06a9\u06d2 \u0627\u0646 \u0628\u0627\u06a9\u0633 \u0645\u06cc\u06ba \u0622\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u0645\u0632\u0648\u0631\u06cc\u0627\u06ba \u062d\u0642\u06cc\u0642\u06cc \u06c1\u06cc\u06ba\u06d4 \u0627\u0633\u06d2 \u0679\u06be\u06cc\u06a9 \u06a9\u0631\u0646\u0627 \u0645\u06c1\u0646\u06af\u0627 \u06c1\u06d2\u06d4 \u0627\u0648\u0631 \u06af\u0641\u062a\u06af\u0648 \u0645\u06cc\u06ba\u060c \u06a9\u0648\u0626\u06cc \u06a9\u06c1\u062a\u0627 \u06c1\u06d2\u060c &quot;\u06c1\u0645\u06cc\u06ba \u0627\u0633 \u0645\u06cc\u06ba \u0633\u06cc\u06a9\u0648\u0631\u0679\u06cc \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4&#8221;<\/p>\n<p>\u06cc\u06c1\u06cc \u0645\u0633\u0626\u0644\u06c1 \u06c1\u06d2\u06d4 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u0627\u06cc\u0633\u06cc \u0686\u06cc\u0632 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u062c\u0633\u06d2 \u0622\u067e \u0633\u0627\u0641\u0679 \u0648\u06cc\u0626\u0631 \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0627\u06cc\u0633\u06cc \u0686\u06cc\u0632 \u06c1\u06d2 \u062c\u0633\u06d2 \u0622\u067e \u0634\u0631\u0648\u0639 \u0633\u06d2 \u0627\u0633 \u0645\u06cc\u06ba \u0628\u0646\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u062c\u0633 \u0644\u0645\u062d\u06d2 \u0622\u067e \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0645\u0648\u062c\u0648\u062f \u06a9\u0633\u06cc \u0686\u06cc\u0632 \u0645\u06cc\u06ba \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0628\u0627\u062a \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0622\u067e \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u06c1\u06cc \u0646\u0642\u0635\u0627\u0646 \u067e\u0631 \u0642\u0627\u0628\u0648 \u067e\u0627\u0646\u06d2 \u06a9\u06d2 \u0645\u0648\u0688 \u0645\u06cc\u06ba \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>Secure by Design \u0633\u0648\u0686 \u06a9\u0627 \u0627\u06cc\u06a9 \u0628\u0627\u0644\u06a9\u0644 \u0645\u062e\u062a\u0644\u0641 \u0637\u0631\u06cc\u0642\u06c1 \u06c1\u06d2 \u062c\u0648 \u062a\u0639\u0645\u06cc\u0631\u0627\u062a\u06cc \u0641\u06cc\u0635\u0644\u06d2 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u062d\u0641\u0627\u0638\u062a\u06cc \u062a\u0642\u0627\u0636\u0648\u06ba \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u06a9\u0644\u0627\u0633 \u0644\u06a9\u06be\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u067e\u0646\u06d2 \u062e\u0637\u0631\u06d2 \u06a9\u06d2 \u0645\u0627\u0688\u0644 \u06a9\u0648 \u0633\u0645\u062c\u06be\u06cc\u06ba\u06d4 \u0688\u0648\u0645\u06cc\u0646 \u067e\u0631\u062a \u067e\u0631 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0642\u0648\u0627\u0639\u062f \u06a9\u06cc \u0634\u0646\u0627\u062e\u062a \u0627\u0648\u0631 \u0627\u0646 \u06a9\u0648 \u0646\u0627\u0641\u0630 \u06a9\u0631\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0633\u0628 \u0627\u0633 \u0641\u0639\u0627\u0644\u06cc\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0622\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u06a9\u0648 \u067e\u06cc\u0634 \u06a9\u0631\u0646\u0627 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u060c \u0628\u062c\u0627\u0626\u06d2 \u0627\u0633 \u06a9\u06d2 \u06a9\u06c1 \u0635\u0631\u0641 \u0627\u06cc\u06a9 \u067e\u0631\u062a \u062c\u0648 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0628\u0646\u06cc \u06c1\u0648\u0626\u06cc \u0686\u06cc\u0632\u0648\u06ba \u06a9\u06cc \u062a\u06a9\u0645\u06cc\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u0648\u06d4<\/p>\n<p>CI\/CD \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646\u06cc\u06ba \u0627\u0633 \u0686\u06cc\u0632 \u06a9\u0648 \u067e\u06a9\u0691\u062a\u06cc \u06c1\u06cc\u06ba \u062c\u0648 \u0627\u0646\u0633\u0627\u0646\u06cc \u062c\u0627\u0626\u0632\u06d2 \u0633\u06d2 \u0645\u062d\u0631\u0648\u0645 \u0631\u06c1\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u0633\u0633\u0679\u0645 \u06a9\u06cc \u06c1\u0631 \u067e\u0631\u062a \u06a9\u0648 \u062d\u0645\u0644\u06c1 \u0622\u0648\u0631 \u06a9\u06d2 \u0646\u0642\u0637\u06c1 \u0646\u0638\u0631 \u06a9\u0648 \u0630\u06c1\u0646 \u0645\u06cc\u06ba \u0631\u06a9\u06be \u06a9\u0631 \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u060c \u0633\u0648\u0686\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f \u0646\u06c1\u06cc\u06ba \u0628\u0644\u06a9\u06c1 \u0627\u06cc\u06a9 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0636\u0631\u0648\u0631\u062a \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631\u06d4<\/p>\n<p>\u06cc\u06c1 \u0633\u06cc\u06a9\u0648\u0631\u0679\u06cc \u0679\u06cc\u0645 \u06a9\u06cc \u0630\u0645\u06c1 \u062f\u0627\u0631\u06cc \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u0679\u06cc\u0645 \u06a9\u06cc \u0630\u0645\u06c1 \u062f\u0627\u0631\u06cc \u06c1\u06d2\u06d4 \u0627\u0648\u0631 \u06cc\u06c1 \u067e\u06c1\u0644\u06cc \u067e\u0644 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0634\u0631\u0648\u0639 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u06c1\u06cc\u0646\u0688 \u0628\u06a9 \u0622\u067e \u06a9\u0648 \u06c1\u0631 \u0627\u0633 \u0686\u06cc\u0632 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0631\u06c1\u0646\u0645\u0627\u0626\u06cc \u06a9\u0631\u06d2 \u06af\u06cc \u062c\u0633 \u06a9\u06cc \u0622\u067e \u06a9\u0648 \u06cc\u06c1 \u0633\u0645\u062c\u06be\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 \u06a9\u06c1 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u0679\u06cc\u0645\u06cc\u06ba \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u0631\u062a\u06d2 \u0648\u0642\u062a \u06a9\u0633 \u0637\u0631\u062d \u062d\u0641\u0627\u0638\u062a\u06cc \u0630\u06c1\u0646 \u0631\u06a9\u06be\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0627\u0635\u0648\u0644\u0648\u06ba \u06a9\u0648 \u0641\u0631\u0648\u063a \u062f\u06d2 \u0633\u06a9\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-table-of-contents\">\u0627\u0646\u0688\u06cc\u06a9\u0633<\/h2>\n<h2 id=\"heading-prerequisites\">\u0634\u0631\u0637\u06cc\u06ba<\/h2>\n<p>\u0627\u0633 \u0645\u0636\u0645\u0648\u0646 \u06a9\u0648 \u067e\u0691\u06be\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u0622\u067e \u06a9\u0648 \u062f\u0631\u062c \u0630\u06cc\u0644 \u0633\u06d2 \u0648\u0627\u0642\u0641 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2:<\/p>\n<ul>\n<li>\n<p>\u06a9\u0633\u06cc \u0628\u06be\u06cc \u0632\u0628\u0627\u0646 \u06cc\u0627 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u0645\u06cc\u06ba APIs \u0627\u0648\u0631 \u0628\u06cc\u06a9 \u0627\u06cc\u0646\u0688 \u0633\u0633\u0679\u0645 \u0628\u0646\u0627\u0626\u06cc\u06ba<\/p>\n<\/li>\n<li>\n<p>\u0639\u0627\u0645 \u0633\u0627\u0641\u0679 \u0648\u06cc\u0626\u0631 \u0622\u0631\u06a9\u06cc\u0679\u06cc\u06a9\u0686\u0631 \u06a9\u06d2 \u062a\u0635\u0648\u0631\u0627\u062a: \u067e\u0631\u062a\u06cc\u06ba\u060c \u062e\u062f\u0645\u0627\u062a\u060c \u06af\u06cc\u0679 \u0648\u06cc\u0632<\/p>\n<\/li>\n<li>\n<p>CI\/CD \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u06a9\u06cc\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u06cc\u06c1 \u0627\u0639\u0644\u06cc\u0670 \u0633\u0637\u062d \u067e\u0631 \u06a9\u06cc\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0627\u0646\u06a9\u0631\u067e\u0634\u0646 \u0627\u0648\u0631 \u06c1\u06cc\u0634\u0646\u06af \u06a9\u0627 \u06a9\u06cc\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u0627\u0633 \u06a9\u06cc \u0628\u0646\u06cc\u0627\u062f\u06cc \u0633\u0645\u062c\u06be<\/p>\n<\/li>\n<\/ul>\n<p>\u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u06a9\u06d2 \u067e\u0633 \u0645\u0646\u0638\u0631 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0645\u0636\u0645\u0648\u0646 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u0627\u0648\u0631 \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631 \u06a9\u06d2 \u0646\u0642\u0637\u06c1 \u0646\u0638\u0631 \u0633\u06d2 \u062a\u0645\u0627\u0645 \u062a\u0635\u0648\u0631\u0627\u062a \u062a\u06a9 \u067e\u06c1\u0646\u0686\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-what-secure-by-design-actually-means\">Secure by Design \u06a9\u0627 \u0627\u0635\u0644 \u0645\u0637\u0644\u0628 \u06a9\u06cc\u0627 \u06c1\u06d2\u06d4<\/h2>\n<p>\u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06d2 \u0644\u062d\u0627\u0638 \u0633\u06d2 \u0645\u062d\u0641\u0648\u0638 \u0627\u06cc\u06a9 \u0686\u06cc\u06a9 \u0644\u0633\u0679 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0679\u0648\u0644\u0632 \u06a9\u0627 \u0633\u06cc\u0679 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0633\u0627\u0641\u0679 \u0648\u06cc\u0626\u0631 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0633\u0648\u0686\u0646\u06d2 \u06a9\u0627 \u0627\u06cc\u06a9 \u0637\u0631\u06cc\u0642\u06c1 \u06c1\u06d2 \u062c\u0648 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u06a9\u06cc \u0636\u0631\u0648\u0631\u06cc\u0627\u062a \u06a9\u0648 \u0627\u0633\u06cc \u0637\u0631\u062d \u067e\u0648\u0631\u0627 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0633 \u0637\u0631\u062d \u06cc\u06c1 \u0641\u0646\u06a9\u0634\u0646\u0644 \u0636\u0631\u0648\u0631\u06cc\u0627\u062a \u06a9\u0648 \u067e\u0648\u0631\u0627 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0622\u067e\u0631\u06cc\u0634\u0646 \u06a9\u0627 \u06cc\u06c1 \u0637\u0631\u06cc\u0642\u06c1 \u062d\u0641\u0627\u0638\u062a\u06cc \u062a\u0642\u0627\u0636\u0648\u06ba \u06a9\u0648 \u0622\u0626\u0679\u0645\u0632 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0645\u0627\u0646\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0633\u0633\u0679\u0645 \u06a9\u0648 \u0645\u06a9\u0645\u0644 \u062a\u0635\u0648\u0631 \u06a9\u06cc\u06d2 \u062c\u0627\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u067e\u0648\u0631\u0627 \u06a9\u0631\u0646\u0627 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0679\u06cc\u0645\u06cc\u06ba \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u06a9\u0648 \u063a\u06cc\u0631 \u0641\u0639\u0627\u0644 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u0633\u0646\u0628\u06be\u0627\u0644\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u06a9\u0686\u06be \u0679\u0648\u0679 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u06a9\u0686\u06be \u062c\u06be\u0646\u0688\u0627 \u0644\u06af \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u06a9\u0686\u06be \u067e\u06cc\u0648\u0646\u062f \u0644\u06af \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u062f\u06c1\u0631\u0627\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0633\u0633\u0679\u0645\u0632 \u062a\u06a9\u0646\u06cc\u06a9\u06cc \u062a\u062d\u0641\u0638 \u06a9\u0627 \u0642\u0631\u0636 \u0627\u0633\u06cc \u0637\u0631\u062d \u062c\u0645\u0639 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0633 \u0637\u0631\u062d \u0648\u06c1 \u062f\u0648\u0633\u0631\u06d2 \u062a\u06a9\u0646\u06cc\u06a9\u06cc \u0642\u0631\u0636\u0648\u06ba \u06a9\u0648 \u062c\u0645\u0639 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u062a\u0627\u06c1\u0645\u060c \u0622\u067e \u0627\u0639\u0644\u06cc \u062f\u0627\u0624 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba.<\/p>\n<p>Secure by Design \u0679\u06cc\u0645 \u0641\u0639\u0627\u0644 \u0637\u0648\u0631 \u067e\u0631 \u0633\u06cc\u06a9\u0648\u0631\u0679\u06cc \u06a9\u0648 \u0627\u06cc\u0688\u0631\u06cc\u0633 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u0641\u06cc\u0686\u0631 \u0628\u0646\u0627\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u0679\u06cc\u0645\u06cc\u06ba \u062f\u0631\u062c \u0630\u06cc\u0644 \u0633\u0648\u0627\u0644\u0627\u062a \u067e\u0648\u0686\u06be\u062a\u06cc \u06c1\u06cc\u06ba: \u0627\u0633 \u0641\u06cc\u0686\u0631 \u06a9\u0648 \u06a9\u06cc\u0627 \u062e\u0637\u0631\u0627\u062a \u06c1\u06cc\u06ba\u061f \u0622\u067e \u06a9\u0627 \u0688\u06cc\u0679\u0627 \u06a9\u06c1\u0627\u06ba \u062d\u0633\u0627\u0633 \u06c1\u06d2\u061f \u0627\u06af\u0631 \u06a9\u0648\u0626\u06cc \u062d\u0645\u0644\u06c1 \u0622\u0648\u0631 \u0627\u0633 \u0627\u0646 \u067e\u0679 \u06a9\u0648 \u06a9\u0646\u0679\u0631\u0648\u0644 \u06a9\u0631 \u0644\u06d2 \u062a\u0648 \u06a9\u06cc\u0627 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u061f \u0627\u06af\u0631 \u0627\u0633 \u062c\u0632\u0648 \u06a9\u0648 \u0646\u0642\u0635\u0627\u0646 \u067e\u06c1\u0646\u0686\u06d2 \u062a\u0648 \u062f\u06be\u0645\u0627\u06a9\u06d2 \u06a9\u0627 \u0631\u062f\u0627\u0633 \u06a9\u06cc\u0627 \u06c1\u06d2\u061f \u062c\u0648\u0627\u0628\u0627\u062a \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631 \u06a9\u0648 \u0634\u06a9\u0644 \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062f\u0648\u0633\u0631\u06cc \u0637\u0631\u0641 \u0646\u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1 \u0627\u06cc\u06a9 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0645\u062e\u062a\u0644\u0641 \u0646\u0638\u0627\u0645 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u0633 \u0644\u06cc\u06d2 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u06a9\u06c1 \u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u0627\u062c\u0632\u0627\u0621 \u0645\u062e\u062a\u0644\u0641 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0628\u0644\u06a9\u06c1 \u0627\u0633 \u0644\u06cc\u06d2 \u06a9\u06c1 \u06c1\u0631 \u067e\u0631\u062a \u067e\u0631 \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06d2 \u0641\u06cc\u0635\u0644\u06d2 \u0627\u0633 \u0628\u0627\u062a \u06a9\u06cc \u0633\u0645\u062c\u06be \u06a9\u06cc \u0639\u06a9\u0627\u0633\u06cc \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u06a9\u06cc\u0627 \u063a\u0644\u0637 \u06c1\u0648 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1\u0627\u06ba \u0627\u06cc\u06a9 \u06a9\u0627\u0645\u0644 \u0645\u062b\u0627\u0644 \u06c1\u06d2:<br \/>API \u06af\u06cc\u0679 \u0648\u06d2 \u063a\u0644\u0637 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u067e\u0646\u06d2 \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 \u0637\u06d2 \u0634\u062f\u06c1 \u0637\u0648\u0631 \u067e\u0631 \u0634\u0631\u062d \u06a9\u0648 \u0645\u062d\u062f\u0648\u062f \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<br \/>\u0688\u0648\u0645\u06cc\u0646 \u067e\u0631\u062a \u0627\u0633 \u0688\u06cc\u0632\u0627\u0626\u0646 \u0645\u06cc\u06ba \u0634\u0646\u0627\u062e\u062a \u06a9\u0631 \u06a9\u06d2 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0642\u0648\u0627\u0639\u062f \u06a9\u0648 \u0646\u0627\u0641\u0630 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u062c\u06c1\u0627\u06ba \u0648\u06c1 \u0627\u0635\u0648\u0644 \u06c1\u06cc\u06ba\u06d4<br \/>CI\/CD \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646\u0632 \u0622\u067e \u06a9\u06d2 \u06a9\u0648\u0688 \u0645\u06cc\u06ba \u0631\u0627\u0632 \u06a9\u0648 \u067e\u06a9\u0691\u062a\u06cc \u06c1\u06cc\u06ba \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0688\u06cc\u0632\u0627\u0626\u0646 \u0645\u06cc\u06ba \u0634\u0631\u0648\u0639 \u0633\u06d2 \u06c1\u06cc \u0648\u06c1 \u062f\u0631\u0648\u0627\u0632\u06d2 \u0634\u0627\u0645\u0644 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0648\u063a\u06cc\u0631\u06c1<\/p>\n<p>\u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06d2 \u0648\u0642\u062a \u067e\u0631 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u062d\u0627\u0635\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0644\u0627\u06af\u062a \u0627\u0633 \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06cc\u0627 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u0646\u06d2 \u06a9\u06cc \u0644\u0627\u06af\u062a \u06a9\u0627 \u0635\u0631\u0641 \u0627\u06cc\u06a9 \u062d\u0635\u06c1 \u06c1\u06d2\u06d4 \u0627\u0648\u0631 \u0627\u0633 \u06a9\u06d2 \u0627\u0646\u062a\u0638\u0627\u0645 \u06a9\u06cc \u0644\u0627\u06af\u062a \u06a9\u0633\u06cc \u0628\u0691\u06d2 \u062d\u0627\u062f\u062b\u06d2 \u06a9\u06cc \u0644\u0627\u06af\u062a \u06a9\u0627 \u0635\u0631\u0641 \u0627\u06cc\u06a9 \u062d\u0635\u06c1 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0635\u0631\u0641 \u0648\u0642\u062a \u06a9\u06cc \u0628\u0627\u062a \u06c1\u06d2!<\/p>\n<h2 id=\"heading-threat-modeling-understanding-your-attack-surface-before-you-build\">\u062a\u06be\u0631\u06cc\u0679 \u0645\u0627\u0688\u0644\u0646\u06af: \u062a\u0639\u06cc\u0646\u0627\u062a\u06cc \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u062d\u0645\u0644\u06d2 \u06a9\u06cc \u0633\u0637\u062d \u06a9\u0648 \u0633\u0645\u062c\u06be\u06cc\u06ba\u06d4<\/h2>\n<p>\u062a\u06be\u0631\u06cc\u0679 \u0645\u0627\u0688\u0644\u0646\u06af \u0627\u06cc\u06a9 \u0645\u0646\u0638\u0645 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u0627\u0633 \u0628\u0627\u062a \u06a9\u06cc \u0646\u0634\u0627\u0646\u062f\u06c1\u06cc \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0639\u0645\u0644 \u06c1\u06d2 \u06a9\u06c1 \u0633\u0633\u0679\u0645 \u06a9\u06cc \u062a\u0639\u0645\u06cc\u0631 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u0633 \u0645\u06cc\u06ba \u06a9\u06c1\u0627\u06ba \u0645\u0633\u0627\u0626\u0644 \u067e\u06cc\u062f\u0627 \u06c1\u0648\u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0631\u0633\u0645\u06cc \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u0633\u0631\u06af\u0631\u0645\u06cc \u06c1\u06d2\u060c \u0633\u06cc\u06a9\u0648\u0631\u0679\u06cc \u0679\u06cc\u0645 \u06a9\u06cc \u062a\u0631\u0628\u06cc\u062a \u0646\u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0645\u0642\u0635\u062f \u0622\u0633\u0627\u0646 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u0633 \u0628\u0627\u062a \u06a9\u0648 \u0633\u0645\u062c\u06be\u0646\u06d2 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u06c1\u06d2 \u06a9\u06c1 \u06a9\u0648\u0646 \u0633\u0633\u0679\u0645 \u067e\u0631 \u062d\u0645\u0644\u06c1 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u060c \u0648\u06c1 \u06a9\u06cc\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0648\u06c1 \u0627\u0633\u06d2 \u062d\u0627\u0635\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u06cc\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u060c \u0627\u0648\u0631 \u0627\u06af\u0631 \u0648\u06c1 \u06a9\u0627\u0645\u06cc\u0627\u0628 \u06c1\u0648 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0648 \u0627\u0633 \u06a9\u0627 \u06a9\u06cc\u0627 \u0627\u062b\u0631 \u067e\u0691\u06d2 \u06af\u0627\u06d4 \u0627\u0633 \u062a\u0641\u06c1\u06cc\u0645 \u06a9\u06d2 \u0633\u0627\u062a\u06be\u060c \u0622\u067e \u0633\u0648\u0686 \u0633\u0645\u062c\u06be \u06a9\u0631 \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06d2 \u0641\u06cc\u0635\u0644\u06d2 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0627\u0633 \u0637\u0631\u062d \u06a9\u06d2 \u062d\u0645\u0644\u0648\u06ba \u06a9\u06d2 \u0627\u0645\u06a9\u0627\u0646\u0627\u062a \u0627\u0648\u0631 \u0627\u062b\u0631\u0627\u062a \u06a9\u0648 \u06a9\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-the-four-questions-of-threat-modeling\">\u062a\u06be\u0631\u06cc\u0679 \u0645\u0627\u0688\u0644\u0646\u06af \u0645\u06cc\u06ba \u0686\u0627\u0631 \u0633\u0648\u0627\u0644\u0627\u062a<\/h3>\n<p><strong>1. \u06c1\u0645 \u06a9\u06cc\u0627 \u0628\u0646\u0627 \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba\u061f<\/strong><\/p>\n<p>\u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0627 \u06cc\u06c1 \u062e\u0627\u0635 \u0645\u0639\u0627\u0645\u0644\u06c1 \u0633\u0633\u0679\u0645 \u0645\u06cc\u067e\u0646\u06af \u0633\u06d2 \u0634\u0631\u0648\u0639 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u062c\u0632\u0627\u0621 \u06a9\u06cc\u0627 \u06c1\u06cc\u06ba\u061f \u0648\u06c1 \u06a9\u06cc\u0633\u06d2 \u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u061f \u0688\u06cc\u0679\u0627 \u06a9\u06c1\u0627\u06ba \u0628\u06c1\u06c1 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u061f \u0627\u0639\u062a\u0645\u0627\u062f \u06a9\u06cc \u062d\u062f\u06cc\u06ba \u06a9\u06c1\u0627\u06ba \u06c1\u06cc\u06ba &#8211; \u0648\u06c1 \u067e\u0648\u0627\u0626\u0646\u0679\u0633 \u062c\u06c1\u0627\u06ba \u0688\u06cc\u0679\u0627 \u0627\u06cc\u06a9 \u0627\u0639\u062a\u0645\u0627\u062f \u06a9\u06d2 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u0633\u06d2 \u062f\u0648\u0633\u0631\u06d2 \u0645\u06cc\u06ba \u062c\u0627\u062a\u0627 \u06c1\u06d2\u061f<\/p>\n<p>API \u06af\u06cc\u0679 \u0648\u06d2 \u0627\u0648\u0631 \u0627\u0646\u0679\u0631\u0646\u06cc\u0679 \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646\u060c \u0633\u0631\u0648\u0633 \u0644\u06cc\u0626\u0631 \u0627\u0648\u0631 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646\u060c \u0627\u0648\u0631 \u0633\u0633\u0679\u0645 \u0627\u0648\u0631 \u062a\u06be\u0631\u0688 \u067e\u0627\u0631\u0679\u06cc \u0627\u0646\u0636\u0645\u0627\u0645 \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0627\u0639\u062a\u0645\u0627\u062f \u06a9\u06cc \u062d\u062f\u0648\u062f \u0645\u0648\u062c\u0648\u062f \u06c1\u06cc\u06ba\u06d4 \u06c1\u0631 \u0627\u0639\u062a\u0645\u0627\u062f \u06a9\u06cc \u062d\u062f \u0645\u0645\u06a9\u0646\u06c1 \u062d\u0645\u0644\u06d2 \u06a9\u06cc \u0633\u0637\u062d \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1\u0627\u06ba \u0622\u067e \u06a9\u0648 \u0688\u06cc\u0679\u0627 \u06a9\u06d2 \u0628\u06c1\u0627\u0624 \u06a9\u06cc \u0645\u0646\u0635\u0648\u0628\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u060c \u0627\u0646 \u062a\u0645\u0627\u0645 \u062c\u06af\u06c1\u0648\u06ba \u06a9\u06cc \u0646\u0642\u0634\u06c1 \u0633\u0627\u0632\u06cc \u06a9\u0631\u0646\u0627 \u062c\u06c1\u0627\u06ba \u0688\u06cc\u0679\u0627 \u0633\u0633\u0679\u0645 \u0645\u06cc\u06ba \u062f\u0627\u062e\u0644 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u062c\u06c1\u0627\u06ba \u0627\u0633\u06d2 \u0630\u062e\u06cc\u0631\u06c1 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062c\u06c1\u0627\u06ba \u0627\u0633 \u067e\u0631 \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06cc\u06c1 \u06a9\u06c1\u0627\u06ba \u0633\u06d2 \u0646\u06a9\u0644\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0622\u067e \u06a9\u0648 \u0627\u0633 \u06a9\u06cc \u0645\u06a9\u0645\u0644 \u062a\u0635\u0648\u06cc\u0631 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0633 \u06a9\u06cc \u0622\u067e \u062d\u0641\u0627\u0638\u062a \u06a9\u0631 \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p><strong>2. \u06a9\u06cc\u0627 \u063a\u0644\u0637 \u06c1\u0648 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u061f<\/strong><\/p>\n<p>\u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0627 \u06cc\u06c1 \u06a9\u06cc\u0633 \u06c1\u0631 \u0627\u06cc\u06a9 \u062c\u0632 \u0627\u0648\u0631 \u06c1\u0631 \u0688\u06cc\u0679\u0627 \u06a9\u06d2 \u0628\u06c1\u0627\u0624 \u0633\u06d2 \u067e\u0648\u0686\u06be\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u062d\u0645\u0644\u06c1 \u0622\u0648\u0631 \u06a9\u06cc\u0627 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1\u0627\u06ba \u06cc\u06c1 \u0622\u062a\u0627 \u06c1\u06d2 <strong>\u0622\u06af\u06d2 \u0628\u0691\u06be\u0646\u0627<\/strong> \u06cc\u06c1 \u0627\u0646 \u0633\u0648\u0627\u0644\u0627\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u0634\u0627\u0631\u0679 \u06c1\u06cc\u0646\u0688 \u06c1\u06d2 \u062c\u0648 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06d2 \u0627\u0633 \u0645\u062e\u0635\u0648\u0635 \u0645\u0639\u0627\u0645\u0644\u06d2 \u06a9\u0648 \u067e\u0648\u0631\u0627 \u06a9\u0631\u0646\u06d2 \u0645\u06cc\u06ba \u0622\u067e \u06a9\u06cc \u0645\u062f\u062f \u06a9\u0631\u06d2 \u06af\u0627\u06d4<\/p>\n<ul>\n<li>\n<p><strong>\u0633\u067e\u0648\u0641\u0646\u06af:<\/strong> \u06a9\u06cc\u0627 \u062d\u0645\u0644\u06c1 \u0622\u0648\u0631 \u06a9\u0633\u06cc \u0627\u06cc\u0633\u06d2 \u0634\u062e\u0635 \u06a9\u0627 \u062f\u06a9\u06be\u0627\u0648\u0627 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0648\u06c1 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u061f \u06a9\u06cc\u0627 \u0622\u067e \u0679\u0648\u06a9\u0646 \u0628\u0646\u0627 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u06a9\u0633\u06cc \u0635\u0627\u0631\u0641 \u06a9\u06cc \u0646\u0642\u0627\u0644\u06cc \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u06cc\u0627 \u0627\u06cc\u0633\u06cc \u0634\u0646\u0627\u062e\u062a \u06a9\u0627 \u062f\u0639\u0648\u06cc\u0670 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0633 \u06a9\u06d2 \u0622\u067e \u0645\u0627\u0644\u06a9 \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u061f<\/p>\n<\/li>\n<li>\n<p><strong>\u0622\u067e\u0631\u06cc\u0634\u0646:<\/strong> \u06a9\u06cc\u0627 \u062d\u0645\u0644\u06c1 \u0622\u0648\u0631 \u0679\u0631\u0627\u0646\u0632\u0679 \u06cc\u0627 \u0622\u0631\u0627\u0645 \u06a9\u06d2 \u0648\u0642\u062a \u0688\u06cc\u0679\u0627 \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u061f \u06a9\u06cc\u0627 \u0645\u06cc\u06ba \u0644\u06cc\u0646 \u062f\u06cc\u0646 \u06a9\u06cc \u0631\u0642\u0645 \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u0648\u06ba\u060c \u06a9\u0627\u0644 \u0628\u06cc\u06a9 \u067e\u06d2 \u0644\u0648\u0688 \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u0648\u06ba\u060c \u06cc\u0627 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u062f\u06c1 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u0648\u06ba\u061f<\/p>\n<\/li>\n<li>\n<p><strong>\u062a\u0631\u06a9 \u06a9\u0631\u0646\u0627:<\/strong> \u06a9\u06cc\u0627 \u0635\u0627\u0631\u0641 \u06a9\u0648\u0626\u06cc \u0639\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u0627\u0646\u06a9\u0627\u0631 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u061f \u06a9\u06cc\u0627 \u0622\u067e \u06a9\u06d2 \u067e\u0627\u0633 \u06cc\u06c1 \u062b\u0627\u0628\u062a \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0627\u0641\u06cc \u0622\u0688\u0679 \u0644\u0627\u06af\u0632 \u06c1\u06cc\u06ba \u06a9\u06c1 \u06a9\u06cc\u0627 \u06c1\u0648\u0627\u060c \u06a9\u0628 \u06c1\u0648\u0627\u060c \u0627\u0648\u0631 \u06a9\u0633 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u06c1\u0648\u0627\u061f \u06a9\u06cc\u0627 \u0622\u067e \u06cc\u06c1 \u062b\u0627\u0628\u062a \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0635\u0627\u0631\u0641 \u0646\u06d2 \u0633\u0633\u0679\u0645 \u067e\u0631 \u06a9\u0648\u0626\u06cc \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc \u06a9\u06cc \u06c1\u06d2\u061f<\/p>\n<\/li>\n<li>\n<p><strong>\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u06a9\u0627 \u0627\u0646\u06a9\u0634\u0627\u0641:<\/strong> \u06a9\u06cc\u0627 \u06a9\u0648\u0626\u06cc \u062d\u0645\u0644\u06c1 \u0622\u0648\u0631 \u06a9\u0686\u06be \u0633\u06cc\u06a9\u06be \u0633\u06a9\u062a\u0627 \u06c1\u06d2 \u062c\u0633\u06d2 \u0627\u0633\u06d2 \u0646\u06c1\u06cc\u06ba \u0633\u06cc\u06a9\u06be\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u061f \u06a9\u06cc\u0627 \u0622\u067e \u062f\u0648\u0633\u0631\u06d2 \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u0627 \u0688\u06cc\u0679\u0627 \u067e\u0691\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062e\u0631\u0627\u0628\u06cc \u06a9\u06d2 \u062c\u0648\u0627\u0628\u0627\u062a \u0633\u06d2 \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u0646\u0638\u0627\u0645 \u06a9\u06cc \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0646\u06a9\u0627\u0644 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u06cc\u0627 \u0627\u0633\u0679\u06cc\u06a9 \u0679\u0631\u06cc\u0633 \u0633\u06d2 \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u0627\u0646\u0641\u0631\u0627\u0633\u0679\u0631\u06a9\u0686\u0631 \u06a9\u06cc \u062a\u0641\u0635\u06cc\u0644\u0627\u062a \u062d\u0627\u0635\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u061f<\/p>\n<\/li>\n<li>\n<p><strong>\u062e\u062f\u0645\u062a \u0633\u06d2 \u0627\u0646\u06a9\u0627\u0631:<\/strong> \u06a9\u06cc\u0627 \u062d\u0645\u0644\u06c1 \u0622\u0648\u0631 \u062c\u0627\u0626\u0632 \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u0648 \u0633\u0633\u0679\u0645 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u0633\u06d2 \u0631\u0648\u06a9 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u061f \u06a9\u06cc\u0627 \u06cc\u06c1 \u0622\u067e \u06a9\u06d2 \u0648\u0633\u0627\u0626\u0644 \u06a9\u0648 \u062e\u062a\u0645 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u060c \u0645\u06c1\u0646\u06af\u06d2 \u0622\u067e\u0631\u06cc\u0634\u0646\u0632 \u06a9\u0627 \u0633\u0628\u0628 \u0628\u0646 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u060c \u06cc\u0627 \u0622\u067e \u06a9\u06d2 \u0633\u0633\u0679\u0645 \u06a9\u0648 \u0679\u0631\u06cc\u0641\u06a9 \u0633\u06d2 \u0645\u063a\u0644\u0648\u0628 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u061f<\/p>\n<\/li>\n<li>\n<p><strong>\u0645\u0631\u0627\u0639\u0627\u062a \u0645\u06cc\u06ba \u0627\u0636\u0627\u0641\u06c1:<\/strong> \u06a9\u06cc\u0627 \u06a9\u0648\u0626\u06cc \u062d\u0645\u0644\u06c1 \u0622\u0648\u0631 \u063a\u06cc\u0631 \u0645\u062c\u0627\u0632 \u0627\u062c\u0627\u0632\u062a\u06cc\u06ba \u062d\u0627\u0635\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u061f \u06a9\u06cc\u0627 \u0628\u0627\u0642\u0627\u0639\u062f\u06c1 \u0635\u0627\u0631\u0641\u06cc\u0646 \u0627\u0646\u062a\u0638\u0627\u0645\u06cc \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u061f \u06cc\u0627 \u06a9\u06cc\u0627 \u0628\u06cc\u0631\u0648\u0646\u06cc \u06a9\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0627\u0646\u062f\u0631\u0648\u0646\u06cc API \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u061f<\/p>\n<\/li>\n<\/ul>\n<p><strong>3. \u06c1\u0645 \u0627\u0633 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u06a9\u06cc\u0627 \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u061f<\/strong><\/p>\n<p>\u06c1\u0631 \u0634\u0646\u0627\u062e\u062a \u0634\u062f\u06c1 \u062e\u0637\u0631\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0646\u0633\u062f\u0627\u062f\u06cc \u0627\u0642\u062f\u0627\u0645\u0627\u062a \u06a9\u0627 \u062a\u0639\u06cc\u0646 \u06a9\u0631\u06cc\u06ba\u06d4 \u0627\u0645\u06a9\u0627\u0646 \u06cc\u0627 \u0627\u062b\u0631 \u06a9\u0648 \u06a9\u0645 \u06a9\u0631\u06a9\u06d2 \u0627\u0633 \u06a9\u0648 \u06a9\u0645 \u06a9\u0631\u06cc\u06ba\u06d4 \u06c1\u0645 \u0627\u0633\u06d2 \u0627\u06cc\u06a9 \u0645\u0646\u0638\u0645 \u0633\u0631\u0648\u0633 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0628\u06be\u06cc\u062c\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0627\u0633\u06d2 \u0633\u0646\u0628\u06be\u0627\u0644\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u062e\u0637\u0631\u06c1 \u0648\u0627\u0642\u0639\u06cc \u06a9\u0645 \u06c1\u06d2 \u0627\u0648\u0631 \u062a\u062e\u0641\u06cc\u0641 \u06a9\u06cc \u0644\u0627\u06af\u062a \u0628\u06c1\u062a \u0632\u06cc\u0627\u062f\u06c1 \u06c1\u06d2 \u062a\u0648 \u0627\u0633\u06d2 \u0642\u0628\u0648\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 \u0627\u0633 \u06a9\u06d2 \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u06a9\u06d2 \u0627\u0633\u06d2 \u06c1\u0679\u0627 \u062f\u06cc\u06ba \u062a\u0627\u06a9\u06c1 \u062e\u0637\u0631\u06c1 \u0645\u0632\u06cc\u062f \u0644\u0627\u06af\u0648 \u0646\u06c1 \u06c1\u0648\u06d4<\/p>\n<p>\u0641\u06cc\u0635\u0644\u06d2 \u0648\u0627\u0636\u062d \u0627\u0648\u0631 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u06cc \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0645\u0636\u0645\u0631 \u06cc\u0627 \u0641\u0631\u0636 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633 \u06a9\u0627 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u06cc \u06c1\u0648\u0646\u0627 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2\u06d4<\/p>\n<p><strong>4. \u06a9\u06cc\u0627 \u06c1\u0645 \u0646\u06d2 \u06a9\u0627\u0641\u06cc \u0627\u0686\u06be\u0627 \u06a9\u0627\u0645 \u06a9\u06cc\u0627 \u06c1\u06d2\u061f<\/strong><\/p>\n<p>\u0633\u0633\u0679\u0645 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f\u060c \u0627\u0633 \u0628\u0627\u062a \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u0622\u06cc\u0627 \u062c\u0648\u0627\u0628\u06cc \u0645\u0646\u0635\u0648\u0628\u06c1 \u062d\u0642\u06cc\u0642\u062a \u0645\u06cc\u06ba \u0646\u0627\u0641\u0630 \u06c1\u0648\u0627 \u06c1\u06d2\u06d4 \u062a\u06be\u0631\u06cc\u0679 \u0645\u0627\u0688\u0644\u0646\u06af \u0627\u06cc\u06a9 \u0632\u0646\u062f\u06c1 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u06c1\u06d2\u060c \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u06a9\u06cc \u0645\u0634\u0642 \u0646\u06c1\u06cc\u06ba\u06d4 \u062c\u0628 \u0622\u067e \u06a9\u0627 \u0633\u0633\u0679\u0645 \u062a\u0628\u062f\u06cc\u0644 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0622\u067e \u06a9\u06d2 \u062e\u0637\u0631\u06d2 \u06a9\u06d2 \u0645\u0627\u0688\u0644 \u067e\u0631 \u0646\u0638\u0631 \u062b\u0627\u0646\u06cc \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-what-threat-modeling-produces\">\u06a9\u06cc\u0627 \u062e\u0637\u0631\u06c1 \u0645\u0627\u0688\u0644\u0646\u06af \u067e\u06cc\u062f\u0627 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/h3>\n<p>\u0627\u06cc\u06a9 \u062e\u0637\u0631\u06c1 \u0645\u0627\u0688\u0644 \u062f\u0648 \u0648\u0627\u0642\u0639\u06cc \u0642\u06cc\u0645\u062a\u06cc \u0639\u0646\u0627\u0635\u0631 \u067e\u06cc\u062f\u0627 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u062d\u0641\u0627\u0638\u062a\u06cc \u062a\u0642\u0627\u0636\u0648\u06ba \u06a9\u06cc \u0627\u06cc\u06a9 \u0641\u06c1\u0631\u0633\u062a \u06c1\u06d2 \u062c\u0648 \u06a9\u0633\u06cc \u0633\u0633\u0679\u0645 \u06a9\u06d2 \u062c\u0627\u0631\u06cc \u06c1\u0648\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u067e\u0648\u0631\u06cc \u06a9\u06cc \u062c\u0627\u0646\u06cc \u0686\u0627\u06c1\u06cc\u06d2\u060c \u0627\u0648\u0631 \u06cc\u06c1 \u0633\u0645\u062c\u06be\u0646\u0627 \u06a9\u06c1 \u0632\u06cc\u0627\u062f\u06c1 \u062e\u0637\u0631\u06c1 \u0648\u0627\u0644\u06d2 \u0639\u0644\u0627\u0642\u06d2 \u06a9\u06c1\u0627\u06ba \u06c1\u06cc\u06ba \u062a\u0627\u06a9\u06c1 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u06a9\u06cc \u06a9\u0648\u0634\u0634\u0648\u06ba \u06a9\u0648 \u0645\u0646\u0627\u0633\u0628 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u0645\u0631\u06a9\u0648\u0632 \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u06d2\u06d4<\/p>\n<p>\u062e\u0637\u0631\u06d2 \u06a9\u06d2 \u0645\u0627\u0688\u0644 \u06a9\u06d2 \u0628\u063a\u06cc\u0631\u060c \u0633\u06cc\u06a9\u0648\u0631\u0679\u06cc \u06a9\u0627 \u0627\u0637\u0644\u0627\u0642 \u06cc\u06a9\u0633\u0627\u06ba \u0637\u0648\u0631 \u067e\u0631 \u0627\u0648\u0631 \u0627\u06a9\u062b\u0631 \u0633\u0637\u062d\u06cc \u0637\u0648\u0631 \u067e\u0631 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u062a\u0645\u0627\u0645 \u0627\u062c\u0632\u0627\u0621 \u06a9\u0648 \u06cc\u06a9\u0633\u0627\u06ba \u0633\u0637\u062d \u06a9\u06cc \u062a\u0648\u062c\u06c1 \u062d\u0627\u0635\u0644 \u06c1\u0648\u062a\u06cc \u06c1\u06d2 \u0642\u0637\u0639 \u0646\u0638\u0631 \u0627\u0646 \u06a9\u06d2 \u062e\u0637\u0631\u06d2 \u06a9\u06cc \u0627\u0635\u0644 \u0633\u0637\u062d\u06d4 \u062a\u06be\u0631\u06cc\u0679 \u0645\u0627\u0688\u0644\u0632 \u0622\u067e \u06a9\u0648 \u06cc\u06c1 \u062c\u0627\u0646\u0646\u06d2 \u0645\u06cc\u06ba \u0645\u062f\u062f \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u06a9\u0648\u0646 \u0633\u06d2 \u0627\u062c\u0632\u0627\u0621 \u0632\u06cc\u0627\u062f\u06c1 \u062e\u0637\u0631\u06c1 \u06c1\u06cc\u06ba\u060c \u06a9\u0648\u0646 \u0633\u06d2 \u0688\u06cc\u0679\u0627 \u06a9\u0627 \u0628\u06c1\u0627\u0624 \u062d\u0633\u0627\u0633 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u06a9\u06cc \u06a9\u0648\u0634\u0634\u0648\u06ba \u06a9\u0648 \u06a9\u06c1\u0627\u06ba \u0645\u0631\u06a9\u0648\u0632 \u06a9\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<h2 id=\"heading-security-as-a-business-rule\">\u0627\u06cc\u06a9 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0627\u0635\u0648\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0633\u06cc\u06a9\u0648\u0631\u0679\u06cc<\/h2>\n<p>\u0688\u0648\u0645\u06cc\u0646 \u0633\u06d2 \u0686\u0644\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0688\u06cc\u0632\u0627\u0626\u0646 \u0622\u067e \u06a9\u0648 \u0633\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0645\u0646\u0637\u0642 \u0622\u067e \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0648 \u0628\u0646\u0627\u062a\u0627 \u06cc\u0627 \u062a\u0648\u0691\u062a\u0627 \u06c1\u06d2\u06d4 \u0688\u0648\u0645\u06cc\u0646 \u067e\u0631\u062a \u0648\u06c1 \u06c1\u06d2 \u062c\u06c1\u0627\u06ba \u0648\u06c1 \u0627\u0635\u0648\u0644 \u0631\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0646\u0638\u0627\u0645 \u06a9\u06cc \u062f\u0631\u0633\u062a\u06af\u06cc \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u06a9\u06d2 \u062a\u0642\u0627\u0636\u06d2 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0627\u0635\u0648\u0644 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0646 \u06a9\u0627 \u062a\u0639\u0644\u0642 \u062f\u06cc\u06af\u0631 \u062a\u0645\u0627\u0645 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0627\u0635\u0648\u0644\u0648\u06ba \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0688\u0648\u0645\u06cc\u0646 \u0644\u06cc\u0626\u0631 \u0645\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u0633\u06cc\u0644\u0632 \u0627\u06cc\u062c\u0646\u0679 \u062a\u0635\u062f\u06cc\u0642 \u0634\u062f\u06c1 \u0636\u0645\u0627\u0646\u062a \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u0641\u0631\u0648\u062e\u062a \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u0627\u06d4 \u06cc\u06c1 \u0627\u06cc\u06a9 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0627\u0635\u0648\u0644 \u06c1\u06d2\u06d4 \u0627\u0633 \u06a9\u0627 \u062a\u0639\u0644\u0642 \u0627\u0633 \u0688\u0648\u0645\u06cc\u0646 \u06c1\u0633\u062a\u06cc \u06cc\u0627 \u0688\u0648\u0645\u06cc\u0646 \u0633\u0631\u0648\u0633 \u0633\u06d2 \u06c1\u06d2 \u062c\u0648 \u0641\u0631\u0648\u062e\u062a \u06a9\u0648 \u062a\u062e\u0644\u06cc\u0642 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062a\u062e\u0644\u06cc\u0642 \u06a9\u06d2 \u0648\u0642\u062a \u0646\u0627\u0641\u0630 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0645\u0646\u062f\u0631\u062c\u06c1 \u0628\u0627\u0644\u0627 \u0645\u06cc\u06ba \u0633\u06d2 \u06a9\u0633\u06cc \u0628\u06be\u06cc \u062a\u06c1\u06c1 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0627\u0633 \u06a9\u0648 \u0631\u0648\u06a9\u0627 \u0646\u06c1\u06cc\u06ba \u062c\u0627 \u0633\u06a9\u062a\u0627\u06d4<\/p>\n<p>\u0627\u062f\u0627\u0626\u06cc\u06af\u06cc\u0648\u06ba \u06a9\u0648 \u067e\u0631\u0648\u0633\u06cc\u0633\u0646\u06af \u06a9\u06cc \u062d\u06cc\u062b\u06cc\u062a \u0633\u06d2 \u06af\u0632\u0631\u06d2 \u0628\u063a\u06cc\u0631 \u0632\u06cc\u0631 \u0627\u0644\u062a\u0648\u0627\u0621 \u0633\u06d2 \u0645\u06a9\u0645\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u0626\u06d2\u06d4 \u06cc\u06c1 \u0627\u06cc\u06a9 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0627\u0635\u0648\u0644 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u062f\u0627\u0626\u06cc\u06af\u06cc \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0627\u062f\u0627\u0631\u06d2 \u06a9\u06cc \u0631\u06cc\u0627\u0633\u062a\u06cc \u0645\u0634\u06cc\u0646 \u0633\u06d2 \u062a\u0639\u0644\u0642 \u0631\u06a9\u06be\u062a\u06cc \u06c1\u06d2\u060c \u0627\u0633\u06d2 \u06c1\u0633\u062a\u06cc \u06a9\u06cc \u0633\u0637\u062d \u067e\u0631 \u0646\u0627\u0641\u0630 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0627\u0633\u06d2 API \u06cc\u0627 \u0627\u0646\u0641\u0631\u0627\u0633\u0679\u0631\u06a9\u0686\u0631 \u067e\u0631\u062a \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u062a\u0648\u0691\u0627 \u0646\u06c1\u06cc\u06ba \u062c\u0627 \u0633\u06a9\u062a\u0627\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0627\u0635\u0644 \u0627\u06a9\u0627\u0624\u0646\u0679 \u06a9\u0648 \u062f\u06be\u0648\u06a9\u06c1 \u062f\u06c1\u06cc \u06a9\u06d2 \u062c\u0627\u0626\u0632\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062c\u06be\u0646\u0688\u0627 \u0644\u06af\u0627\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0622\u067e \u06a9\u0648 \u0627\u06a9\u0627\u0624\u0646\u0679 \u06a9\u06cc \u0645\u0646\u062a\u0642\u0644\u06cc \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0622\u06af\u06d2 \u0646\u06c1\u06cc\u06ba \u0628\u0691\u06be\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u06cc\u06c1 \u0627\u06cc\u06a9 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0627\u0635\u0648\u0644 \u0627\u0648\u0631 \u0633\u06cc\u06a9\u0648\u0631\u0679\u06cc \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u062f\u0648\u0646\u0648\u06ba \u06c1\u06d2\u06d4 \u0627\u0633 \u06a9\u0627 \u062a\u0639\u0644\u0642 \u0627\u06cc\u06a9 \u0688\u0648\u0645\u06cc\u0646 \u0633\u0631\u0648\u0633 \u0633\u06d2 \u06c1\u06d2 \u062c\u0648 \u0641\u0646\u0688\u0632 \u0645\u0646\u062a\u0642\u0644 \u06c1\u0648\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0645\u0646\u062a\u0642\u0644\u06cc \u06a9\u0648 \u0645\u0631\u0628\u0648\u0637 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06cc\u06a9 \u0628\u0627\u0631 \u062c\u0628 \u062d\u0641\u0627\u0638\u062a\u06cc \u062a\u0642\u0627\u0636\u06d2 \u0688\u0648\u0645\u06cc\u0646 \u06a9\u06d2 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0627\u0635\u0648\u0644\u0648\u06ba \u0645\u06cc\u06ba \u0627\u0646\u06a9\u0648\u0688 \u06c1\u0648 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0648\u06c1 API \u06a9\u0648 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u06a9\u0627\u0644 \u06a9\u0631\u0646\u06d2\u060c \u06a9\u0633\u06cc \u062f\u0648\u0633\u0631\u06d2 \u06a9\u0644\u0627\u0626\u0646\u0679 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2\u060c \u06cc\u0627 ORM \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u0646\u06c1\u06cc\u06ba \u0631\u0648\u06a9\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627\u06d4 \u062c\u0628 \u06a9\u0648\u0626\u06cc \u0688\u0648\u0645\u06cc\u0646 \u0622\u0628\u062c\u06cc\u06a9\u0679 \u0628\u0646\u062a\u0627 \u06c1\u06d2 \u06cc\u0627 \u0627\u0633 \u06a9\u06cc \u062d\u0627\u0644\u062a \u0628\u062f\u0644 \u062c\u0627\u062a\u06cc \u06c1\u06d2 \u062a\u0648 \u0642\u0648\u0627\u0639\u062f \u0644\u0627\u06af\u0648 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0633\u0633\u0679\u0645 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u06c1\u0631 \u0631\u0627\u0633\u062a\u06c1 \u0688\u0648\u0645\u06cc\u0646 \u067e\u0631\u062a \u062a\u06a9 \u067e\u06c1\u0646\u0686\u062a\u0627 \u06c1\u06d2\u06d4 \u0688\u0648\u0645\u06cc\u0646 \u067e\u0631\u062a \u0642\u0648\u0627\u0646\u06cc\u0646 \u06a9\u0648 \u0646\u0627\u0641\u0630 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0642\u06cc\u0645\u062a\u06cc \u0627\u0634\u06cc\u0627\u0621 \u0627\u0633 \u0645\u06cc\u06ba \u0645\u0632\u06cc\u062f \u0627\u0636\u0627\u0641\u06c1 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u06a9\u06d2 \u0648\u0642\u062a \u0645\u0646\u06cc \u0648\u06cc\u0644\u06cc\u0648 \u0622\u0628\u062c\u06cc\u06a9\u0679 \u06a9\u06cc \u062a\u0648\u062b\u06cc\u0642 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0688\u0648\u0645\u06cc\u0646 \u0645\u06cc\u06ba \u063a\u0644\u0637 \u0631\u0642\u0645 \u0645\u0648\u062c\u0648\u062f \u0646\u06c1\u06cc\u06ba \u06c1\u0648 \u0633\u06a9\u062a\u06cc\u06d4 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0646\u0645\u0628\u0631 \u0648\u06cc\u0644\u06cc\u0648 \u0622\u0628\u062c\u06cc\u06a9\u0679 \u062c\u0648 \u0641\u0627\u0631\u0645\u06cc\u0679 \u0627\u0648\u0631 \u0686\u06cc\u06a9 \u06c1\u0646\u062f\u0633\u0648\u06ba \u06a9\u0648 \u0686\u06cc\u06a9 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u063a\u0644\u0637 \u0641\u0627\u0631\u0645\u06cc\u0679 \u0634\u062f\u06c1 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0646\u0645\u0628\u0631 \u0633\u0633\u0679\u0645 \u0645\u06cc\u06ba \u062f\u0627\u062e\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u06d2 \u062c\u0627 \u0633\u06a9\u062a\u06d2\u06d4 \u062a\u0648\u062b\u06cc\u0642 \u06a9\u0648\u0626\u06cc \u06a9\u0646\u0679\u0631\u0648\u0644\u0631 \u0686\u06cc\u06a9 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u062c\u0633\u06d2 \u0686\u06be\u0648\u0691\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u062e\u0648\u062f \u0642\u0633\u0645 \u06a9\u06cc \u0627\u06cc\u06a9 \u0645\u0648\u0631\u0648\u062b\u06cc \u062e\u0627\u0635\u06cc\u062a \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u0688\u0648\u0645\u06cc\u0646 \u06a9\u06cc \u0633\u0637\u062d \u067e\u0631 \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0627\u06cc\u06a9 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u06c1\u06d2\u06d4 \u062d\u0641\u0627\u0638\u062a\u06cc \u062a\u0642\u0627\u0636\u0648\u06ba \u06a9\u0648 \u0688\u0648\u0645\u06cc\u0646 \u06a9\u06cc \u0642\u0633\u0645\u0648\u06ba \u0627\u0648\u0631 \u0688\u0648\u0645\u06cc\u0646 \u0622\u067e\u0631\u06cc\u0634\u0646\u0632 \u0645\u06cc\u06ba \u0631\u06a9\u0627\u0648\u0679\u0648\u06ba \u0645\u06cc\u06ba \u0627\u0646\u06a9\u0648\u0688 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0646 \u06a9\u0648 \u0631\u0648\u06a9\u0646\u0627 \u0646\u0627\u0645\u0645\u06a9\u0646 \u0628\u0646\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-encryption-standards-the-organizational-decision\">\u062e\u0641\u06cc\u06c1 \u06a9\u0627\u0631\u06cc \u06a9\u06d2 \u0645\u0639\u06cc\u0627\u0631\u0627\u062a: \u062a\u0646\u0638\u06cc\u0645\u06cc \u0641\u06cc\u0635\u0644\u06d2<\/h2>\n<p>\u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u062a\u0646\u0638\u06cc\u0645\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0633\u0628 \u0633\u06d2 \u062e\u0637\u0631\u0646\u0627\u06a9 \u062d\u0641\u0627\u0638\u062a\u06cc \u0641\u06cc\u0635\u0644\u0648\u06ba \u0645\u06cc\u06ba \u0633\u06d2 \u0627\u06cc\u06a9 \u0648\u06c1 \u06c1\u06d2 \u062c\u0648 \u0627\u0628\u06be\u06cc \u062a\u06a9 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 \u0622\u067e \u06a9\u06cc \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0648\u0646 \u0633\u06d2 \u062e\u0641\u06cc\u06c1 \u06a9\u0627\u0631\u06cc \u06a9\u06d2 \u0645\u0639\u06cc\u0627\u0631\u0627\u062a \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u061f<\/p>\n<p>\u062a\u0646\u0638\u06cc\u0645\u06cc \u0645\u0639\u06cc\u0627\u0631\u0627\u062a \u06a9\u06d2 \u0628\u063a\u06cc\u0631\u060c \u062a\u0645\u0627\u0645 \u0688\u0648\u06cc\u0644\u067e\u0631\u0632 \u0627\u067e\u0646\u06d2 \u0627\u0646\u062a\u062e\u0627\u0628 \u062e\u0648\u062f \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u06cc\u06a9 \u0679\u06cc\u0645 AES-128 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u062f\u0648\u0633\u0631\u0627 CBC \u0645\u0648\u0688 \u0645\u06cc\u06ba AES-256 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u062a\u06cc\u0633\u0631\u0627 GCM \u0645\u0648\u0688 \u0645\u06cc\u06ba AES-256 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0686\u0648\u062a\u06be\u0627 \u0627\u0628 \u0628\u06be\u06cc \u06a9\u0633\u06cc \u0645\u0642\u0635\u062f \u06a9\u06d2 \u0644\u06cc\u06d2 MD5 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06cc\u0633\u0627 \u06c1\u0648\u0646\u06d2 \u06a9\u0627 \u06a9\u0633\u06cc \u06a9\u0627 \u0627\u0631\u0627\u062f\u06c1 \u0646\u06c1\u06cc\u06ba \u062a\u06be\u0627\u06d4 \u0627\u06cc\u0633\u0627 \u0627\u0633 \u0644\u06cc\u06d2 \u06c1\u0648\u0627 \u06a9\u06c1 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u062a\u0646\u0638\u06cc\u0645\u06cc \u0633\u0637\u062d \u067e\u0631 \u0641\u06cc\u0635\u0644\u06d2 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0631\u06c1\u0627 \u062a\u06be\u0627 \u0627\u0648\u0631 \u0627\u0646\u06c1\u06cc\u06ba \u0646\u0627\u0641\u0630 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0631\u06c1\u0627 \u062a\u06be\u0627\u06d4<\/p>\n<p>\u0627\u06cc\u0688\u06c1\u0627\u06a9 \u0627\u0646\u06a9\u0631\u067e\u0634\u0646 \u06a9\u06d2 \u0627\u0646\u062a\u062e\u0627\u0628 \u0633\u06d2 \u067e\u06cc\u062f\u0627 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06cc \u06a9\u0645\u0632\u0648\u0631\u06cc\u0627\u06ba \u0633\u0646\u06af\u06cc\u0646 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0627\u06a9\u062b\u0631 \u0627\u0646 \u06a9\u0627 \u067e\u062a\u06c1 \u0644\u06af\u0627\u0646\u0627 \u0645\u0634\u06a9\u0644 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u067e\u06cc\u0688\u0646\u06af \u0627\u0648\u0631\u06cc\u06a9\u0644 \u062d\u0645\u0644\u06d2 \u062e\u0641\u06cc\u06c1 \u06a9\u0627\u0631\u06cc \u06a9\u06d2 \u0637\u0631\u06cc\u0642\u0648\u06ba \u0627\u0648\u0631 \u063a\u0644\u0637\u06cc \u0633\u06d2 \u0646\u0645\u0679\u0646\u06d2 \u06a9\u06d2 \u0627\u06cc\u06a9 \u0645\u062e\u0635\u0648\u0635 \u0627\u0645\u062a\u0632\u0627\u062c \u06a9\u0648 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u063a\u0644\u0637 IV \u062c\u0646\u0631\u06cc\u0634\u0646 \u06a9\u06d2 \u0633\u0627\u062a\u06be CBC \u0645\u0648\u0688 \u0627\u0646 \u062d\u0645\u0644\u0648\u06ba \u06a9\u0627 \u062e\u0637\u0631\u06c1 \u06c1\u06d2 \u062c\u0648 GCM \u0645\u0648\u0688 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u06a9\u0645\u0632\u0648\u0631 \u06a9\u0644\u06cc\u062f\u06cc \u0644\u0645\u0628\u0627\u0626\u06cc \u0628\u0631\u0648\u0679 \u0641\u0648\u0631\u0633 \u062d\u0645\u0644\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u062d\u0633\u0627\u0633 \u06c1\u0648 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u0646\u06a9\u0631\u067e\u0634\u0646 \u06a9\u06cc \u0646\u0627\u06a9\u0627\u0645\u06cc \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u0627\u0633\u0679\u06cc\u06a9 \u0679\u0631\u06cc\u0633 \u06a9\u0648 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u06a9\u06cc \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u062a\u0641\u0635\u06cc\u0644\u0627\u062a \u0633\u0627\u0645\u0646\u06d2 \u0622\u062a\u06cc \u06c1\u06cc\u06ba \u062c\u0648 \u062d\u0645\u0644\u06c1 \u0622\u0648\u0631 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u062f\u062f\u06af\u0627\u0631 \u062b\u0627\u0628\u062a \u06c1\u0648 \u0633\u06a9\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u062a\u0646\u0638\u06cc\u0645 \u062c\u0648 \u062d\u0633\u0627\u0633 \u0688\u06cc\u0679\u0627 \u067e\u0631 \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u0627\u0633\u06d2 \u0648\u0627\u0636\u062d \u0637\u0648\u0631 \u067e\u0631 \u062f\u0631\u062c \u0630\u06cc\u0644 \u0641\u06cc\u0635\u0644\u06d2 \u06a9\u0631\u0646\u06d2 \u0686\u0627\u06c1\u0626\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0646\u06c1\u06cc\u06ba \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u06a9\u06d2 \u0645\u0639\u06cc\u0627\u0631\u0627\u062a \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0646\u0627\u0641\u0630 \u06a9\u0631\u0646\u0627 \u06c1\u0648\u06ba \u06af\u06d2\u06d4<\/p>\n<h3 id=\"heading-1-which-symmetric-encryption-algorithm-and-mode\">1. \u06a9\u0648\u0646 \u0633\u06d2 \u06c1\u0645 \u0622\u06c1\u0646\u06af \u0627\u0646\u06a9\u0631\u067e\u0634\u0646 \u0627\u0644\u06af\u0648\u0631\u062a\u06be\u0645 \u0627\u0648\u0631 \u0645\u0648\u0688\u0632 \u06c1\u06cc\u06ba\u061f<\/h3>\n<p>Symmetric encryption \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u0627\u0646\u06a9\u0631\u067e\u0679 \u0627\u0648\u0631 \u0688\u06a9\u0631\u067e\u0679 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u06c1\u06cc \u06a9\u0644\u06cc\u062f \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u062a\u06cc\u0632 \u0627\u0648\u0631 \u06a9\u0627\u0631\u0622\u0645\u062f \u06c1\u06d2\u060c \u06cc\u06c1 \u0622\u0631\u0627\u0645 \u06a9\u06d2 \u0648\u0642\u062a \u06cc\u0627 \u0679\u0631\u0627\u0646\u0632\u0679 \u0645\u06cc\u06ba \u0628\u0691\u06cc \u0645\u0642\u062f\u0627\u0631 \u0645\u06cc\u06ba \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u062e\u0641\u06cc\u06c1 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0627\u0686\u06be\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p><strong>AES-256 GCM \u0645\u0648\u0688 \u06a9\u06d2 \u0633\u0627\u062a\u06be<\/strong> \u06cc\u06c1 \u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0645\u0639\u06cc\u0627\u0631 \u06c1\u06d2\u06d4 AES \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u0627\u06cc\u0688\u0648\u0627\u0646\u0633\u0688 \u0627\u0646\u06a9\u0631\u067e\u0634\u0646 \u0633\u0679\u06cc\u0646\u0688\u0631\u0688\u06d4 256 \u0628\u0679\u0633 \u0645\u06cc\u06ba \u06a9\u0644\u06cc\u062f\u06cc \u0633\u0627\u0626\u0632 \u06a9\u06cc \u0646\u0645\u0627\u0626\u0646\u062f\u06af\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631\u060c \u06a9\u0644\u06cc\u062f \u062c\u062a\u0646\u06cc \u0644\u0645\u0628\u06cc \u06c1\u0648\u06af\u06cc\u060c \u0627\u062a\u0646\u06d2 \u06c1\u06cc \u0645\u0645\u06a9\u0646\u06c1 \u0627\u0645\u062a\u0632\u0627\u062c \u06c1\u0648\u06ba \u06af\u06d2 \u0627\u0648\u0631 \u0628\u0631\u0648\u0679 \u0641\u0648\u0631\u0633 \u062d\u0645\u0644\u06c1 \u0627\u062a\u0646\u0627 \u06c1\u06cc \u0645\u0634\u06a9\u0644 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4<\/p>\n<p>Galois\/counter Mode (GCM) \u062a\u0635\u062f\u06cc\u0642 \u0634\u062f\u06c1 \u062e\u0641\u06cc\u06c1 \u06a9\u0627\u0631\u06cc \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u0639\u0646\u06cc\u060c \u06cc\u06c1 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u0627\u0646\u06a9\u0631\u067e\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u062a\u0635\u062f\u06cc\u0642\u06cc \u0679\u06cc\u06af \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u06cc\u06c1 \u067e\u062a\u06c1 \u0644\u06af\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0622\u06cc\u0627 \u0633\u0627\u0626\u0641\u0631 \u0679\u06cc\u06a9\u0633\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0686\u06be\u06cc\u0691 \u0686\u06be\u0627\u0691 \u06a9\u06cc \u06af\u0626\u06cc \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u0642\u062f\u0645 \u0645\u06cc\u06ba \u0631\u0627\u0632\u062f\u0627\u0631\u06cc \u0627\u0648\u0631 \u0633\u0627\u0644\u0645\u06cc\u062a \u06a9\u0648 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<p>\u0633\u0627\u0626\u0641\u0631 \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646\u0646\u06af (CBC) \u0645\u0648\u0688 \u0627\u0628 \u0628\u06be\u06cc \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0627\u0628\u062a\u062f\u0627\u0626\u06cc \u0648\u06cc\u06a9\u0679\u0631 (IV) \u0627\u0648\u0631 \u0645\u06cc\u0633\u062c \u062a\u0648\u062b\u06cc\u0642\u06cc \u06a9\u0648\u0688 (MAC) \u06a9\u0648 \u0627\u062d\u062a\u06cc\u0627\u0637 \u0633\u06d2 \u0633\u0646\u0628\u06be\u0627\u0644\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 \u062a\u0627\u06a9\u06c1 \u0648\u06c1\u06cc \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u062d\u0627\u0635\u0644 \u06a9\u06cc \u062c\u0627 \u0633\u06a9\u06cc\u06ba \u062c\u0648 GCM \u0645\u0642\u0627\u0645\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u06cc\u06c1 \u063a\u0644\u0637 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u06cc\u06c1 \u067e\u06cc\u0688\u0646\u06af \u0627\u0648\u0631\u06cc\u06a9\u0644 \u062d\u0645\u0644\u0648\u06ba \u06a9\u0627 \u062f\u0631\u0648\u0627\u0632\u06c1 \u06a9\u06be\u0648\u0644\u062a\u0627 \u06c1\u06d2\u060c \u062c\u06c1\u0627\u06ba \u0627\u06cc\u06a9 \u062d\u0645\u0644\u06c1 \u0622\u0648\u0631 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u0688\u06a9\u0631\u067e\u0679 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2 \u06cc\u0627 \u0627\u0633 \u06a9\u0627 \u0628\u063a\u0648\u0631 \u0645\u0634\u0627\u06c1\u062f\u06c1 \u06a9\u0631 \u06a9\u06d2 \u0633\u0627\u0626\u0641\u0631 \u0679\u06cc\u06a9\u0633\u0679 \u06a9\u0648 \u062c\u0639\u0644\u06cc \u0628\u0646\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-2-which-hashing-algorithm-for-passwords\">2. \u067e\u0627\u0633 \u0648\u0631\u0688\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06c1\u06cc\u0634\u0646\u06af \u0627\u0644\u06af\u0648\u0631\u062a\u06be\u0645 \u06a9\u06cc\u0627 \u06c1\u06d2\u061f<\/h3>\n<p>\u06c1\u06cc\u0634\u0646\u06af \u0627\u06cc\u06a9 \u0637\u0631\u0641\u06c1 \u0622\u067e\u0631\u06cc\u0634\u0646 \u06c1\u06d2\u06d4 \u06c1\u06cc\u0634 \u06a9\u0648 \u0627\u0633 \u06a9\u06cc \u0627\u0635\u0644 \u0642\u06cc\u0645\u062a \u067e\u0631 \u0648\u0627\u067e\u0633 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627\u06d4 \u06cc\u06c1\u06cc \u0648\u062c\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u06c1\u0645 \u067e\u0627\u0633 \u0648\u0631\u0688 \u06c1\u06cc\u0634\u0632 \u06a9\u0648 \u067e\u0627\u0633 \u0648\u0631\u0688 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0627\u0633\u0679\u0648\u0631 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u062c\u0628 \u06a9\u0648\u0626\u06cc \u0635\u0627\u0631\u0641 \u0644\u0627\u06af \u0627\u0646 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062a\u0648 \u06c1\u0645 \u0627\u0646 \u06a9\u06d2 \u0627\u0646 \u067e\u0679 \u06a9\u0648 \u06c1\u06cc\u0634 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0633 \u06a9\u0627 \u0645\u0648\u0627\u0632\u0646\u06c1 \u0630\u062e\u06cc\u0631\u06c1 \u0634\u062f\u06c1 \u06c1\u06cc\u0634 \u0633\u06d2 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p><strong>bcrypt\u060c scrypt\u060c \u0627\u0648\u0631 Argon2<\/strong> \u067e\u0627\u0633 \u0648\u0631\u0688 \u06c1\u06cc\u0634\u0646\u06af \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0645\u0639\u06cc\u0627\u0631\u06d4 \u06cc\u06c1 \u0627\u0644\u06af\u0648\u0631\u062a\u06be\u0645 \u062c\u0627\u0646 \u0628\u0648\u062c\u06be \u06a9\u0631 \u0633\u0633\u062a \u0627\u0648\u0631 \u06a9\u0645\u067e\u06cc\u0648\u0679\u06cc\u0634\u0646\u0644 \u0637\u0648\u0631 \u067e\u0631 \u0645\u06c1\u0646\u06af\u06d2 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062c\u0633 \u0633\u06d2 \u0628\u0631\u0648\u0679 \u0641\u0648\u0631\u0633 \u062d\u0645\u0644\u0648\u06ba \u06a9\u0648 \u0646\u0627\u0642\u0627\u0628\u0644 \u0639\u0645\u0644 \u0628\u0646\u0627 \u062f\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u06cc\u06c1\u0627\u06ba \u062a\u06a9 \u06a9\u06c1 \u0627\u06af\u0631 \u06a9\u0648\u0626\u06cc \u062d\u0645\u0644\u06c1 \u0622\u0648\u0631 \u06c1\u06cc\u0634 \u06a9\u0627 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u062d\u0627\u0635\u0644 \u06a9\u0631 \u0644\u06d2\u06d4<\/p>\n<p><strong>SHA-256 \u067e\u0627\u0633 \u0648\u0631\u0688 \u06c1\u06cc\u0634\u0646\u06af \u0627\u0644\u06af\u0648\u0631\u062a\u06be\u0645 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/strong> \u06cc\u06c1 \u0627\u06cc\u06a9 \u0639\u0627\u0645 \u0645\u0642\u0635\u062f \u06a9\u0627 \u06a9\u0631\u067e\u0679\u0648\u06af\u0631\u0627\u0641\u06a9 \u06c1\u06cc\u0634 \u0641\u0646\u06a9\u0634\u0646 \u06c1\u06d2 \u062c\u0648 \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06d2 \u0644\u062d\u0627\u0638 \u0633\u06d2 \u062a\u06cc\u0632 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0628\u0627\u0644\u06a9\u0644 \u0648\u06c1\u06cc \u06c1\u06d2 \u062c\u0648 \u0622\u067e \u0627\u067e\u0646\u06d2 \u067e\u0627\u0633 \u0648\u0631\u0688 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0646\u06c1\u06cc\u06ba \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u06cc\u06a9 \u062d\u0645\u0644\u06c1 \u0622\u0648\u0631 \u062c\u062f\u06cc\u062f \u06c1\u0627\u0631\u0688 \u0648\u06cc\u0626\u0631 \u067e\u0631 \u0641\u06cc \u0633\u06cc\u06a9\u0646\u0688 \u0627\u0631\u0628\u0648\u06ba SHA-256 \u06c1\u06cc\u0634\u0632 \u06a9\u06cc \u06a9\u0648\u0634\u0634 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p><strong>MD5 \u062d\u0633\u0627\u0633 \u0627\u0634\u06cc\u0627\u0621 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06c1\u06cc\u0634\u0646\u06af \u0627\u0644\u06af\u0648\u0631\u062a\u06be\u0645 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/strong> \u0686\u0648\u0646\u06a9\u06c1 \u0627\u0633\u06d2 \u0628\u0631\u0633\u0648\u06ba \u067e\u06c1\u0644\u06d2 \u062a\u0648\u0691\u0627 \u06af\u06cc\u0627 \u062a\u06be\u0627\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0627\u0633\u06d2 \u06a9\u0628\u06be\u06cc \u0628\u06be\u06cc \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u06a9\u06d2 \u0644\u062d\u0627\u0638 \u0633\u06d2 \u062d\u0633\u0627\u0633 \u062d\u0627\u0644\u0627\u062a \u0645\u06cc\u06ba \u0638\u0627\u06c1\u0631 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u06cc\u06c1 \u0635\u0631\u0641 \u0645\u06cc\u0631\u06cc \u0631\u0627\u0626\u06d2 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u06cc\u06c1 \u06a9\u0631\u067e\u0679\u0648\u06af\u0631\u0627\u0641\u06a9 \u062a\u062d\u0642\u06cc\u0642 \u0627\u0648\u0631 \u062d\u0642\u06cc\u0642\u06cc \u062f\u0646\u06cc\u0627 \u06a9\u06d2 \u062d\u0645\u0644\u0648\u06ba \u06a9\u06cc \u067e\u06cc\u062f\u0627\u0648\u0627\u0631 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-3-which-asymmetric-algorithms-for-signing-and-key-exchange\">3. \u062f\u0633\u062a\u062e\u0637 \u0627\u0648\u0631 \u06a9\u0644\u06cc\u062f\u06cc \u062a\u0628\u0627\u062f\u0644\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u063a\u06cc\u0631 \u0645\u062a\u0646\u0627\u0633\u0628 \u0627\u0644\u06af\u0648\u0631\u062a\u06be\u0645 \u06a9\u06cc\u0627 \u06c1\u06cc\u06ba\u061f<\/h3>\n<p>\u063a\u06cc\u0631 \u0645\u062a\u0646\u0627\u0633\u0628 \u062e\u0641\u06cc\u06c1 \u06a9\u0627\u0631\u06cc \u0686\u0627\u0628\u06cc\u0627\u06ba \u06a9\u0627 \u0627\u06cc\u06a9 \u062c\u0648\u0691\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2: \u0627\u06cc\u06a9 \u0639\u0648\u0627\u0645\u06cc \u06a9\u0644\u06cc\u062f \u062c\u0633\u06d2 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u062f\u06cc\u06a9\u06be \u0633\u06a9\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u0646\u062c\u06cc \u06a9\u0644\u06cc\u062f \u062c\u0648 \u0635\u0631\u0641 \u0622\u067e \u06a9\u06d2 \u067e\u0627\u0633 \u06c1\u06d2\u06d4 \u0639\u0648\u0627\u0645\u06cc \u06a9\u0644\u06cc\u062f \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062e\u0641\u06cc\u06c1 \u06a9\u0631\u062f\u06c1 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u0635\u0631\u0641 \u0646\u062c\u06cc \u06a9\u0644\u06cc\u062f \u0633\u06d2 \u06c1\u06cc \u0688\u06a9\u0631\u067e\u0679 \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u0646\u062c\u06cc \u06a9\u0644\u06cc\u062f \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0646\u0627\u0626\u06d2 \u06af\u0626\u06d2 \u062f\u0633\u062a\u062e\u0637 \u06a9\u06cc \u0639\u0648\u0627\u0645\u06cc \u06a9\u0644\u06cc\u062f \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u0634\u062e\u0635 \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba <strong>\u06a9\u0645 \u0627\u0632 \u06a9\u0645 RSA-2048<\/strong> \u063a\u06cc\u0631 \u0645\u062a\u0646\u0627\u0633\u0628 \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2\u06d4 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba <strong>RS256 \u06cc\u0627 ES256<\/strong> \u0627\u0639\u0644\u06cc \u0633\u06cc\u06a9\u0648\u0631\u0679\u06cc \u06a9\u06d2 \u062a\u0646\u0627\u0638\u0631 \u0645\u06cc\u06ba JWTs \u067e\u0631 \u062f\u0633\u062a\u062e\u0637 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u06d4 RS256 \u062f\u0633\u062a\u062e\u0637 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 SHA-256 \u06a9\u06d2 \u0633\u0627\u062a\u06be RSA \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 ES256 P-256 \u0648\u06a9\u0631 \u06a9\u06d2 \u0633\u0627\u062a\u06be Elliptic Curve Digital Signature Algorithm (ECDSA) \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u06a9\u06cc \u0645\u0633\u0627\u0648\u06cc \u0633\u0637\u062d\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 EC \u06a9\u06cc\u0632 \u06a9\u0648 RSA \u067e\u0631 \u062a\u0631\u062c\u06cc\u062d \u062f\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0648\u06c1 \u0627\u06cc\u06a9 \u062c\u06cc\u0633\u06cc \u062e\u0641\u06cc\u06c1 \u0637\u0627\u0642\u062a \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0686\u06be\u0648\u0679\u06cc \u0686\u0627\u0628\u06cc\u0627\u06ba \u0627\u0648\u0631 \u062f\u0633\u062a\u062e\u0637 \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-4-how-encryption-is-delivered-to-developers\">4. \u0688\u06cc\u0648\u0644\u067e\u0631\u0632 \u06a9\u0648 \u062e\u0641\u06cc\u06c1 \u06a9\u0627\u0631\u06cc \u06a9\u06cc\u0633\u06d2 \u0688\u06cc\u0644\u06cc\u0648\u0631 \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/h3>\n<p>\u0633\u0628 \u0633\u06d2 \u0627\u06c1\u0645 \u0641\u06cc\u0635\u0644\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u067e\u0631\u0627\u062c\u06cc\u06a9\u0679 \u0628\u06c1 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u06cc \u0628\u0646\u06cc\u0627\u062f \u067e\u0631 \u0634\u0631\u0648\u0639 \u0633\u06d2 \u062e\u0641\u06cc\u06c1 \u06a9\u0627\u0631\u06cc \u06a9\u0648 \u0644\u0627\u06af\u0648 \u0646\u06c1 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4 \u0627\u0633\u0679\u0627\u0641 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0632 \u0627\u0646\u06a9\u0631\u067e\u0634\u0646 \u06cc\u0648\u0679\u06cc\u0644\u06cc\u0679\u06cc\u0632 \u06a9\u0648 \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u067e\u06cc\u06a9\u062c\u0632 \u06cc\u0627 \u06a9\u0644\u0627\u0624\u0688 \u0641\u0646\u06a9\u0634\u0646\u0632 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0628\u0646\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u0633 \u06a9\u06d2 \u0628\u0639\u062f \u0622\u067e \u0627\u0633\u06d2 \u062f\u0631\u0622\u0645\u062f \u06a9\u0631 \u06a9\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0622\u067e \u06a9\u0648 \u062e\u0648\u062f \u0633\u06d2 \u06a9\u0631\u067e\u0679\u0648\u06af\u0631\u0627\u0641\u06a9 \u067e\u0631\u0627\u0626\u0645\u06cc\u0679\u0648 \u0646\u06c1\u06cc\u06ba \u0644\u06a9\u06be\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u06cc\u06c1 \u0645\u0627\u062e\u0630 \u067e\u0631 \u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u06a9\u06cc \u0646\u0627\u06a9\u0627\u0645\u06cc\u0648\u06ba \u06a9\u06d2 \u067e\u0648\u0631\u06d2 \u0632\u0645\u0631\u06d2 \u06a9\u0648 \u062e\u062a\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062c\u0628 \u062e\u0641\u06cc\u06c1 \u06a9\u0627\u0631\u06cc \u06a9\u06d2 \u0646\u0641\u0627\u0630 \u06a9\u0648 \u0645\u0631\u06a9\u0632\u06cc \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u06a9\u0645\u0632\u0648\u0631\u06cc\u0648\u06ba \u06a9\u0648 \u0679\u06be\u06cc\u06a9 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0627\u0646\u06c1\u06cc\u06ba \u0627\u06cc\u06a9 \u062c\u06af\u06c1 \u067e\u0631 \u0679\u06be\u06cc\u06a9 \u06a9\u0631\u0646\u0627 \u06c1\u06d2\u06d4 \u06a9\u0633\u06cc \u06a9\u0645\u0632\u0648\u0631\u06cc \u06a9\u0648 \u0679\u06be\u06cc\u06a9 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u062c\u0628 \u06cc\u06c1 \u062a\u0645\u0627\u0645 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679\u0633 \u0645\u06cc\u06ba \u067e\u06be\u06cc\u0644 \u062c\u0627\u0626\u06d2 \u062a\u0648 \u0633\u0628 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u062a\u0645\u0627\u0645 \u0646\u0641\u0627\u0630 \u06a9\u0648 \u062a\u0644\u0627\u0634 \u06a9\u0631\u0646\u0627\u060c \u062c\u0648 \u0627\u06a9\u062b\u0631 \u0646\u0627\u0645\u0645\u06a9\u0646 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-database-security\">\u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0633\u06cc\u06a9\u0648\u0631\u0679\u06cc<\/h2>\n<p>\u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0648\u06c1 \u062c\u06af\u06c1 \u06c1\u06d2 \u062c\u06c1\u0627\u06ba \u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0633\u0633\u0679\u0645\u0632 \u0645\u06cc\u06ba \u0633\u0628 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u062d\u0633\u0627\u0633 \u0688\u06cc\u0679\u0627 \u0631\u06c1\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u067e\u0648\u0631\u06d2 \u0627\u0633\u0679\u06cc\u06a9 \u0645\u06cc\u06ba \u0627\u06a9\u062b\u0631 \u063a\u0644\u0637 \u06a9\u0646\u0641\u06cc\u06af\u0631 \u06a9\u06cc\u06d2 \u062c\u0627\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0627\u062c\u0632\u0627\u0621 \u0645\u06cc\u06ba \u0633\u06d2 \u0627\u06cc\u06a9 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-sql-injection\">\u0627\u06cc\u0633 \u06a9\u06cc\u0648 \u0627\u06cc\u0644 \u0627\u0646\u062c\u06cc\u06a9\u0634\u0646<\/h3>\n<p>\u0627\u06cc\u0633 \u06a9\u06cc\u0648 \u0627\u06cc\u0644 \u0627\u0646\u062c\u06cc\u06a9\u0634\u0646 \u0644\u06af \u0628\u06be\u06af 25 \u0633\u0627\u0644 \u0633\u06d2 \u06c1\u06d2\u06d4 \u06cc\u06c1 1998 \u0633\u06d2 \u062c\u0627\u0631\u06cc \u06c1\u06d2\u06d4 \u0686\u0648\u0646\u06a9\u06c1 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u06a9\u06d2 \u0645\u0639\u06cc\u0627\u0631\u0627\u062a \u0646\u0627\u0641\u0630 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u06d2 \u06af\u0626\u06d2 \u06c1\u06cc\u06ba\u060c \u0648\u06c1 \u0627\u0628 \u0628\u06be\u06cc \u067e\u06cc\u062f\u0627\u0648\u0627\u0631\u06cc \u0646\u0638\u0627\u0645\u0648\u06ba \u0645\u06cc\u06ba \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0648\u062c\u06c1 \u06c1\u0645\u06cc\u0634\u06c1 \u0627\u06cc\u06a9 \u06c1\u06cc \u06c1\u0648\u062a\u06cc \u06c1\u06d2: \u0633\u0679\u0631\u0646\u06af \u06a9\u0646\u06a9\u0679\u0646\u06cc\u0634\u0646\u06d4 \u0688\u0648\u06cc\u0644\u067e\u0631\u0632 \u0635\u0627\u0631\u0641 \u06a9\u0627 \u0627\u0646 \u067e\u0679 \u0644\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a SQL \u0633\u0679\u0631\u0646\u06af\u0632 \u0645\u06cc\u06ba \u062c\u0648\u0691 \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0688\u0648\u06cc\u0644\u067e\u0631 \u06a9\u06cc \u0637\u0631\u0641 \u0633\u06d2 \u0627\u0631\u0627\u062f\u06c1 \u06a9\u0631\u062f\u06c1 \u0633\u0648\u0627\u0644\u0627\u062a \u0627\u0648\u0631 \u062d\u0645\u0644\u06c1 \u0622\u0648\u0631 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0628\u0646\u0627\u0626\u06d2 \u06af\u0626\u06d2 \u0633\u0648\u0627\u0644\u0627\u062a \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0641\u0631\u0642 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u0627\u06d4<\/p>\n<pre><code class=\"language-sql\">-- developer intended this\nSELECT * FROM users WHERE email=\"user@example.com\"\n\n-- attacker passes: anything@example.com' OR '1'='1\nSELECT * FROM users WHERE email=\"anything@example.com\" OR '1'='1'\n-- returns every user in the table\n<\/code><\/pre>\n<p>\u062d\u0644 \u06c1\u0645\u06cc\u0634\u06c1 \u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631\u0627\u0626\u0632\u0688 \u0627\u0633\u062a\u0641\u0633\u0627\u0631 \u06cc\u0627 ORM \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633\u062a\u0641\u0633\u0627\u0631 \u06a9\u06d2 \u0688\u06be\u0627\u0646\u0686\u06d2 \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06a9\u06cc \u06af\u0626\u06cc \u06c1\u06d2\u06d4 \u0627\u0642\u062f\u0627\u0631 \u06a9\u0648 \u0627\u0644\u06af \u0633\u06d2 \u0645\u0646\u0638\u0648\u0631 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0627\u0633 \u06a9\u0648 \u0688\u06cc\u0679\u0627 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0645\u0627\u0646\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0627\u0633\u062a\u0641\u0633\u0627\u0631 \u06a9\u06d2 \u0688\u06be\u0627\u0646\u0686\u06d2 \u06a9\u0627 \u062d\u0635\u06c1 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u067e \u06a9\u06cc CI\/CD \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u06a9\u06d2 \u062c\u0627\u0645\u062f \u062a\u062c\u0632\u06cc\u06d2 \u06a9\u0648 \u062e\u0627\u0645 SQL \u0633\u0679\u0631\u0646\u06af \u06a9\u0646\u06a9\u0679\u0646\u06cc\u0634\u0646 \u06a9\u0648 \u062c\u06be\u0646\u0688\u0627 \u0644\u06af\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u06cc\u06c1 \u0632\u06cc\u0631\u0648 \u0679\u0627\u0644\u0631\u06cc\u0646\u0633 \u06a9\u06cc \u067e\u0627\u0644\u06cc\u0633\u06cc \u06c1\u06d2\u06d4 \u062e\u0627\u0645 SQL \u0633\u0679\u0631\u0646\u06af\u0632 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u0627\u0646 \u067e\u0679 \u06a9\u0648 \u0645\u0631\u0628\u0648\u0637 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0646\u06c1\u06cc\u06ba \u06a9\u0628\u06be\u06cc \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u062a\u06a9 \u0646\u06c1\u06cc\u06ba \u067e\u06c1\u0646\u0686\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<h3 id=\"heading-principle-of-least-privilege-for-database-access\">\u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0645 \u0633\u06d2 \u06a9\u0645 \u0627\u0633\u062a\u062d\u0642\u0627\u0642 \u06a9\u0627 \u0627\u0635\u0648\u0644<\/h3>\n<p>\u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u06a9\u06d2 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u06d2 \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u067e\u0627\u0633 \u0635\u0631\u0641 \u0636\u0631\u0648\u0631\u06cc \u0627\u062c\u0627\u0632\u062a\u06cc\u06ba \u06c1\u0648\u0646\u06cc \u0686\u0627\u06c1\u0626\u06cc\u06ba \u0627\u0648\u0631 \u0645\u0632\u06cc\u062f \u0646\u06c1\u06cc\u06ba\u06d4 \u0635\u0631\u0641 \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0631\u067e\u0648\u0631\u0679\u0646\u06af \u0627\u06cc\u0646\u0688 \u067e\u0648\u0627\u0626\u0646\u0679\u0633 \u06a9\u0648 \u0635\u0631\u0641 SELECT \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0645\u0646\u0633\u0644\u06a9 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u06a9\u0648\u0626\u06cc INSERT\u060c UPDATE\u060c \u06cc\u0627 DELETE \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0635\u0631\u0641 \u0644\u06a9\u06be\u0646\u06d2 \u0648\u0627\u0644\u06d2 APIs \u06a9\u0648 \u0688\u0631\u0627\u067e \u0679\u06cc\u0628\u0644 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u0646\u06cc \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u0627\u06cc\u06a9 \u06a9\u0627\u0645\u06cc\u0627\u0628 SQL \u0627\u0646\u062c\u06cc\u06a9\u0634\u0646 \u06cc\u0627 \u06a9\u0631\u06cc\u0688\u06cc\u0646\u0634\u0644 \u0644\u06cc\u06a9 \u06a9\u06d2 \u062f\u06be\u0645\u0627\u06a9\u06d2 \u06a9\u06d2 \u0631\u062f\u0627\u0633 \u06a9\u0648 \u0645\u062d\u062f\u0648\u062f \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0635\u0631\u0641 \u0645\u062e\u0635\u0648\u0635 \u0679\u06cc\u0628\u0644\u0632 \u067e\u0631 SELECTs \u0627\u0646\u062c\u0627\u0645 \u062f\u06d2 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u060c \u062a\u0648 \u0633\u0645\u062c\u06be\u0648\u062a\u06c1 \u0634\u062f\u06c1 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u06cc \u0627\u0633\u0646\u0627\u062f \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062d\u0645\u0644\u06c1 \u0622\u0648\u0631 \u0635\u0631\u0641 \u0627\u0646 \u0679\u06cc\u0628\u0644\u0632 \u067e\u0631 SELECT \u0627\u0646\u062c\u0627\u0645 \u062f\u06d2 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u0622\u067e \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u0648 \u062d\u0630\u0641 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u06d2\u060c \u063a\u0644\u0637 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u062f\u0627\u062e\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u06d2\u060c \u06cc\u0627 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0628\u06cc\u0644\u0646\u0633 \u06a9\u0648 \u0627\u067e \u0688\u06cc\u0679 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u06cc \u0641\u0631\u0627\u06c1\u0645\u06cc \u06a9\u0627 \u0641\u06cc\u0635\u0644\u06c1 \u06c1\u06d2 \u062c\u0648 \u06c1\u0631 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06d2 \u062c\u0632\u0648 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0648\u0627\u0636\u062d \u0637\u0648\u0631 \u067e\u0631 \u06a9\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2 \u0627\u0648\u0631 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0688\u06be\u0627\u0646\u0686\u06d2 \u06a9\u06cc \u0633\u0637\u062d \u067e\u0631 \u0646\u0627\u0641\u0630 \u06a9\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<h3 id=\"heading-all-database-connections-must-be-encrypted\">\u062a\u0645\u0627\u0645 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u0646\u06a9\u0634\u0646\u0632 \u06a9\u0648 \u0627\u0646\u06a9\u0631\u067e\u0679 \u06a9\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/h3>\n<p>\u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u0646\u06a9\u0634\u0646\u0632 \u06a9\u0648 TLS \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0627\u06cc\u06a9 \u063a\u06cc\u0631 \u062e\u0641\u06cc\u06c1 \u06a9\u0631\u062f\u06c1 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u0646\u06a9\u0634\u0646 \u0633\u0648\u0627\u0644 \u06a9\u06d2 \u0646\u062a\u0627\u0626\u062c \u06a9\u0648 \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u067e\u0631 \u0648\u0627\u0636\u062d \u0645\u062a\u0646 \u0645\u06cc\u06ba \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0627\u0648\u0631 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u062c\u0632\u0648 \u062c\u0648 \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u0679\u0631\u06cc\u0641\u06a9 \u06a9\u0627 \u0645\u0634\u0627\u06c1\u062f\u06c1 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2 \u0648\u06c1 \u062a\u0645\u0627\u0645 \u0627\u0633\u062a\u0641\u0633\u0627\u0631 \u06a9\u06d2 \u0646\u062a\u0627\u0626\u062c \u06a9\u0648 \u067e\u0691\u06be \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u0644\u0627\u0624\u0688 \u0645\u0627\u062d\u0648\u0644 \u0645\u06cc\u06ba\u060c \u062e\u062f\u0645\u0627\u062a \u0627\u06a9\u062b\u0631 \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u0646\u06cc\u0679 \u0648\u0631\u06a9\u0633 \u067e\u0631 \u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba \u062c\u0648 \u0645\u062d\u0641\u0648\u0638 \u0645\u062d\u0633\u0648\u0633 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0644\u06cc\u06a9\u0646 \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u06d4 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u0646\u06a9\u0634\u0646 \u06a9\u0648 \u062e\u0641\u06cc\u06c1 \u06a9\u0631\u0646\u0627 \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u067e\u0646\u06d2 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u0646\u06a9\u0634\u0646 \u067e\u0631 TLS \u06a9\u0648 \u0627\u0635\u0644 \u0645\u06cc\u06ba \u0646\u0627\u0641\u0630 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0637\u0631\u06cc\u0642\u06c1 \u06cc\u06c1\u0627\u06ba \u06c1\u06d2:<\/p>\n<pre><code class=\"language-dart\">final connection = await Connection.open(\n  Endpoint(\n    host: 'your-db-host.example.com',\n    port: 5432,\n    database: 'your_database',\n    username: dbUser,\n    password: dbPassword,\n  ),\n  settings: ConnectionSettings(\n    sslMode: SslMode.require,\n  ),\n);\n<\/code><\/pre>\n<pre><code class=\"language-csharp\">var connectionString =\n    \"Host=your-db-host.example.com;\" +\n    \"Port=5432;\" +\n    \"Database=your_database;\" +\n    \"Username=db_user;\" +\n    \"Password=db_password;\" +\n    \"SSL Mode=Require;\" +\n    \"Trust Server Certificate=false;\";\n\nawait using var dataSource = NpgsqlDataSource.Create(connectionString);\n<\/code><\/pre>\n<p>\u0645\u0627\u062d\u0648\u0644 <code>SSL Mode=Require<\/code> \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0627\u06af\u0631 \u0622\u067e \u06a9\u0627 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0633\u0631\u0648\u0631 TLS \u06a9\u0648 \u0633\u067e\u0648\u0631\u0679 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062a\u0648 \u06a9\u0646\u06a9\u0634\u0646 \u0645\u06a9\u0645\u0644 \u0637\u0648\u0631 \u067e\u0631 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4 \u06cc\u06c1 \u0635\u062d\u06cc\u062d \u06a9\u0631\u0646\u0633\u06cc \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u0627\u06cc\u0633\u0627 \u06a9\u0646\u06a9\u0634\u0646 \u062c\u0648 TLS \u062f\u0633\u062a\u06cc\u0627\u0628 \u0646\u06c1 \u06c1\u0648\u0646\u06d2 \u067e\u0631 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0633\u0627\u062f\u06c1 \u0645\u062a\u0646 \u067e\u0631 \u0648\u0627\u067e\u0633 \u0622\u062c\u0627\u062a\u0627 \u06c1\u06d2 \u0648\u06c1 \u0628\u0627\u0644\u06a9\u0644 \u0628\u06be\u06cc \u062a\u062d\u0641\u0638 \u0641\u0631\u0627\u06c1\u0645 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-database-credentials-must-live-in-vaults\">\u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u06cc \u0627\u0633\u0646\u0627\u062f \u06a9\u0627 \u0648\u0627\u0644\u0679 \u0645\u06cc\u06ba \u06c1\u0648\u0646\u0627 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2\u06d4<\/h3>\n<p>\u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u06cc \u0627\u0633\u0646\u0627\u062f \u0631\u0646 \u0679\u0627\u0626\u0645 \u06a9\u06d2 \u0648\u0642\u062a \u0633\u06cc\u06a9\u0631\u0679\u0633 \u0645\u06cc\u0646\u06cc\u062c\u0631 \u0633\u06d2 \u062d\u0627\u0635\u0644 \u06a9\u06cc \u062c\u0627\u0646\u06cc \u0686\u0627\u06c1\u0626\u06cc\u06ba\u06d4 \u06cc\u06c1 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba \u0645\u062d\u0641\u0648\u0638 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u060c \u0648\u0631\u0698\u0646 \u06a9\u0646\u0679\u0631\u0648\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u067e\u0627\u0628\u0646\u062f \u06c1\u06d2\u060c \u06cc\u0627 \u06a9\u0646\u06a9\u0634\u0646 \u0633\u0679\u0631\u0646\u06af \u0645\u06cc\u06ba \u06c1\u0627\u0631\u0688 \u06a9\u0648\u0688 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1\u0627\u06ba \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0631\u0646 \u0679\u0627\u0626\u0645 \u0627\u0633\u0646\u0627\u062f \u06a9\u06cc \u0628\u0627\u0632\u06cc\u0627\u0641\u062a \u062f\u0631\u0627\u0635\u0644 \u06a9\u06cc\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u06cc \u06c1\u06d2:<\/p>\n<pre><code class=\"language-dart\">final dbHost = Platform.environment['DB_HOST']!;\nfinal dbUser = Platform.environment['DB_USER']!;\nfinal dbPassword = Platform.environment['DB_PASSWORD']!;\n\nfinal connection = await Connection.open(\n  Endpoint(\n    host: dbHost,\n    database: 'your_database',\n    username: dbUser,\n    password: dbPassword,\n  ),\n  settings: ConnectionSettings(sslMode: SslMode.require),\n);\n<\/code><\/pre>\n<pre><code class=\"language-csharp\">builder.Configuration.AddAzureKeyVault(\n    new Uri(\"https:\/\/your-vault.vault.azure.net\/\"),\n    new DefaultAzureCredential()\n);\n\nvar connectionString = builder.Configuration[\"DatabaseConnectionString\"];\n<\/code><\/pre>\n<p>\u06a9\u0646\u06a9\u0634\u0646 \u067e\u0648\u0644\u0646\u06af \u06a9\u0648 \u0628\u06be\u06cc \u0645\u0646\u0627\u0633\u0628 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u06a9\u0646\u0679\u0631\u0648\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0627\u06cc\u06a9 \u063a\u06cc\u0631 \u0645\u062d\u062f\u0648\u062f \u06a9\u0646\u06a9\u0634\u0646 \u067e\u0648\u0644 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0633\u0631\u0648\u0631 \u06a9\u06d2 \u062f\u0633\u062a\u06cc\u0627\u0628 \u06a9\u0646\u06a9\u0634\u0646\u0632 \u06a9\u0648 \u062e\u062a\u0645 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0633 \u0633\u06d2 \u062a\u0645\u0627\u0645 \u06a9\u0631\u0627\u06cc\u06c1 \u062f\u0627\u0631\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u0646\u062f\u0634 \u06c1\u0648 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4 \u067e\u0648\u0644 \u06a9\u06d2 \u0633\u0627\u0626\u0632 \u06a9\u0648 \u062c\u0627\u0646 \u0628\u0648\u062c\u06be \u06a9\u0631 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-csharp\">var dataSourceBuilder = new NpgsqlDataSourceBuilder(connectionString);\ndataSourceBuilder.ConnectionStringBuilder.MaxPoolSize = 20;\ndataSourceBuilder.ConnectionStringBuilder.MinPoolSize = 5;\ndataSourceBuilder.ConnectionStringBuilder.ConnectionIdleLifetime = 300;\nawait using var dataSource = dataSourceBuilder.Build();\n<\/code><\/pre>\n<h3 id=\"heading-stored-procedures-as-a-parameterization-strategy\">\u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631\u0627\u0626\u0632\u06cc\u0634\u0646 \u06a9\u06cc \u062d\u06a9\u0645\u062a \u0639\u0645\u0644\u06cc \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0630\u062e\u06cc\u0631\u06c1 \u0634\u062f\u06c1 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631<\/h3>\n<p>\u0630\u062e\u06cc\u0631\u06c1 \u0634\u062f\u06c1 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0645\u0631\u062a\u0628 \u0634\u062f\u06c1 \u0627\u06cc\u0633 \u06a9\u06cc\u0648 \u0627\u06cc\u0644 \u0628\u0644\u0627\u06a9\u0633 \u06a9\u06d2 \u0646\u0627\u0645 \u0633\u06d2 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u06c1\u06cc \u0645\u062d\u0641\u0648\u0638 \u06c1\u06cc\u06ba\u06d4 \u067e\u0648\u0631\u06cc \u0627\u06cc\u0633 \u06a9\u06cc\u0648 \u0627\u06cc\u0644 \u0633\u0679\u0631\u0646\u06af \u0628\u06be\u06cc\u062c\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2\u060c \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u06a9\u0648 \u0646\u0627\u0645 \u0633\u06d2 \u06a9\u0627\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631\u0632 \u06a9\u0648 \u0627\u0644\u06af \u0633\u06d2 \u067e\u0627\u0633 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0630\u062e\u06cc\u0631\u06c1 \u0634\u062f\u06c1 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 SQL \u0627\u0646\u062c\u06cc\u06a9\u0634\u0646 \u06a9\u06d2 \u062e\u0644\u0627\u0641 \u0645\u0632\u0627\u062d\u0645 \u06c1\u06cc\u06ba \u06a9\u06cc\u0648\u0646\u06a9\u06c1 SQL \u0688\u06be\u0627\u0646\u0686\u06c1 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0637\u06d2 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631\u0632 \u06a9\u0648 \u06c1\u0645\u06cc\u0634\u06c1 \u0688\u06cc\u0679\u0627 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0633\u0645\u062c\u06be\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 (\u0648\u06c1 \u0627\u0633\u062a\u0641\u0633\u0627\u0631 \u06a9\u06d2 \u0633\u0679\u0631\u0646\u06af \u0633\u06d2 \u0645\u0646\u0633\u0644\u06a9 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba)\u06d4<\/p>\n<pre><code class=\"language-sql\">CREATE OR REPLACE PROCEDURE get_user_by_email(p_email VARCHAR(255))\nLANGUAGE plpgsql\nAS $$\nBEGIN\n    SELECT id, first_name, last_name, email\n    FROM users\n    WHERE email = p_email;\nEND;\n$$;\n<\/code><\/pre>\n<pre><code class=\"language-csharp\">public async Task<user> FindUserByEmail(string email)\n{\n    await using var command = dataSource.CreateCommand(\"get_user_by_email\");\n    command.CommandType = CommandType.StoredProcedure;\n    command.Parameters.AddWithValue(\"p_email\", email);\n\n    await using var reader = await command.ExecuteReaderAsync();\n    if (await reader.ReadAsync())\n    {\n        return new User\n        {\n            Id = reader.GetGuid(0),\n            FirstName = reader.GetString(1),\n            LastName = reader.GetString(2),\n            Email = reader.GetString(3)\n        };\n    }\n    return null;\n}\n<\/user><\/code><\/pre>\n<p>\u062d\u0645\u0644\u06c1 \u0622\u0648\u0631 \u06af\u0632\u0631 \u0631\u06c1\u0627 \u06c1\u06d2\u06d4 <code>' OR '1'='1<\/code> \u0627\u06cc \u0645\u06cc\u0644 \u06a9\u06cc \u0642\u062f\u0631 \u0628\u0627\u0644\u06a9\u0644 \u0627\u0633\u06cc \u0633\u0679\u0631\u0646\u06af \u06a9\u0648 \u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0644\u06cc\u062a\u06cc \u06c1\u06d2\u06d4 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0627\u0633 \u06a9\u06cc \u062a\u0634\u0631\u06cc\u062d SQL \u0646\u062d\u0648 \u0633\u06d2 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u0635\u0631\u0641 \u062a\u062e\u0644\u06cc\u0642 \u06a9\u06d2 \u0648\u0642\u062a \u0637\u06d2 \u0634\u062f\u06c1 \u0633\u0648\u0627\u0644\u0627\u062a \u06a9\u0648 \u0627\u0646\u062c\u0627\u0645 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u0646 \u0648\u062c\u0648\u06c1\u0627\u062a \u0645\u06cc\u06ba \u0633\u06d2 \u0627\u06cc\u06a9 \u06c1\u06d2 \u062c\u0633 \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 \u0630\u062e\u06cc\u0631\u06c1 \u0634\u062f\u06c1 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u0635\u0631\u0641 \u06a9\u0627\u0631\u06a9\u0631\u062f\u06af\u06cc \u06a9\u0648 \u0628\u06c1\u062a\u0631 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0627\u06cc\u06a9 \u062c\u0627\u0626\u0632 \u062d\u0641\u0627\u0638\u062a\u06cc \u0679\u0648\u0644 \u0628\u0646\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-cors-the-boundary-your-api-enforces\">CORS: API \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0646\u0627\u0641\u0630 \u06a9\u0631\u062f\u06c1 \u062d\u062f\u0648\u062f<\/h2>\n<p>\u06a9\u0631\u0627\u0633 \u0627\u0648\u0631\u06cc\u062c\u0646 \u0631\u06cc\u0633\u0648\u0631\u0633 \u0634\u06cc\u0626\u0631\u0646\u06af \u0627\u06cc\u06a9 \u0628\u0631\u0627\u0624\u0632\u0631 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u0645\u06cc\u06a9\u0627\u0646\u0632\u0645 \u06c1\u06d2 \u062c\u0648 \u06cc\u06c1 \u06a9\u0646\u0679\u0631\u0648\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0648\u06cc\u0628 \u0635\u0641\u062d\u06c1 \u06a9\u0648\u0646 \u0633\u06d2 \u0688\u0648\u0645\u06cc\u0646\u0632 API \u06a9\u0648 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u06cc\u06ba \u062f\u06d2 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u067e\u06cc\u062f\u0627\u0648\u0627\u0631 \u0645\u06cc\u06ba \u0633\u0628 \u0633\u06d2 \u0639\u0627\u0645 CORS \u063a\u0644\u0637 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0628\u06be\u06cc \u0633\u0628 \u0633\u06d2 \u062e\u0637\u0631\u0646\u0627\u06a9 \u0648\u0627\u0626\u0644\u0688 \u06a9\u0627\u0631\u0688 CORS \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-plaintext\">Access-Control-Allow-Origin: *\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u062a\u0645\u0627\u0645 \u0628\u0631\u0627\u0624\u0632\u0631\u0632 \u06a9\u0648 \u0628\u062a\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u067e\u0648\u0631\u06d2 \u0627\u0646\u0679\u0631\u0646\u06cc\u0679 \u067e\u0631 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u0648\u06cc\u0628 \u0635\u0641\u062d\u06c1 API \u06a9\u0648 \u062a\u0635\u062f\u06cc\u0642 \u0634\u062f\u06c1 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u06cc\u06ba \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633 \u0635\u0627\u0631\u0641 \u06a9\u06cc \u0627\u0633\u0646\u0627\u062f \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u062c\u0628 \u06a9\u0648\u0626\u06cc \u062d\u0645\u0644\u06c1 \u0622\u0648\u0631 \u0627\u06cc\u06a9 \u0628\u062f\u0646\u06cc\u062a\u06cc \u067e\u0631 \u0645\u0628\u0646\u06cc \u0648\u06cc\u0628 \u0635\u0641\u062d\u06c1 \u06a9\u06cc \u0645\u06cc\u0632\u0628\u0627\u0646\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u06a9\u0648\u0626\u06cc \u0635\u0627\u0631\u0641 \u0627\u0633 \u0648\u06cc\u0628 \u0635\u0641\u062d\u06c1 \u06a9\u0648 \u0648\u0632\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u062d\u0645\u0644\u06c1 \u0622\u0648\u0631 \u06a9\u0627 \u0635\u0641\u062d\u06c1 \u0627\u0633 \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 API \u0633\u06d2 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0648\u0627\u0626\u0644\u0688 \u06a9\u0627\u0631\u0688 CORS \u062a\u0631\u0642\u06cc \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u0622\u0633\u0627\u0646 \u06c1\u06d2\u06d4 \u067e\u06cc\u062f\u0627\u0648\u0627\u0631 \u0645\u06cc\u06ba\u060c \u06cc\u06c1 \u0627\u06cc\u06a9 \u06a9\u0645\u0632\u0648\u0631\u06cc \u06c1\u06d2.<\/p>\n<p>\u062a\u0645\u0627\u0645 \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 APIs \u06a9\u0648 \u0648\u0627\u0636\u062d \u0637\u0648\u0631 \u067e\u0631 \u0627\u062c\u0627\u0632\u062a \u0634\u062f\u06c1 \u0627\u0635\u0644\u06cc\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be CORS \u06a9\u0648 \u06a9\u0646\u0641\u06cc\u06af\u0631 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u06cc\u06c1 \u0648\u0627\u0626\u0644\u0688 \u06a9\u0627\u0631\u0688 \u06a9\u0627 \u0646\u0645\u0648\u0646\u06c1 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0646\u06c1\u06cc\u06ba <code>*.yourapp.com<\/code>. \u0627\u06cc\u06a9 \u0648\u0627\u0636\u062d\u060c \u0634\u0645\u0627\u0631 \u0634\u062f\u06c1 \u0688\u0648\u0645\u06cc\u0646 \u062c\u0648 \u06a9\u0631\u0627\u0633 \u0627\u0648\u0631\u06cc\u062c\u0646 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0648\u06ba \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-plaintext\">Access-Control-Allow-Origin: https:\/\/app.yourproduct.com\nAccess-Control-Allow-Origin: https:\/\/admin.yourproduct.com\n<\/code><\/pre>\n<p>\u0688\u0648\u0645\u06cc\u0646 \u06a9\u06cc \u0645\u0645\u0627\u062b\u0644\u062a \u062f\u0631\u0633\u062a \u06c1\u0648\u0646\u06cc \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0627\u06af\u0631 \u0627\u0635\u0644 \u06c1\u06cc\u0688\u0631 \u0648\u0627\u0636\u062d \u0637\u0648\u0631 \u067e\u0631 \u0627\u062c\u0627\u0632\u062a \u062f\u06cc \u06af\u0626\u06cc \u0627\u0635\u0644 \u0645\u06cc\u06ba \u0633\u06d2 \u06a9\u0633\u06cc \u0627\u06cc\u06a9 \u0633\u06d2 \u0645\u0645\u0627\u062b\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u060c \u062a\u0648 \u0628\u0631\u0627\u0624\u0632\u0631 \u062c\u0648\u0627\u0628 \u06a9\u0648 \u0634\u0627\u0645\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u06d2 \u06af\u0627\u06d4<\/p>\n<p>\u0627\u062c\u0627\u0632\u062a \u0634\u062f\u06c1 \u0637\u0631\u06cc\u0642\u06d2 \u0627\u0648\u0631 \u0627\u062c\u0627\u0632\u062a \u0634\u062f\u06c1 \u06c1\u06cc\u0688\u0631\u0632 \u0628\u06be\u06cc \u0648\u0627\u0636\u062d \u06c1\u0648\u0646\u06d2 \u0686\u0627\u06c1\u0626\u06cc\u06ba\u06d4 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0637\u06d2 \u0634\u062f\u06c1 \u0627\u0646\u06a9\u0627\u0631 \u06a9\u06cc \u062d\u06cc\u062b\u06cc\u062a \u0644\u0627\u06af\u0648 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0648\u0627\u0636\u062d \u0637\u0648\u0631 \u067e\u0631 \u0627\u062c\u0627\u0632\u062a \u0646\u06c1 \u06c1\u0648 \u062a\u0648 \u0627\u0633 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 API \u06af\u06cc\u0679 \u0648\u06d2 \u06cc\u0627 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u06a9\u06cc \u0633\u0637\u062d \u067e\u0631 \u06a9\u06cc\u0627 \u062c\u0627\u0646\u06d2 \u0648\u0627\u0644\u0627 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0641\u06cc\u0635\u0644\u06c1 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0641\u06cc \u0627\u06cc\u0646\u0688 \u067e\u0648\u0627\u0626\u0646\u0679 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u062a\u0645\u0627\u0645 API \u0627\u06cc\u0646\u0688 \u067e\u0648\u0627\u0626\u0646\u0679\u0633 \u067e\u0631 \u06cc\u06a9\u0633\u0627\u06ba \u0637\u0648\u0631 \u067e\u0631 \u0644\u0627\u06af\u0648 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0633\u06d2 \u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u0688\u0648\u06cc\u0644\u067e\u0631\u0632 \u063a\u0644\u0637 \u06a9\u0646\u0641\u06cc\u06af\u0631 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-structured-logging-and-field-level-masking\">\u0633\u0679\u0631\u06a9\u0686\u0631\u0688 \u0644\u0627\u06af\u0646\u06af \u0627\u0648\u0631 \u0641\u06cc\u0644\u0688 \u0644\u06cc\u0648\u0644 \u0645\u0627\u0633\u06a9\u0646\u06af<\/h2>\n<p>\u0644\u0627\u06af\u0646\u06af \u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0633\u0633\u0679\u0645\u0632 \u0645\u06cc\u06ba \u0633\u0628 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0646\u0638\u0631 \u0627\u0646\u062f\u0627\u0632 \u062d\u0641\u0627\u0638\u062a\u06cc \u0633\u0637\u062d\u0648\u06ba \u0645\u06cc\u06ba \u0633\u06d2 \u0627\u06cc\u06a9 \u06c1\u06d2\u06d4 \u0688\u06cc\u0628\u06af\u0646\u06af \u0645\u06cc\u06ba \u0645\u062f\u062f \u06a9\u06d2 \u0644\u06cc\u06d2 \u0688\u06cc\u0648\u0644\u067e\u0631 \u0644\u0627\u06af \u0627\u0633\u0679\u06cc\u0679\u0645\u0646\u0679\u0633 \u0634\u0627\u0645\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0648\u06c1 \u0644\u0627\u06af \u0627\u0633\u0679\u06cc\u0679\u0645\u0646\u0679 \u0644\u0627\u06af\u0646\u06af \u067e\u0644\u06cc\u0679 \u0641\u0627\u0631\u0645 \u067e\u0631 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0648\u06c1 \u0644\u0627\u06af\u0646\u06af \u067e\u0644\u06cc\u0679 \u0641\u0627\u0631\u0645 \u0645\u06c1\u06cc\u0646\u0648\u06ba \u06cc\u0627 \u0633\u0627\u0644\u0648\u06ba \u062a\u06a9 \u0644\u0627\u06af \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u0646 \u0644\u0627\u06af\u0632 \u0645\u06cc\u06ba \u0648\u06c1 \u06a9\u0686\u06be \u0628\u06be\u06cc \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0688\u06cc\u0648\u0644\u067e\u0631\u0632 \u06a9\u0648 \u06a9\u0633\u06cc \u0648\u0627\u0642\u0639\u06d2 \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u0631\u0627\u062a 11 \u0628\u062c\u06d2 \u0688\u06cc\u0628\u06af \u06a9\u0631\u062a\u06d2 \u0648\u0642\u062a \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0641\u06cc\u062f \u0645\u0639\u0644\u0648\u0645 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0646\u062a\u06cc\u062c\u06d2 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631\u060c \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u0644\u0627\u06af \u0645\u06cc\u06ba \u0627\u06a9\u062b\u0631 \u0627\u06cc\u0633\u06cc \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06cc\u06ba \u062c\u0646 \u06a9\u0627 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0645\u062b\u0627\u0644\u0648\u06ba \u0645\u06cc\u06ba \u0645\u06a9\u0645\u0644 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0627\u0648\u0631 \u0631\u0633\u067e\u0627\u0646\u0633 \u0628\u0627\u0688\u06cc\u0632\u060c \u0628\u06cc\u0626\u0631\u0631 \u0679\u0648\u06a9\u0646\u0632 \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u062a\u0648\u062b\u06cc\u0642\u06cc \u06c1\u06cc\u0688\u0631\u060c \u062d\u0633\u0627\u0633 \u0622\u067e\u0631\u06cc\u0634\u0646\u0632 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062c\u0648\u0691\u0627 \u0635\u0627\u0631\u0641 IDs\u060c \u0627\u06a9\u0627\u0624\u0646\u0679 \u0646\u0645\u0628\u0631\u0632\u060c \u0627\u0648\u0631 \u0628\u0639\u0636 \u0627\u0648\u0642\u0627\u062a \u0633\u0627\u062f\u06c1 \u0645\u062a\u0646 \u0645\u06cc\u06ba \u067e\u0627\u0633 \u0648\u0631\u0688\u0632 \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06a9\u0633\u06cc \u0646\u06d2 \u062a\u0648\u062b\u06cc\u0642 \u0686\u0644\u0627\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u062e\u0627\u0645 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06cc \u0628\u0627\u0688\u06cc \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06a9\u06cc \u062a\u06be\u06cc\u06d4<\/p>\n<p>\u0627\u06cc\u06a9 \u0628\u0627\u0631 \u067e\u06be\u0631\u060c \u06cc\u06c1 \u0627\u06cc\u06a9 \u0645\u0641\u0631\u0648\u0636\u06c1 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2. \u06cc\u06c1 \u062d\u0642\u06cc\u0642\u06cc \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u0644\u0627\u06af\u0646\u06af \u067e\u0644\u06cc\u0679 \u0641\u0627\u0631\u0645\u0632 \u0645\u06cc\u06ba \u067e\u0627\u06cc\u0627 \u062c\u0627\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0627\u06cc\u06a9 \u062d\u0642\u06cc\u0642\u06cc \u0646\u0645\u0648\u0646\u06c1 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u06a9\u0646\u0679\u0631\u0648\u0644\u0632 \u0641\u06cc\u0644\u0688 \u0644\u06cc\u0648\u0644 \u0645\u0627\u0633\u06a9\u0646\u06af \u06c1\u06cc\u06ba \u062c\u0648 \u0644\u0627\u06af\u0646\u06af \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u06a9\u06cc \u0633\u0637\u062d \u067e\u0631 \u0644\u0627\u06af\u0648 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0644\u0627\u06af\u0646\u06af \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u062d\u0633\u0627\u0633 \u0641\u06cc\u0644\u0688\u0632 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0627\u0646 \u0641\u06cc\u0644\u0688\u0632 \u06a9\u0648 \u062a\u0645\u0627\u0645 \u0645\u0627\u062d\u0648\u0644 \u0645\u06cc\u06ba \u062a\u0645\u0627\u0645 \u0644\u0627\u06af \u0633\u0679\u06cc\u0679\u0645\u0646\u0679\u0633 \u0645\u06cc\u06ba \u0645\u0627\u0633\u06a9 \u06a9\u0631 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u060c \u0642\u0637\u0639 \u0646\u0638\u0631 \u0627\u0633 \u06a9\u06d2 \u06a9\u06c1 \u0688\u0648\u06cc\u0644\u067e\u0631 \u0644\u0627\u06af \u0633\u0679\u06cc\u0679\u0645\u0646\u0679\u0633 \u0645\u06cc\u06ba \u06a9\u06cc\u0627 \u062f\u0627\u062e\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062d\u0633\u0627\u0633 \u0641\u06cc\u0644\u0688\u0632 \u062c\u0648 \u0644\u0627\u06af\u0632 \u0645\u06cc\u06ba \u06a9\u0628\u06be\u06cc \u0638\u0627\u06c1\u0631 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u0646\u06d2 \u0686\u0627\u06c1\u0626\u06cc\u06ba \u0627\u0646 \u0645\u06cc\u06ba \u067e\u0627\u0633 \u0648\u0631\u0688\u0632\u060c \u0679\u0648\u06a9\u0646\u0632 \u0627\u0648\u0631 \u0627\u062c\u0627\u0632\u062a \u0646\u0627\u0645\u06d2 \u06a9\u06d2 \u06c1\u06cc\u0688\u0631\u060c \u0645\u06a9\u0645\u0644 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0646\u0645\u0628\u0631 \u0627\u0648\u0631 \u06a9\u0627\u0631\u0688 \u0646\u0645\u0628\u0631\u060c BVN \u0627\u0648\u0631 NIN\u060c \u0645\u0644\u06a9 \u06a9\u06d2 \u0634\u0646\u0627\u062e\u062a \u06a9\u0646\u0646\u062f\u06af\u0627\u0646\u060c \u062e\u0641\u06cc\u06c1 \u06a9\u0627\u0631\u06cc \u06a9\u06cc \u06a9\u0644\u06cc\u062f\u06cc\u06ba \u0627\u0648\u0631 \u0631\u0627\u0632 \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u062d\u0633\u0627\u0633 \u0688\u06cc\u0679\u0627 \u067e\u0631 \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0627\u062e\u062a\u062a\u0627\u0645\u06cc \u067e\u0648\u0627\u0626\u0646\u0679\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 \u067e\u0648\u0631\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0627 \u0628\u0627\u0688\u06cc \u0634\u0627\u0645\u0644 \u06c1\u06d2\u06d4<\/p>\n<p>\u0645\u0627\u0633\u06a9\u0646\u06af \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u06a9\u06cc \u0633\u0637\u062d \u067e\u0631 \u06c1\u0648\u0646\u06cc \u0686\u0627\u06c1\u06cc\u06d2\u060c \u0688\u0648\u06cc\u0644\u067e\u0631 \u06a9\u06cc \u0633\u0637\u062d \u067e\u0631 \u0646\u06c1\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0622\u067e \u0644\u0627\u06af \u0627\u0633\u0679\u06cc\u0679\u0645\u0646\u0679\u0633 \u0634\u0627\u0645\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0622\u067e \u06a9\u0648 \u062d\u0633\u0627\u0633 \u0641\u06cc\u0644\u0688\u0632 \u06a9\u0648 \u0645\u0627\u0633\u06a9 \u06a9\u0631\u0646\u0627 \u06cc\u0627\u062f \u0631\u06a9\u06be\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u0627\u0633 \u06a9\u0627 \u062e\u06cc\u0627\u0644 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4 \u0628\u0633 \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0686\u06cc\u0632 \u06a9\u0648 \u0644\u0627\u06af \u0627\u0646 \u06a9\u0631\u06cc\u06ba \u062c\u0648 \u0688\u06cc\u0628\u06af\u0646\u06af \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0641\u06cc\u062f \u06c1\u0648\u06d4 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u0644\u0627\u06af \u0627\u0646\u062f\u0631\u0627\u062c\u0627\u062a \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0633 \u0645\u06cc\u06ba \u062d\u0633\u0627\u0633 \u0641\u06cc\u0644\u0688\u0632 \u06a9\u0648 \u0646\u0642\u0627\u0628 \u0634\u062f\u06c1 \u0627\u0642\u062f\u0627\u0631 \u0633\u06d2 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0639\u0645\u0644\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0641\u06cc\u0644\u0688 \u0644\u06cc\u0648\u0644 \u0645\u0627\u0633\u06a9\u0646\u06af \u06a9\u06cc\u0633\u06cc \u062f\u06a9\u06be\u062a\u06cc \u06c1\u06d2 \u0648\u06c1 \u06cc\u06c1 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-dart\">class SecureLogger {\n  final Logger _logger;\n\n  static const _sensitiveKeys = {\n    'password', 'authorization', 'token',\n    'account_number', 'card_number', 'bvn', 'nin', 'secret', 'api_key',\n  };\n\n  SecureLogger(this._logger);\n\n  void info(String message, {Map<string dynamic=\"\">? data}) {\n    _logger.info(message, _mask(data));\n  }\n\n  void error(String message, {Map<string dynamic=\"\">? data, Object? error}) {\n    _logger.error(message, _mask(data), error);\n  }\n\n  Map<string dynamic=\"\">? _mask(Map<string dynamic=\"\">? data) {\n    if (data == null) return null;\n    return data.map((key, value) {\n      if (_sensitiveKeys.contains(key.toLowerCase())) {\n        return MapEntry(key, '***MASKED***');\n      }\n      if (value is Map<string dynamic=\"\">) return MapEntry(key, _mask(value));\n      return MapEntry(key, value);\n    });\n  }\n}\n\nfinal logger = SecureLogger(Logger('PaymentService'));\n\nlogger.info('Processing payment', data: {\n  'transaction_id': 'txn_001',\n  'amount': 50000,\n  'account_number': '0123456789',\n  'authorization': 'Bearer eyJ...',\n});\n\n\/\/ output:\n\/\/ Processing payment\n\/\/ { transaction_id: txn_001, amount: 50000,\n\/\/   account_number: ***MASKED***, authorization: ***MASKED*** }\n<\/string><\/string><\/string><\/string><\/string><\/code><\/pre>\n<pre><code class=\"language-csharp\">public class MaskSensitiveFieldsPolicy : IDestructuringPolicy\n{\n    private static readonly HashSet<string> SensitiveFields =\n        new(StringComparer.OrdinalIgnoreCase)\n        {\n            \"password\", \"authorization\", \"token\", \"account_number\",\n            \"card_number\", \"bvn\", \"nin\", \"secret\", \"api_key\"\n        };\n\n    public bool TryDestructure(\n        object value,\n        ILogEventPropertyValueFactory factory,\n        out LogEventPropertyValue result)\n    {\n        if (value is not IDictionary<string object=\"\"> dict)\n        {\n            result = null!;\n            return false;\n        }\n\n        var properties = dict.Select(kvp => new LogEventProperty(\n            kvp.Key,\n            SensitiveFields.Contains(kvp.Key)\n                ? factory.CreatePropertyValue(\"***MASKED***\")\n                : factory.CreatePropertyValue(kvp.Value, true)));\n\n        result = new StructureValue(properties);\n        return true;\n    }\n}\n\nLog.Logger = new LoggerConfiguration()\n    .Destructure.With<masksensitivefieldspolicy>()\n    .WriteTo.Console()\n    .CreateLogger();\n<\/masksensitivefieldspolicy><\/string><\/string><\/code><\/pre>\n<p>\u06cc\u06c1 \u062a\u0645\u0627\u0645 \u0645\u0627\u062d\u0648\u0644 \u067e\u0631 \u0644\u0627\u06af\u0648 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u0628\u063a\u06cc\u0631 \u06a9\u0633\u06cc \u0627\u0633\u062a\u062b\u0646\u0627\u0621 \u06a9\u06d2\u060c \u0646\u06c1 \u0635\u0631\u0641 \u067e\u06cc\u062f\u0627\u0648\u0627\u0631 \u067e\u0631\u06d4 \u0688\u0648\u06cc\u0644\u067e\u0645\u0646\u0679 \u0644\u0627\u06af\u0632 \u0627\u06a9\u062b\u0631 \u062a\u06be\u0631\u0688 \u067e\u0627\u0631\u0679\u06cc \u0644\u0627\u06af\u0646\u06af \u067e\u0644\u06cc\u0679 \u0641\u0627\u0631\u0645 \u067e\u0631 \u0627\u06cc\u06a9\u0633\u067e\u0648\u0631\u0679 \u06a9\u06cc\u06d2 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0627\u06a9\u062b\u0631 \u0679\u06cc\u0645 \u06a9\u06d2 \u0645\u062a\u0639\u062f\u062f \u0645\u0645\u0628\u0631\u0627\u0646 \u062a\u0644\u0627\u0634 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0688\u0648\u06cc\u0644\u067e\u0631\u0632 \u0688\u0648\u06cc\u0644\u067e\u0645\u0646\u0679 \u0627\u0648\u0631 \u0644\u0627\u06af\u0646\u06af \u0631\u06cc\u06a9\u0648\u0633\u0679 \u0628\u0627\u0688\u06cc\u0632 \u06a9\u06d2 \u062a\u062d\u062a \u0627\u0635\u0644\u06cc \u0627\u06a9\u0627\u0624\u0646\u0679\u0633 \u06a9\u06d2 \u062e\u0644\u0627\u0641 \u062c\u0627\u0646\u0686 \u06a9\u0631 \u0631\u06c1\u06d2 \u062a\u06be\u06d2 \u062d\u0642\u06cc\u0642\u06cc \u0635\u0627\u0631\u0641 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u0644\u0627\u06af\u0646\u06af \u067e\u0644\u06cc\u0679 \u0641\u0627\u0631\u0645 \u0645\u06cc\u06ba \u0688\u0627\u0644 \u0631\u06c1\u06d2 \u062a\u06be\u06d2 \u062c\u06c1\u0627\u06ba \u0627\u0633 \u06a9\u0627 \u062a\u0639\u0644\u0642 \u0646\u06c1\u06cc\u06ba \u062a\u06be\u0627\u06d4<\/p>\n<h2 id=\"heading-cicd-security-gates\">CI\/CD \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u06af\u06cc\u0679<\/h2>\n<p>\u0622\u067e \u06a9\u06d2 \u06a9\u0648\u0688 \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u062a\u06a9 \u067e\u06c1\u0646\u0686\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 CI\/CD \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u0622\u062e\u0631\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 \u06af\u06cc\u0679 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u062a\u0646\u0638\u06cc\u0645\u0648\u06ba \u0645\u06cc\u06ba \u0645\u0633\u062a\u0642\u0644 \u0637\u0648\u0631 \u067e\u0631 \u0632\u06cc\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u06a9\u0646\u0679\u0631\u0648\u0644\u0632 \u0645\u06cc\u06ba \u0633\u06d2 \u0627\u06cc\u06a9 \u06c1\u06d2\u06d4<\/p>\n<p>\u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646\u0632 \u0679\u06cc\u0633\u0679 \u0686\u0644\u0627\u062a\u06cc \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0641\u0627\u0631\u0645\u06cc\u0679\u0633 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u06af\u06cc\u0679 \u0627\u06cc\u06a9 \u0627\u0636\u0627\u0641\u06cc \u0686\u06cc\u06a9 \u06c1\u06d2 \u062c\u0648 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u0633\u06d2 \u0645\u062a\u0639\u0644\u0642 \u0645\u0633\u0627\u0626\u0644 \u06a9\u0648 \u0628\u06d2 \u0646\u0642\u0627\u0628 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0627\u0646\u0633\u0627\u0646\u0648\u06ba \u06a9\u06d2 \u06a9\u0648\u0688 \u06a9\u0627 \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u0646\u06d2 \u067e\u0631 \u0645\u0633\u062a\u0642\u0644 \u0637\u0648\u0631 \u067e\u0631 \u0686\u06be\u0648\u0679 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-secret-detection\">\u062e\u0641\u06cc\u06c1 \u067e\u062a\u06c1 \u0644\u06af\u0627\u0646\u0627<\/h3>\n<p>\u062c\u0628 \u0628\u06be\u06cc \u0622\u067e \u06c1\u0631 \u0628\u0631\u0627\u0646\u0686 \u06a9\u0648 \u062f\u06be\u06a9\u06cc\u0644\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0648 \u0622\u067e \u06a9\u0648 \u0631\u0627\u0632 \u06a9\u0648 \u0628\u0627\u0632\u06cc\u0627\u0641\u062a \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 API \u06a9\u0644\u06cc\u062f\u060c \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u067e\u0627\u0633 \u0648\u0631\u0688\u060c \u0646\u062c\u06cc \u06a9\u0644\u06cc\u062f\u060c \u0627\u06cc\u0645\u0628\u06cc\u0688\u0688 \u0627\u0633\u0646\u0627\u062f \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06a9\u0646\u06a9\u0634\u0646 \u0633\u0679\u0631\u0646\u06af\u060c \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba JWT \u0631\u0627\u0632\u06d4<\/p>\n<p><strong>\u06af\u0679\u0644\u06cc\u06a9\u0633<\/strong> \u06cc\u06c1 \u0627\u06cc\u06a9 \u0645\u0641\u062a \u0627\u0648\u0631 \u0627\u0648\u067e\u0646 \u0633\u0648\u0631\u0633 \u0679\u0648\u0644 \u06c1\u06d2 \u062c\u0633\u06d2 \u062e\u0627\u0635 \u0637\u0648\u0631 \u067e\u0631 \u0627\u0633 \u0645\u0642\u0635\u062f \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u0646\u0627\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 \u0627\u0633\u06d2 \u0627\u067e\u0646\u06cc GitHub \u0627\u06cc\u06a9\u0634\u0646 \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u0645\u06cc\u06ba \u0636\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0637\u0631\u06cc\u0642\u06c1 \u06cc\u06c1\u0627\u06ba \u06c1\u06d2:<\/p>\n<pre><code class=\"language-yaml\"># .github\/workflows\/security.yml\nname: Security Gates\n\non:\n  push:\n    branches: [\"*\"]\n  pull_request:\n    branches: [\"*\"]\n\njobs:\n  secret-detection:\n    name: Scan for secrets\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\/checkout@v3\n        with:\n          fetch-depth: 0\n\n      - uses: gitleaks\/gitleaks-action@v2\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n<\/code><\/pre>\n<p>\u0627\u06af\u0631 Gitleaks \u06a9\u0648 \u0631\u0627\u0632 \u0645\u0644 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u060c \u062f\u0631\u0633\u062a \u0641\u0627\u0626\u0644 \u0627\u0648\u0631 \u0644\u0627\u0626\u0646 \u0646\u0645\u0628\u0631 \u06a9\u0648 \u0622\u0624\u0679 \u067e\u0679 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0627\u0646\u0636\u0645\u0627\u0645 \u06a9\u0648 \u0631\u0648\u06a9 \u062f\u06cc\u062a\u06cc \u06c1\u06d2\u06d4 \u0622\u067e \u06a9\u0648 \u0631\u0627\u0632\u0648\u06ba \u06a9\u0648 \u06c1\u0679\u0627\u0646\u06d2\u060c \u0627\u0633\u0646\u0627\u062f \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 (\u0686\u0648\u0646\u06a9\u06c1 \u0648\u06c1 \u0648\u0631\u0698\u0646 \u06a9\u0646\u0679\u0631\u0648\u0644 \u06a9\u0648 \u0645\u062a\u0627\u062b\u0631 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0633\u0645\u062c\u06be\u0648\u062a\u06c1 \u06a9\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u0626\u06d2)\u060c \u0627\u0648\u0631 \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u06af\u0632\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u06cc\u06a9 \u0635\u0627\u0641 \u0639\u06c1\u062f \u06a9\u0648 \u0622\u06af\u06d2 \u0628\u0691\u06be\u0627\u0646\u0627 \u06c1\u0648\u06af\u0627\u06d4<\/p>\n<p>\u0627\u0633\u06a9\u06cc\u0646 \u06a9\u0648 \u0622\u067e \u06a9\u06cc \u067e\u0648\u0631\u06cc \u06af\u0679 \u06c1\u0633\u0679\u0631\u06cc \u067e\u0631 \u0686\u0644\u0627\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u0626\u06d2\u060c \u0646\u06c1 \u06a9\u06c1 \u0635\u0631\u0641 \u062a\u0627\u0632\u06c1 \u062a\u0631\u06cc\u0646 \u06a9\u0645\u0679 \u067e\u0631\u06d4 \u0631\u0627\u0632 \u062c\u0648 \u062a\u06cc\u0646 \u06a9\u0645\u0679 \u067e\u06c1\u0644\u06d2 \u062c\u0648\u0691\u06d2 \u06af\u0626\u06d2 \u0627\u0648\u0631 \u0627\u06af\u0644\u06cc \u06a9\u0645\u0679 \u0645\u06cc\u06ba \u06c1\u0679\u0627\u0626\u06d2 \u06af\u0626\u06d2 \u0648\u06c1 \u0627\u0628 \u0628\u06be\u06cc \u0631\u06cc\u067e\u0648\u0632\u0679\u0631\u06cc \u06c1\u0633\u0679\u0631\u06cc \u0645\u06cc\u06ba \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0646 \u06a9\u0648 \u06a9\u0631\u067e\u0679 \u0633\u0645\u062c\u06be\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<p>\u0645\u0632\u06cc\u062f \u0628\u0631\u0622\u06ba\u060c \u0622\u067e \u06a9\u06cc \u062a\u0646\u0638\u06cc\u0645 \u06a9\u06d2 \u067e\u0627\u0633 \u0627\u06cc\u06a9 \u0645\u062a\u0639\u06cc\u0646 \u062c\u0648\u0627\u0628\u06cc \u0639\u0645\u0644 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u060c \u0628\u0634\u0645\u0648\u0644 \u0631\u0627\u0632\u0648\u06ba \u06a9\u0627 \u067e\u062a\u06c1 \u0686\u0644\u0646\u06d2 \u067e\u0631 \u06a9\u0633 \u06a9\u0648 \u0645\u0637\u0644\u0639 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u060c \u06a9\u0648\u0646 \u0633\u06d2 \u0627\u0633\u0646\u0627\u062f \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u060c \u0627\u0648\u0631 \u06a9\u062a\u0646\u06cc \u062f\u06cc\u0631 \u062a\u06a9\u06d4 \u062c\u0648\u0627\u0628 \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u067e\u062a\u06c1 \u0644\u06af\u0627\u0646\u0627 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u06a9\u0646\u0679\u0631\u0648\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-static-analysis-for-security\">\u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u06a9\u06d2 \u0644\u06cc\u06d2 \u062c\u0627\u0645\u062f \u062a\u062c\u0632\u06cc\u06c1<\/h3>\n<p>\u062c\u0627\u0645\u062f \u062a\u062c\u0632\u06cc\u06c1 \u06a9\u06d2 \u0679\u0648\u0644\u0632 \u06a9\u0648\u0688 \u067e\u0631 \u0639\u0645\u0644 \u06a9\u06cc\u06d2 \u0628\u063a\u06cc\u0631 \u06a9\u0645\u0632\u0648\u0631\u06cc \u06a9\u06d2 \u0646\u0645\u0648\u0646\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0648\u0688 \u06a9\u0627 \u062a\u062c\u0632\u06cc\u06c1 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u062e\u0627\u0645 \u0627\u06cc\u0633 \u06a9\u06cc\u0648 \u0627\u06cc\u0644 \u0633\u0679\u0631\u0646\u06af \u06a9\u0646\u06a9\u0679\u0646\u06cc\u0634\u0646\u060c \u063a\u06cc\u0631 \u0645\u062d\u0641\u0648\u0638 \u0688\u06cc \u0633\u06cc\u0631\u06cc\u0644\u0627\u0626\u0632\u06cc\u0634\u0646\u060c \u06c1\u0627\u0631\u0688 \u06a9\u0648\u0688 \u0634\u062f\u06c1 \u0627\u0633\u0646\u0627\u062f\u060c \u0641\u0631\u0633\u0648\u062f\u06c1 \u06a9\u0631\u067e\u0679\u0648\u06af\u0631\u0627\u0641\u06a9 \u0641\u0646\u06a9\u0634\u0646\u0632\u060c \u06af\u0645\u0634\u062f\u06c1 \u0627\u0646 \u067e\u0679 \u062a\u0648\u062b\u06cc\u0642\u060c \u0627\u0648\u0631 \u062e\u0637\u0631\u0646\u0627\u06a9 \u0641\u0646\u06a9\u0634\u0646 \u06a9\u0627\u0644\u0632 \u06a9\u0648 \u067e\u06a9\u0691\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p><strong>\u0634\u06cc\u0645\u06af\u0631\u06cc\u0628<\/strong> \u0627\u06cc\u06a9 \u0645\u0641\u062a \u0627\u0648\u0631 \u0627\u0648\u067e\u0646 \u0633\u0648\u0631\u0633 \u062c\u0627\u0645\u062f \u062a\u062c\u0632\u06cc\u06c1 \u0679\u0648\u0644 \u062c\u0633 \u0645\u06cc\u06ba \u0633\u06cc\u06a9\u0648\u0631\u0679\u06cc \u06a9\u0645\u06cc\u0648\u0646\u0679\u06cc \u06a9\u06d2 \u0632\u06cc\u0631 \u0627\u0646\u062a\u0638\u0627\u0645 \u0633\u06cc\u06a9\u0648\u0631\u0679\u06cc \u0642\u0648\u0627\u0646\u06cc\u0646 \u06a9\u06cc \u0627\u06cc\u06a9 \u0628\u0691\u06cc \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u06c1\u06d2\u06d4 \u0627\u0633\u06d2 \u0627\u067e\u0646\u06cc \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u067e\u0631 \u0644\u0627\u06af\u0648 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0637\u0631\u06cc\u0642\u06c1 \u06cc\u06c1\u0627\u06ba \u06c1\u06d2:<\/p>\n<pre><code class=\"language-yaml\">  static-analysis:\n    name: Static analysis\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\/checkout@v3\n\n      - uses: semgrep\/semgrep-action@v1\n        with:\n          config: >-\n            p\/owasp-top-ten\n            p\/secrets\n            p\/sql-injection\n        env:\n          SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }}\n<\/code><\/pre>\n<p>\u06a9\u06c1 <code>p\/owasp-top-ten<\/code> \u0642\u0627\u0639\u062f\u06c1 \u0633\u06cc\u0679 OWASP \u0679\u0627\u067e 10 \u06a9\u0645\u0632\u0648\u0631\u06cc\u0648\u06ba \u0633\u06d2 \u0645\u0637\u0627\u0628\u0642\u062a \u0631\u06a9\u06be\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0646\u0645\u0648\u0646\u0648\u06ba \u06a9\u0648 \u062d\u0627\u0635\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u06c1 <code>p\/sql-injection<\/code> \u0642\u0627\u0639\u062f\u06c1 \u0633\u06cc\u0679 \u062e\u0627\u0635 \u0637\u0648\u0631 \u067e\u0631 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u06d2 \u0633\u0648\u0627\u0644\u0627\u062a \u0645\u06cc\u06ba \u0633\u0679\u0631\u0646\u06af \u06a9\u0646\u06a9\u0679\u0646\u06cc\u0634\u0646 \u06a9\u0648 \u062c\u06be\u0646\u0688\u0627 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u062c\u0628 \u0633\u06cc\u0645\u06af\u0631\u06cc\u067e \u06a9\u0648 \u06a9\u0648\u0626\u06cc \u0645\u0645\u0627\u062b\u0644\u062a \u0645\u0644\u062a\u06cc \u06c1\u06d2\u060c \u062a\u0648 \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u062f\u0631\u0633\u062a \u0641\u0627\u0626\u0644\u060c \u0644\u0627\u0626\u0646 \u0627\u0648\u0631 \u0627\u0635\u0648\u0644 \u06a9\u06cc \u0646\u0634\u0627\u0646\u062f\u06c1\u06cc \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u062c\u0633 \u0646\u06d2 \u0627\u0633\u06d2 \u0645\u062a\u062d\u0631\u06a9 \u06a9\u06cc\u0627\u06d4 \u0645\u0633\u0626\u0644\u06c1 \u062d\u0644 \u06c1\u0648\u0646\u06d2 \u062a\u06a9 \u06a9\u0648\u0688 \u06a9\u0648 \u0636\u0645 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627\u06d4<\/p>\n<p>.NET \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 <strong>\u0645\u0627\u0626\u06cc\u06a9\u0631\u0648\u0633\u0627\u0641\u0679 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u06a9\u0648\u0688 \u062a\u062c\u0632\u06cc\u06c1<\/strong> \u0627\u0648\u0631 <strong>\u0631\u0648\u0632\u0644\u0646 \u062a\u062c\u0632\u06cc\u06c1 \u06a9\u0627\u0631<\/strong> \u06cc\u06c1 \u0627\u0633\u06cc \u0637\u0631\u062d \u06a9\u06cc \u0641\u0639\u0627\u0644\u06cc\u062a \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u062a\u0639\u0645\u06cc\u0631\u0627\u062a\u06cc \u0639\u0645\u0644 \u0645\u06cc\u06ba \u0636\u0645 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0642\u0648\u0627\u0639\u062f \u062c\u0627\u0646 \u0628\u0648\u062c\u06be \u06a9\u0631 \u0628\u0646\u0627\u0626\u06d2 \u062c\u0627\u0626\u06cc\u06ba\u06d4 \u062a\u0645\u0627\u0645 \u0627\u0646\u062a\u0628\u0627\u06c1\u0627\u062a \u062d\u0642\u06cc\u0642\u06cc \u06a9\u0645\u0632\u0648\u0631\u06cc\u0648\u06ba \u06a9\u06cc \u0646\u0634\u0627\u0646\u062f\u06c1\u06cc \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0679\u06cc\u0645 \u0627\u0633 \u0628\u0627\u062a \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u06a9\u06c1 \u06a9\u0648\u0646 \u0633\u06d2 \u0642\u0648\u0627\u0639\u062f \u06a9\u0648 \u0645\u0633\u062f\u0648\u062f \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u060c \u06a9\u0648\u0646 \u0633\u06d2 \u0627\u0635\u0648\u0644\u0648\u06ba \u06a9\u06cc \u0633\u0641\u0627\u0631\u0634 \u06a9\u06cc \u06af\u0626\u06cc \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06a9\u0648\u0646 \u0633\u06d2 \u0642\u0648\u0627\u0639\u062f \u06a9\u0648 \u062f\u0628\u0627\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u062a\u0631\u062a\u06cc\u0628 \u062e\u0648\u062f \u0627\u06cc\u06a9 \u062d\u0641\u0627\u0638\u062a\u06cc \u0641\u06cc\u0635\u0644\u06c1 \u06c1\u06d2 \u062c\u0633 \u06a9\u0627 \u0628\u0627\u0642\u0627\u0639\u062f\u06af\u06cc \u0633\u06d2 \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<h3 id=\"heading-dependency-vulnerability-scanning\">\u0627\u0646\u062d\u0635\u0627\u0631 \u06a9\u0645\u0632\u0648\u0631\u06cc \u0627\u0633\u06a9\u06cc\u0646<\/h3>\n<p>\u0622\u067e \u06a9\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0645\u06cc\u06ba \u06c1\u0631 \u0627\u0646\u062d\u0635\u0627\u0631 \u0645\u0645\u06a9\u0646\u06c1 \u062d\u0645\u0644\u06d2 \u06a9\u06cc \u0633\u0637\u062d \u06c1\u06d2\u06d4 <strong>OWASP \u0627\u0646\u062d\u0635\u0627\u0631 \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba\u06d4<\/strong> \u0627\u06cc\u06a9 \u0645\u0641\u062a \u0679\u0648\u0644 \u062c\u0648 \u0622\u067e \u06a9\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u06cc \u0646\u06cc\u0634\u0646\u0644 \u0648\u06cc\u0644\u0646\u0631\u06cc\u0628\u0644\u0679\u06cc \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 (NVD) \u067e\u0631 \u0627\u0646\u062d\u0635\u0627\u0631 \u06a9\u0648 \u0686\u06cc\u06a9 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0645\u0639\u0631\u0648\u0641 CVEs \u06a9\u0648 \u062c\u06be\u0646\u0688\u0627 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-yaml\">  dependency-scan:\n    name: Dependency vulnerability scan\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\/checkout@v3\n\n      - uses: dependency-check\/Dependency-Check_Action@main\n        with:\n          project: \"your-project-name\"\n          path: \".\"\n          format: \"HTML\"\n          args: >\n            --failOnCVSS 7\n            --enableRetired\n\n      - uses: actions\/upload-artifact@v3\n        if: always()\n        with:\n          name: dependency-check-report\n          path: reports\/\n<\/code><\/pre>\n<p>\u06a9\u06c1 <code>--failOnCVSS 7<\/code> \u062c\u06be\u0646\u0688\u06d2 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u06cc \u0627\u06af\u0631 \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0627\u0646\u062d\u0635\u0627\u0631 \u06a9\u0648 7 \u06cc\u0627 \u0627\u0633 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u06a9\u06d2 CVSS \u0633\u06a9\u0648\u0631 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06a9\u0645\u0632\u0648\u0631\u06cc\u0627\u06ba \u0645\u0639\u0644\u0648\u0645 \u06c1\u0648\u06ba\u06d4 \u06a9\u0627\u0645\u0646 \u0648\u0644\u0646\u0631\u06cc\u0628\u0644\u0679\u06cc \u0627\u0633\u06a9\u0648\u0631\u0646\u06af \u0633\u0633\u0679\u0645 (CVSS) \u06a9\u0627 \u0627\u0633\u06a9\u0648\u0631 0 \u0633\u06d2 10 \u062a\u06a9 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 7 \u06cc\u0627 \u0627\u0633 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u06a9\u06d2 \u0627\u0633\u06a9\u0648\u0631 \u06a9\u0648 \u0632\u06cc\u0627\u062f\u06c1 \u0634\u062f\u062a \u0633\u0645\u062c\u06be\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0622\u067e \u0627\u067e\u0646\u06cc \u062e\u0637\u0631\u06d2 \u06a9\u06cc \u0631\u0648\u0627\u062f\u0627\u0631\u06cc \u06a9\u06cc \u0628\u0646\u06cc\u0627\u062f \u067e\u0631 \u0627\u0633 \u062d\u062f \u06a9\u0648 \u0627\u06cc\u0688\u062c\u0633\u0679 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>Node.js \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c <code>npm audit<\/code> \u06cc\u06c1 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0627\u0633\u06cc \u0637\u0631\u062d \u06a9\u06cc \u0641\u0639\u0627\u0644\u06cc\u062a \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0688\u0627\u0631\u0679 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c <code>dart pub deps<\/code> \u06a9\u0645\u0632\u0648\u0631\u06cc \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0627\u0633\u06a9\u06cc\u0646\u0646\u06af \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0645\u0644 \u06a9\u0631\u060c \u06cc\u06c1 \u0627\u0646\u062d\u0635\u0627\u0631 \u06a9\u06cc \u0633\u0637\u062d\u0648\u06ba \u06a9\u0627 \u0627\u062d\u0627\u0637\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-environment-specific-configuration-validation\">\u0645\u0627\u062d\u0648\u0644 \u06a9\u06cc \u0637\u0631\u0641 \u0633\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642<\/h3>\n<p>\u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u0645\u06cc\u06ba \u062a\u0639\u06cc\u0646\u0627\u062a \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u0622\u067e \u06a9\u06cc \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u06a9\u0648 \u0627\u0633 \u0628\u0627\u062a \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u0646\u06cc \u0686\u0627\u06c1\u06cc\u06d2 \u06a9\u06c1 \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0645\u0637\u0644\u0648\u0628\u06c1 \u062d\u0641\u0627\u0638\u062a\u06cc \u0645\u0639\u06cc\u0627\u0631\u0627\u062a \u067e\u0631 \u067e\u0648\u0631\u0627 \u0627\u062a\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0635\u0631\u0641 \u0627\u0633 \u0628\u0627\u062a \u06a9\u06cc \u062c\u0627\u0646\u0686 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0622\u06cc\u0627 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0641\u0627\u0626\u0644 \u0645\u0648\u062c\u0648\u062f \u06c1\u06d2\u06d4 \u06c1\u0645 \u0641\u0639\u0627\u0644 \u0637\u0648\u0631 \u067e\u0631 \u0628\u0639\u0636 \u062d\u0641\u0627\u0638\u062a\u06cc \u0627\u06c1\u0645 \u062a\u0631\u062a\u06cc\u0628\u0627\u062a \u06a9\u06cc \u062f\u0631\u0633\u062a\u06af\u06cc \u067e\u0631 \u0632\u0648\u0631 \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u06a9\u06d2 \u0645\u0631\u0627\u062d\u0644 \u0645\u06cc\u06ba \u062a\u0648\u062b\u06cc\u0642 \u062f\u0631\u062c \u0630\u06cc\u0644 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-yaml\">  config-validation:\n    name: Validate production configuration\n    runs-on: ubuntu-latest\n    environment: production\n    steps:\n      - uses: actions\/checkout@v3\n\n      - name: Validate security configuration\n        run: |\n          if grep -r \"debugEndpoint\\|swagger-ui\\|\/debug\" src\/ --include=\"*.dart\" --include=\"*.cs\"; then\n            echo \"ERROR: Debug endpoints found in production build\"\n            exit 1\n          fi\n\n          if grep -r \"AllowAnyOrigin\\|\\*\" config\/ --include=\"*.yaml\" --include=\"*.json\"; then\n            echo \"ERROR: Wildcard CORS configuration detected\"\n            exit 1\n          fi\n\n          if grep -rE \"(password|secret|key)\\s*=\\s*['\\\"][^$\\{]\" config\/ --include=\"*.yaml\" --include=\"*.json\"; then\n            echo \"ERROR: Hardcoded credentials detected in configuration\"\n            exit 1\n          fi\n\n          if grep -r \"showStackTrace.*true\\|expose_errors.*true\" config\/ --include=\"*.yaml\"; then\n            echo \"ERROR: Stack trace exposure enabled in production config\"\n            exit 1\n          fi\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0627\u0633\u06a9\u0631\u067e\u0679 \u06c1\u0631 \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u062a\u0639\u06cc\u0646\u0627\u062a\u06cc \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0686\u0644\u062a\u0627 \u06c1\u06d2\u06d4 \u0688\u06cc\u0628\u06af \u0627\u06cc\u0646\u0688 \u067e\u0648\u0627\u0626\u0646\u0679\u0633\u060c \u0648\u0627\u0626\u0644\u0688 \u06a9\u0627\u0631\u0688 CORS\u060c \u06c1\u0627\u0631\u0688 \u06a9\u0648\u0688 \u0634\u062f\u06c1 \u0627\u0633\u0646\u0627\u062f\u060c \u0627\u0648\u0631 \u0627\u0633\u0679\u06cc\u06a9 \u0679\u0631\u06cc\u0633 \u0627\u06cc\u06a9\u0633\u067e\u0648\u0698\u0631 \u0633\u0628\u06be\u06cc \u0628\u0644\u0627\u06a9 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0646\u0627\u06a9\u0627\u0645\u06cc\u0627\u06ba \u06c1\u06cc\u06ba\u06d4 \u062a\u0639\u06cc\u0646\u0627\u062a\u06cc \u0627\u0633 \u0648\u0642\u062a \u062a\u06a9 \u062c\u0627\u0631\u06cc \u0646\u06c1\u06cc\u06ba \u0631\u06c1 \u0633\u06a9\u062a\u06cc \u062c\u0628 \u062a\u06a9 \u06a9\u06c1 \u062a\u0645\u0627\u0645 \u0686\u06cc\u06a9 \u067e\u0627\u0633 \u0646\u06c1 \u06c1\u0648\u06ba\u06d4<\/p>\n<h3 id=\"heading-different-workflows-for-different-environments\">\u0645\u062e\u062a\u0644\u0641 \u0645\u0627\u062d\u0648\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u062e\u062a\u0644\u0641 \u0648\u0631\u06a9 \u0641\u0644\u0648<\/h3>\n<p>\u062a\u0631\u0642\u06cc\u060c \u0627\u0633\u0679\u06cc\u062c\u0646\u06af\u060c \u0627\u0648\u0631 \u067e\u06cc\u062f\u0627\u0648\u0627\u0631 \u0645\u06cc\u06ba \u0645\u062e\u062a\u0644\u0641 \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u0648\u0631\u06a9 \u0641\u0644\u0648 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0646\u06c1 \u0635\u0631\u0641 \u062a\u0639\u06cc\u0646\u0627\u062a\u06cc \u06a9\u06d2 \u0627\u06c1\u062f\u0627\u0641 \u0645\u062e\u062a\u0644\u0641 \u06c1\u06cc\u06ba \u0628\u0644\u06a9\u06c1 \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06d2 \u062a\u0642\u0627\u0636\u06d2 \u0628\u06be\u06cc \u0645\u062e\u062a\u0644\u0641 \u06c1\u06cc\u06ba\u06d4 \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u0627\u0633\u0679\u06cc\u062c\u0646\u06af \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0633\u062e\u062a \u06c1\u06d2\u06d4 \u0633\u0679\u06cc\u062c\u0646\u06af \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u062a\u0631\u0642\u06cc\u0627\u062a\u06cc \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0633\u062e\u062a \u06c1\u06d2\u06d4<\/p>\n<p>\u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u0645\u06cc\u06ba \u0633\u06cc\u06a9\u0648\u0631\u0679\u06cc \u06af\u06cc\u0679\u0633 \u06a9\u0627 \u0645\u06a9\u0645\u0644 \u0633\u06cc\u0679 \u0634\u0627\u0645\u0644 \u06c1\u06d2\u06d4 \u0688\u0648\u06cc\u0644\u067e\u0631 \u06a9\u06cc \u0631\u0641\u062a\u0627\u0631 \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0688\u0648\u06cc\u0644\u067e\u0645\u0646\u0679 \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u0637\u0648\u06cc\u0644 \u0639\u0631\u0635\u06d2 \u0633\u06d2 \u0686\u0644\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06a9\u0686\u06be \u06af\u06cc\u0679\u0633 \u06a9\u0648 \u0686\u06be\u0648\u0691 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4 \u062a\u0627\u06c1\u0645\u060c \u06c1\u0645 \u0627\u0633\u06d2 \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u0645\u06cc\u06ba \u06a9\u0628\u06be\u06cc \u0646\u06c1\u06cc\u06ba \u0686\u06be\u0648\u0691\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0633 \u067e\u0631\u062a\u0648\u06ba \u0648\u0627\u0644\u06d2 \u0627\u067e\u0631\u0648\u0686 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0622\u067e \u06a9\u0627 \u06a9\u0648\u0688 \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u06a9\u06d2 \u0642\u0631\u06cc\u0628 \u067e\u06c1\u0646\u0686\u062a\u06d2 \u06c1\u06cc \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u06a9\u06cc \u0633\u062e\u062a \u062a\u0648\u062b\u06cc\u0642 \u0633\u06d2 \u06af\u0632\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u062c\u0628 \u062a\u06a9 \u0622\u067e \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u0688\u06cc\u067e\u0644\u0627\u0626\u0645\u0646\u0679 \u06af\u06cc\u0679 \u067e\u0631 \u067e\u06c1\u0646\u0686\u06cc\u06ba \u06af\u06d2\u060c \u0622\u067e \u06a9\u0627 \u0646\u06cc\u0686\u06d2 \u06a9\u0627 \u0645\u0627\u062d\u0648\u0644 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u06a9\u06cc \u062a\u0648\u062b\u06cc\u0642 \u06a9\u06cc \u0645\u062a\u0639\u062f\u062f \u067e\u0631\u062a\u0648\u06ba \u0633\u06d2 \u06af\u0632\u0631 \u0686\u06a9\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-microservices-and-internal-service-security\">\u0645\u0627\u0626\u06cc\u06a9\u0631\u0648 \u0633\u0631\u0648\u0633 \u0627\u0648\u0631 \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u0633\u0631\u0648\u0633 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc<\/h2>\n<p>\u0645\u0627\u0626\u06cc\u06a9\u0631\u0648 \u0633\u0631\u0648\u0633\u0632 \u06a9\u06cc \u062a\u0639\u0645\u06cc\u0631 \u0633\u06cc\u06a9\u0648\u0631\u0679\u06cc \u06a9\u06d2 \u062e\u062f\u0634\u0627\u062a \u06a9\u0648 \u0645\u062a\u0639\u0627\u0631\u0641 \u06a9\u0631\u0627\u062a\u06cc \u06c1\u06d2 \u062c\u0648 \u06cc\u06a9 \u0633\u0646\u06af\u06cc \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631\u0627\u062a \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u0627\u0646\u0679\u0631 \u0633\u0631\u0648\u0633 \u0645\u0648\u0627\u0635\u0644\u0627\u062a \u0645\u0645\u06a9\u0646\u06c1 \u062d\u0645\u0644\u06d2 \u06a9\u06cc \u0633\u0637\u062d \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06a9 \u0633\u0646\u06af\u06cc \u0645\u06cc\u06ba\u060c \u0627\u062c\u0632\u0627\u0621 \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0645\u06cc\u062a\u06be\u0688 \u06a9\u0627\u0644\u0632 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0645\u06cc\u06ba \u0641\u0646\u06a9\u0634\u0646 \u06a9\u0627\u0644\u0632 \u06c1\u06cc\u06ba\u06d4 \u0679\u0631\u0627\u0646\u0632\u0679 \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u0627\u0633\u06d2 \u0631\u0648\u06a9\u0627\u060c \u062c\u0639\u0644 \u0633\u0627\u0632\u06cc \u06cc\u0627 \u062a\u0628\u062f\u06cc\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627\u06d4<\/p>\n<p>\u0645\u0627\u0626\u06cc\u06a9\u0631\u0648 \u0633\u0631\u0648\u06cc\u0633 \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631 \u0645\u06cc\u06ba\u060c \u06c1\u0631 \u0633\u0631\u0648\u0633 \u06a9\u0627\u0644 \u0627\u06cc\u06a9 \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06c1\u06d2\u06d4 \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0648\u06ba \u06a9\u0648 \u0631\u0648\u06a9\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0639\u0644\u06cc \u0627\u0648\u0631 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u0648\u06c1 \u062e\u062f\u0645\u0627\u062a \u062c\u0648 \u0627\u06cc\u06a9 \u062f\u0648\u0633\u0631\u06d2 \u067e\u0631 \u0648\u0627\u0636\u062d \u0637\u0648\u0631 \u067e\u0631 \u0627\u0639\u062a\u0645\u0627\u062f \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0648\u06c1 &quot;\u0627\u0646\u062f\u0631\u0648\u0646\u06cc&#8221; \u06c1\u06cc\u06ba \u0627\u06cc\u06a9 \u062e\u0637\u0631\u0646\u0627\u06a9 \u0645\u0641\u0631\u0648\u0636\u06c1 \u0628\u0646\u0627 \u0631\u06c1\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u062a\u0645\u0627\u0645 \u0645\u0627\u0626\u06cc\u06a9\u0631\u0648 \u0633\u0631\u0648\u0633\u0632 \u06a9\u0648\u060c \u0628\u0637\u0648\u0631 \u0688\u06cc\u0641\u0627\u0644\u0679\u060c \u0622\u0646\u06d2 \u0648\u0627\u0644\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0648\u06ba \u06a9\u0648\u060c \u0628\u0634\u0645\u0648\u0644 \u062f\u06cc\u06af\u0631 \u062f\u0627\u062e\u0644\u06cc \u062e\u062f\u0645\u0627\u062a \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0648\u06ba \u06a9\u0648\u060c \u0646\u0627\u0642\u0627\u0628\u0644 \u0627\u0639\u062a\u0645\u0627\u062f \u0633\u0645\u062c\u06be\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u062a\u0645\u0627\u0645 \u0627\u0646\u0679\u0631 \u0633\u0631\u0648\u0633 \u0645\u0648\u0627\u0635\u0644\u0627\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 API \u06af\u06cc\u0679 \u0648\u06d2 \u0628\u06cc\u0631\u0648\u0646\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0648 \u06c1\u06cc\u0646\u0688\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u062f\u0627\u062e\u0644\u06cc \u062e\u062f\u0645\u0627\u062a \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u062a\u0648\u062b\u06cc\u0642 \u06a9\u0648 \u0627\u0644\u06af \u0633\u06d2 \u06c1\u06cc\u0646\u0688\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u0645\u06cc\u06ba \u062f\u0648 \u0646\u0645\u0648\u0646\u06d2 \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba: \u06c1\u0645 \u0648\u0642\u062a \u0633\u0627\u0632 \u06a9\u0627\u0644\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 mTLS \u0627\u0648\u0631 \u063a\u06cc\u0631 \u0645\u0637\u0627\u0628\u0642\u062a \u067e\u0630\u06cc\u0631 \u06a9\u0645\u06cc\u0648\u0646\u06cc\u06a9\u06cc\u0634\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u0635\u062f\u06cc\u0642 \u0634\u062f\u06c1 \u0627\u06cc\u0648\u0646\u0679 \u0627\u0633\u0679\u0631\u06cc\u0645\u0632\u06d4<\/p>\n<p><strong>\u06c1\u0645 \u0648\u0642\u062a \u0633\u0627\u0632 \u0633\u0631\u0648\u0633 \u0633\u06d2 \u0633\u0631\u0648\u0633 \u06a9\u0627\u0644\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 mTLS<\/strong> (Mutual TLS) \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u062f\u0648\u0646\u0648\u06ba \u062e\u062f\u0645\u0627\u062a \u0627\u06cc\u06a9 \u062f\u0648\u0633\u0631\u06d2 \u06a9\u0648 \u0633\u0631\u0679\u06cc\u0641\u06a9\u06cc\u0679 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u0627\u06cc\u06a9 \u0627\u062f\u0627\u0626\u06cc\u06af\u06cc \u06a9\u06cc \u062e\u062f\u0645\u062a \u062c\u0648 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0633\u0631\u0648\u0633 \u06a9\u0648 \u06a9\u0627\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u0627\u0633\u06d2 \u0627\u06cc\u06a9 \u062f\u0631\u0633\u062a \u0633\u0631\u0679\u06cc\u0641\u06a9\u06cc\u0679 \u067e\u06cc\u0634 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2 \u062c\u0633 \u067e\u0631 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0633\u0631\u0648\u0633 \u0628\u06be\u0631\u0648\u0633\u06c1 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0633\u0631\u0679\u06cc\u0641\u06a9\u06cc\u0679 \u063a\u0627\u0626\u0628 \u06cc\u0627 \u063a\u0644\u0637 \u06c1\u06d2\u060c \u062a\u0648 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u06a9\u0648\u0688 \u0686\u0644\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u06a9\u0646\u06a9\u0634\u0646 \u06a9\u0648 \u0645\u0633\u062a\u0631\u062f \u06a9\u0631 \u062f\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4 \u06cc\u06c1 \u0634\u0646\u0627\u062e\u062a \u06a9\u0627 \u0627\u06cc\u06a9 \u062e\u0641\u06cc\u06c1 \u06a9\u0631\u062f\u06c1 \u062b\u0628\u0648\u062a \u06c1\u06d2\u06d4 \u0686\u0648\u0631\u06cc \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0648\u0626\u06cc \u0628\u06cc\u0626\u0631\u0631 \u0679\u0648\u06a9\u0646 \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0646\u06c1 \u06c1\u06cc \u06af\u06be\u0645\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 API \u06a9\u06cc\u0632 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-plaintext\">Payment Service                    Account Service\n      |                                  |\n      |-- presents its certificate ----> |\n      |                                  |-- verifies certificate against trusted CA\n      |                                  |-- rejects connection if invalid\n      | <-- presents its certificate --- |\n      |-- verifies certificate           |\n      |                                  |\n      |-- authorized request ----------> |\n      |                                  |-- processes because identity is proven\n<\/code><\/pre>\n<p><strong>\u063a\u06cc\u0631 \u0645\u0637\u0627\u0628\u0642\u062a \u067e\u0630\u06cc\u0631 \u0645\u0648\u0627\u0635\u0644\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u0635\u062f\u06cc\u0642 \u0634\u062f\u06c1 \u0627\u06cc\u0648\u0646\u0679 \u06a9\u0627 \u0633\u0644\u0633\u0644\u06c1<\/strong> \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0628\u0631\u0648\u06a9\u0631 \u06a9\u0648 \u0634\u0627\u0626\u0639 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06c1\u0631 \u067e\u06cc\u063a\u0627\u0645 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u062f\u0633\u062a\u062e\u0637 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u0633 \u06a9\u06cc \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0633\u0631\u0648\u0633 \u067e\u0631\u0648\u0633\u06cc\u0633\u0646\u06af \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u0633\u0631\u0648\u0633 \u062c\u0627\u0631\u06cc <code>PaymentCompleted<\/code> \u0648\u0627\u0642\u0639\u0627\u062a \u0622\u067e \u06a9\u06cc \u0646\u062c\u06cc \u06a9\u0644\u06cc\u062f \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062f\u0633\u062a\u062e\u0637 \u06a9\u06cc\u06d2 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0633\u0631\u0648\u0633 \u0627\u06cc\u0648\u0646\u0679 \u067e\u0631 \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u062f\u0633\u062a\u062e\u0637 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u0628\u063a\u06cc\u0631 \u06a9\u0633\u06cc \u062f\u0631\u0633\u062a \u062f\u0633\u062a\u062e\u0637 \u06a9\u06d2 \u062c\u0639\u0644\u06cc \u0648\u0627\u0642\u0639\u0627\u062a \u06a9\u0648 \u0645\u0633\u062a\u0631\u062f \u06a9\u0631 \u062f\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-dart\">class PaymentEventPublisher {\n  final KafkaProducer _producer;\n  final EventSigner _signer;\n\n  Future<void> publishPaymentCompleted(Payment payment) async {\n    final event = PaymentCompletedEvent(\n      paymentId: payment.id,\n      amount: payment.amount,\n      timestamp: DateTime.now().toIso8601String(),\n    );\n\n    final signature = await _signer.sign(jsonEncode(event.toJson()));\n\n    await _producer.send(\n      topic: 'payment.completed',\n      value: jsonEncode({\n        'payload': event.toJson(),\n        'signature': signature,\n        'publisher': 'payment-service',\n      }),\n    );\n  }\n}\n\nclass AccountEventConsumer {\n  final EventVerifier _verifier;\n  final AccountService _accountService;\n\n  Future<void> onMessage(KafkaMessage message) async {\n    final data = jsonDecode(message.value);\n    final isValid = await _verifier.verify(\n      jsonEncode(data['payload']),\n      data['signature'] as String,\n      data['publisher'] as String,\n    );\n\n    if (!isValid) {\n      logger.warning('Invalid signature from ${data['publisher']} \u2014 discarding');\n      return;\n    }\n\n    final event = PaymentCompletedEvent.fromJson(data['payload']);\n    await _accountService.handlePaymentCompleted(event);\n  }\n}\n<\/void><\/void><\/code><\/pre>\n<p>\u0622\u067e \u06a9\u0648 API \u06af\u06cc\u0679 \u0648\u06d2 \u06a9\u06d2 \u0639\u0644\u0627\u0648\u06c1 \u0627\u0646\u0679\u0631\u0646\u06cc\u0679 \u0633\u06d2 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0633\u0631\u0648\u0633 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u0646\u06cc \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u06af\u06cc\u0679 \u0648\u06d2 \u062f\u0627\u062e\u0644\u06d2 \u06a9\u0627 \u0627\u06cc\u06a9 \u0648\u0627\u062d\u062f \u0646\u0642\u0637\u06c1 \u06c1\u06d2\u06d4 \u062a\u0645\u0627\u0645 \u0628\u06cc\u0631\u0648\u0646\u06cc \u0679\u0631\u06cc\u0641\u06a9 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0634\u0631\u062d \u06a9\u0648 \u0645\u062d\u062f\u0648\u062f \u06a9\u0631\u0646\u06d2\u060c \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u0646\u06d2 \u0627\u0648\u0631 \u0631\u0648\u0679\u0646\u06af \u06a9\u0648 \u06c1\u06cc\u0646\u0688\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06af\u06cc\u0679 \u0648\u06d2 \u06a9\u06d2 \u067e\u06cc\u0686\u06be\u06d2 \u062e\u062f\u0645\u0627\u062a \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u06c1\u06cc\u06ba\u06d4 \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0648\u06c1 \u0627\u0628 \u0628\u06be\u06cc \u0627\u06cc\u06a9 \u062f\u0648\u0633\u0631\u06d2 \u067e\u0631 \u0628\u06be\u0631\u0648\u0633\u06c1 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0644\u06cc\u06a9\u0646 \u0648\u06c1 \u0628\u06cc\u0631\u0648\u0646\u06cc \u062f\u0646\u06cc\u0627 \u06a9\u06d2 \u0633\u0627\u0645\u0646\u06d2 \u0646\u06c1\u06cc\u06ba \u0622\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0648\u0648\u0631 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u0627\u067e\u0646\u06d2 \u0622\u067e \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0633\u06cc\u06a9\u0648\u0631\u0679\u06cc \u0631\u0633\u06a9 \u06c1\u06d2\u06d4 \u0627\u06af\u0631\u0686\u06c1 \u0627\u0646\u06c1\u06cc\u06ba \u0627\u0686\u06be\u06cc \u0637\u0631\u062d \u0633\u06d2 \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06cc\u06a9 \u0633\u0646\u06af\u06cc \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0645\u0627\u0626\u06cc\u06a9\u0631\u0648 \u0633\u0631\u0648\u0633\u0632 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0644\u0627\u06af\u0648 \u06a9\u06cc \u062c\u0627\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646\u0632 \u0622\u067e\u0631\u06cc\u0634\u0646\u0644 \u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc \u06a9\u0648 \u0645\u062a\u0639\u0627\u0631\u0641 \u06a9\u0631\u0627\u062a\u06cc \u06c1\u06cc\u06ba \u062c\u0633 \u06a9\u0627 \u0627\u0646\u062a\u0638\u0627\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0622\u067e \u06a9\u06cc \u0679\u06cc\u0645 \u0645\u06cc\u06ba \u0635\u0644\u0627\u062d\u06cc\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u0648 \u0633\u06a9\u062a\u06cc\u06d4 \u0645\u062a\u0639\u062f\u062f \u062a\u0639\u06cc\u0646\u0627\u062a\u06cc \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646\u0632\u060c \u0645\u062a\u0639\u062f\u062f \u0633\u0631\u0648\u0633 \u0628\u0627\u0624\u0646\u0688\u0631\u06cc\u0632\u060c API \u06af\u06cc\u0679 \u0648\u06cc\u0632\u060c \u0645\u06cc\u0633\u062c \u0628\u0631\u0648\u06a9\u0631\u0632\u060c \u0627\u0648\u0631 \u0688\u0633\u0679\u0631\u06cc \u0628\u06cc\u0648\u0679\u0688 \u0679\u0631\u06cc\u0633\u0646\u06af \u0633\u0628\u06be\u06cc \u06a9\u0648 \u0645\u062d\u0641\u0648\u0638 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u06a9\u06cc \u0645\u062e\u0635\u0648\u0635 \u0635\u0644\u0627\u062d\u06cc\u062a\u0648\u06ba \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u0648\u0633\u0627\u0626\u0644 \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u0627\u06cc\u06a9 \u06cc\u06a9 \u0633\u0646\u06af\u06cc \u0627\u0633 \u06a9\u0648 \u062f\u0631\u0633\u062a \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0627\u0626\u06cc\u06a9\u0631\u0648 \u0633\u0631\u0648\u0633\u0632 \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631 \u0633\u06d2 \u0628\u06c1\u062a \u06a9\u0645 \u062e\u0637\u0631\u06c1 \u06c1\u06d2 \u062c\u0633 \u0645\u06cc\u06ba \u0627\u0633\u06d2 \u0686\u0644\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u0627\u0644\u06a9\u0644 \u0628\u06be\u06cc \u0648\u0633\u0627\u0626\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u06cc\u06a9 \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631 \u06a9\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0631\u06cc\u06ba \u062c\u0633 \u06a9\u06cc \u0628\u0646\u06cc\u0627\u062f \u067e\u0631 \u0622\u067e \u06a9\u06cc \u0679\u06cc\u0645 \u062f\u0631\u062d\u0642\u06cc\u0642\u062a \u0645\u062d\u0641\u0648\u0638 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u060c \u0646\u06c1 \u06a9\u06c1 \u0641\u06cc\u0688\u0632 \u067e\u0631\u06d4<\/p>\n<h2 id=\"heading-data-privacy-and-compliance-as-engineering-requirements\">\u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u06a9\u06cc \u0636\u0631\u0648\u0631\u06cc\u0627\u062a \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0688\u06cc\u0679\u0627 \u06a9\u06cc \u0631\u0627\u0632\u062f\u0627\u0631\u06cc \u0627\u0648\u0631 \u062a\u0639\u0645\u06cc\u0644<\/h2>\n<p>\u0688\u06cc\u0679\u0627 \u06a9\u06cc \u0631\u0627\u0632\u062f\u0627\u0631\u06cc \u06a9\u06d2 \u062a\u0642\u0627\u0636\u06d2 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u06a9\u06d2 \u062a\u0642\u0627\u0636\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u06a9\u0648\u0626\u06cc \u0642\u0627\u0646\u0648\u0646\u06cc \u062a\u0642\u0627\u0636\u0627 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u06a9\u06c1 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u0642\u0628\u0648\u0644 \u06a9\u0631\u06d2\u06d4 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 \u062c\u0648 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u06a9\u06cc \u0645\u0644\u06a9\u06cc\u062a \u06c1\u06d2\u06d4<\/p>\n<p>\u0646\u0627\u0626\u06cc\u062c\u06cc\u0631\u06cc\u0627 \u06a9\u06d2 NDPA 2023 \u06a9\u06d2 \u062a\u062d\u062a\u060c \u0630\u0627\u062a\u06cc \u0688\u06cc\u0679\u0627 \u067e\u0631 \u0635\u0631\u0641 \u0648\u0627\u0636\u062d\u060c \u0648\u0627\u0636\u062d \u0627\u0648\u0631 \u0642\u0627\u0646\u0648\u0646\u06cc \u0645\u0642\u0627\u0635\u062f \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc \u06a9\u06cc \u062c\u0627\u0646\u06cc \u0686\u0627\u06c1\u06cc\u06d2\u06d4 BVN \u0688\u06cc\u0679\u0627 \u0645\u06cc\u06ba \u0645\u062e\u0635\u0648\u0635 \u0631\u06c1\u0627\u0626\u0634 \u0627\u0648\u0631 \u067e\u0631\u0648\u0633\u06cc\u0633\u0646\u06af \u06a9\u06cc \u0636\u0631\u0648\u0631\u06cc\u0627\u062a \u06c1\u06cc\u06ba \u062c\u0648 CBN \u0631\u06c1\u0646\u0645\u0627 \u062e\u0637\u0648\u0637 \u06a9\u06d2 \u062a\u062d\u062a \u0646\u0627\u0641\u0630 \u06c1\u06cc\u06ba\u06d4 PCI-DSS \u0645\u06cc\u06ba \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0627\u06cc\u0633\u06d2 \u0645\u0627\u062d\u0648\u0644 \u06a9\u06cc \u062a\u0639\u0645\u06cc\u0644 \u0634\u0627\u0645\u0644 \u06c1\u06d2 \u062c\u0648 \u06a9\u0627\u0631\u0688 \u06c1\u0648\u0644\u0688\u0631 \u06a9\u06d2 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u0627\u0633\u0679\u0648\u0631\u060c \u067e\u0631\u0648\u0633\u06cc\u0633\u060c \u06cc\u0627 \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0646 \u062a\u0642\u0627\u0636\u0648\u06ba \u06a9\u06d2 \u0645\u062e\u0635\u0648\u0635 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u0645\u0636\u0645\u0631\u0627\u062a \u06c1\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-1-data-minimization\">1. \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u06a9\u0645 \u0633\u06d2 \u06a9\u0645 \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<p>\u06c1\u0645 \u0635\u0631\u0641 \u0630\u0627\u062a\u06cc \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u06a9\u0679\u06be\u0627 \u0627\u0648\u0631 \u0630\u062e\u06cc\u0631\u06c1 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u062f\u0631\u062d\u0642\u06cc\u0642\u062a \u0645\u062e\u0635\u0648\u0635 \u0645\u0642\u0627\u0635\u062f \u06a9\u06d2 \u0644\u06cc\u06d2 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2\u06d4 APIs \u062c\u0648 \u0636\u0631\u0648\u0631\u06cc \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0688\u06cc\u0679\u0627 \u0627\u06a9\u0679\u06be\u0627 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0639\u0645\u06cc\u0644 \u06a9\u06d2 \u062e\u0637\u0631\u0627\u062a \u0644\u0627\u062d\u0642 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u06cc\u06a9 \u062c\u0648\u0627\u0628 \u062c\u0648 \u06a9\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0688\u06cc\u0679\u0627 \u0648\u0627\u067e\u0633 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 BOPLA \u06a9\u0645\u0632\u0648\u0631\u06cc \u0627\u0648\u0631 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u06a9\u0645 \u0633\u06d2 \u06a9\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u062e\u0644\u0627\u0641 \u0648\u0631\u0632\u06cc \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-2-purpose-limitation\">2. \u0645\u0642\u0635\u062f \u06a9\u06cc \u062d\u062f<\/h3>\n<p>\u0627\u06cc\u06a9 \u0645\u0642\u0635\u062f \u06a9\u06d2 \u0644\u06cc\u06d2 \u062c\u0645\u0639 \u06a9\u06cc\u06d2 \u06af\u0626\u06d2 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u0645\u0646\u0627\u0633\u0628 \u0628\u0646\u06cc\u0627\u062f\u0648\u06ba \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u06a9\u0633\u06cc \u062f\u0648\u0633\u0631\u06d2 \u0645\u0642\u0635\u062f \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u06a9\u0631\u0646\u0627 \u0627\u0648\u0631 \u0644\u0627\u06af\u0648 \u06a9\u0631\u0646\u0627 \u062c\u0648 \u06a9\u0633\u06cc \u0633\u0633\u0679\u0645 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0628\u06c1\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u0633\u0631\u0648\u0633 \u06a9\u0627 \u0688\u06cc\u0679\u0627 \u062f\u0648\u0633\u0631\u06cc \u0633\u0631\u0648\u0633 \u0645\u06cc\u06ba \u0646\u06c1\u06cc\u06ba \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2 \u062c\u0648 \u0627\u0633\u06d2 \u063a\u06cc\u0631 \u0645\u062c\u0627\u0632 \u0645\u0642\u0627\u0635\u062f \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u0648\u06d4<\/p>\n<h3 id=\"heading-3-data-residency\">3. \u0688\u06cc\u0679\u0627 \u06a9\u06cc \u0631\u06c1\u0627\u0626\u0634<\/h3>\n<p>\u0688\u06cc\u0679\u0627 \u06a9\u06cc \u06a9\u0686\u06be \u0627\u0642\u0633\u0627\u0645 \u06a9\u0648 \u0645\u062e\u0635\u0648\u0635 \u062c\u063a\u0631\u0627\u0641\u06cc\u0627\u0626\u06cc \u062e\u0637\u0648\u06ba \u0645\u06cc\u06ba \u0630\u062e\u06cc\u0631\u06c1 \u06a9\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u06cc\u06c1 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0688\u06be\u0627\u0646\u0686\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u06cc\u0627\u062a \u06c1\u06cc\u06ba \u062c\u0648 \u062a\u0639\u06cc\u0646\u0627\u062a\u06cc \u06a9\u06d2 \u0628\u0639\u062f \u067e\u06cc\u0686 \u200b\u200b\u0646\u06c1\u06cc\u06ba \u06a9\u06cc \u062c\u0627 \u0633\u06a9\u062a\u06cc \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0633\u0633\u0679\u0645 \u06a9\u06d2 \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631 \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06c1\u0648\u0646\u0627 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-4-retention-and-deletion\">4. \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u0646\u0627 \u0627\u0648\u0631 \u062d\u0630\u0641 \u06a9\u0631\u0646\u0627<\/h3>\n<p>\u0630\u0627\u062a\u06cc \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u06a9\u0648 \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u062d\u0630\u0641 \u06a9\u0631 \u062f\u06cc\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2 \u062c\u0633 \u0645\u0642\u0635\u062f \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u06d2 \u062c\u0645\u0639 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u062a\u06be\u0627 \u06cc\u0627 \u0631\u0627\u0632\u062f\u0627\u0631\u06cc \u06a9\u06cc \u067e\u0627\u0644\u06cc\u0633\u06cc \u0645\u06cc\u06ba \u0628\u06cc\u0627\u0646 \u06a9\u0631\u062f\u06c1 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u0646\u06d2 \u06a9\u06cc \u0645\u062f\u062a \u062e\u062a\u0645 \u06c1\u0648 \u062c\u0627\u0626\u06d2\u06d4 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0630\u0627\u062a\u06cc \u0688\u06cc\u0679\u0627 \u06a9\u06d2 \u062a\u0645\u0627\u0645 \u0632\u0645\u0631\u0648\u06ba \u0645\u06cc\u06ba \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u0646\u06d2 \u06a9\u06cc \u067e\u0627\u0644\u06cc\u0633\u06cc\u0627\u06ba \u0627\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u062d\u0630\u0641 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06c1\u0648\u0646\u06cc \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u062f\u0633\u062a\u06cc \u062d\u0630\u0641 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u067e\u0627\u0644\u06cc\u0633\u06cc\u0627\u06ba \u062c\u0648 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u062d\u0630\u0641 \u06a9\u0631\u0646\u0627 \u06cc\u0627\u062f \u0631\u06a9\u06be\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0644\u0648\u06af\u0648\u06ba \u067e\u0631 \u0627\u0646\u062d\u0635\u0627\u0631 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba \u0627\u0646 \u067e\u0631 \u0639\u0645\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-5-audit-logging\">5. \u0622\u0688\u0679 \u0644\u0627\u06af\u0646\u06af<\/h3>\n<p>\u062a\u0639\u0645\u06cc\u0644 \u06a9\u0648 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0630\u0627\u062a\u06cc \u0688\u06cc\u0679\u0627 \u062a\u06a9 \u062a\u0645\u0627\u0645 \u0631\u0633\u0627\u0626\u06cc \u06a9\u0648 \u06a9\u0627\u0641\u06cc \u062a\u0641\u0635\u06cc\u0644 \u0633\u06d2 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06a9\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u06a9\u0633 \u0646\u06d2 \u06a9\u0633 \u0688\u06cc\u0679\u0627 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u06a9\u06cc\u060c \u06a9\u0628\u060c \u0627\u0648\u0631 \u06a9\u0633 \u0645\u0642\u0635\u062f \u06a9\u06d2 \u0644\u06cc\u06d2\u06d4 \u06cc\u06c1 \u0622\u0688\u0679 \u0644\u0627\u06af \u0686\u06be\u06cc\u0691 \u0686\u06be\u0627\u0691 \u0633\u06d2 \u0648\u0627\u0636\u062d \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2 \u0627\u0648\u0631 \u062c\u0628 \u062a\u06a9 \u0636\u0631\u0648\u0631\u06cc \u06c1\u0648 \u0627\u0633\u06d2 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u0627 \u062c\u0627\u0626\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1\u0627\u06ba \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0627\u0646 \u067e\u0627\u0646\u0686\u0648\u06ba \u067e\u0627\u0644\u06cc\u0633\u06cc\u0648\u06ba \u06a9\u0648 \u0627\u06cc\u06a9 \u06c1\u06cc \u0641\u0646\u06a9\u0634\u0646 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u0644\u0627\u06af\u0648 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2: \u0635\u0627\u0631\u0641 \u067e\u0631\u0648\u0641\u0627\u0626\u0644 \u0627\u062e\u062a\u062a\u0627\u0645\u06cc \u0646\u0642\u0637\u06c1\u06d4<\/p>\n<pre><code class=\"language-dart\">class UserProfileService {\n  final UserRepository _repository;\n  final AuditLogger _auditLogger;\n  final DataResidencyValidator _residencyValidator;\n\n  UserProfileService(this._repository, this._auditLogger, this._residencyValidator);\n\n  Future<userprofileresponse> getProfile(\n    String requestingUserId,\n    String targetUserId,\n    String purpose,\n  ) async {\n    if (!_isValidPurpose(purpose)) {\n      throw UnauthorizedException('Invalid or undeclared access purpose');\n    }\n\n    final user = await _repository.findById(targetUserId);\n    if (user == null) throw NotFoundException('User not found');\n\n    _residencyValidator.assertCompliant(user.dataRegion, requestingUserId);\n\n    await _auditLogger.log(AuditEntry(\n      action: 'READ_USER_PROFILE',\n      actorId: requestingUserId,\n      resourceId: targetUserId,\n      purpose: purpose,\n      timestamp: DateTime.now(),\n      dataFieldsAccessed: ['first_name', 'last_name', 'email'],\n    ));\n\n    return UserProfileResponse(\n      id: user.id,\n      firstName: user.firstName,\n      lastName: user.lastName,\n      email: user.email,\n    );\n  }\n\n  bool _isValidPurpose(String purpose) {\n    const validPurposes = {\n      'user_self_view',\n      'customer_support_verified',\n      'compliance_audit',\n    };\n    return validPurposes.contains(purpose);\n  }\n}\n\nclass DataRetentionService {\n  final UserRepository _repository;\n  final AuditLogger _auditLogger;\n\n  Future<void> enforceRetentionPolicy() async {\n    final cutoff = DateTime.now().subtract(const Duration(days: 2555));\n    final expiredUsers = await _repository.findInactiveUsersBefore(cutoff);\n\n    for (final user in expiredUsers) {\n      await _auditLogger.log(AuditEntry(\n        action: 'AUTOMATED_DATA_DELETION',\n        resourceId: user.id,\n        purpose: 'retention_policy_enforcement',\n        timestamp: DateTime.now(),\n      ));\n\n      await _repository.anonymize(user.id);\n    }\n  }\n}\n<\/void><\/userprofileresponse><\/code><\/pre>\n<p>\u06cc\u06c1 \u0648\u0627\u062d\u062f \u0633\u0631\u0648\u0633 \u0622\u067e \u06a9\u06d2 \u06a9\u0648\u0688 \u0622\u0641 \u0622\u067e\u0631\u06cc\u0634\u0646\u0632 \u0645\u06cc\u06ba \u062a\u0645\u0627\u0645 \u067e\u0627\u0646\u0686\u0648\u06ba \u062a\u0639\u0645\u06cc\u0644 \u06a9\u06cc \u067e\u0627\u0644\u06cc\u0633\u06cc\u0627\u06ba \u062f\u06a9\u06be\u0627\u062a\u06cc \u06c1\u06d2\u06d4 \u062c\u0628 \u0628\u06be\u06cc \u0627\u0633 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2\u060c \u0627\u06cc\u06a9 \u0645\u0642\u0635\u062f \u06a9\u0627 \u0627\u0639\u0644\u0627\u0646 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0686\u06cc\u06a9 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0622\u06cc\u0627 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u0648\u0627\u067e\u0633 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0631\u06c1\u0627\u0626\u0634\u06cc \u06c1\u06d2 \u06cc\u0627 \u0646\u06c1\u06cc\u06ba\u06d4 \u0622\u0688\u0679 \u0644\u0627\u06af\u0632 \u0645\u06a9\u0645\u0644 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062a\u0645\u0627\u0645 \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u062c\u0648\u0627\u0628 \u0635\u0631\u0641 \u0645\u0637\u0644\u0648\u0628\u06c1 \u0641\u06cc\u0644\u0688\u0632 \u0648\u0627\u067e\u0633 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0648\u0631 \u0637\u06d2 \u0634\u062f\u06c1 \u06a9\u0627\u0645 \u06a9\u0633\u06cc \u06a9\u0648 \u06cc\u0627\u062f \u0631\u06a9\u06be\u06d2 \u0628\u063a\u06cc\u0631 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u062d\u0630\u0641 \u06c1\u0648\u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1 \u062a\u0642\u0627\u0636\u06d2 \u0630\u0627\u062a\u06cc \u0688\u06cc\u0679\u0627 \u067e\u0631 \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u062a\u0645\u0627\u0645 \u0627\u0641\u0639\u0627\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u0642\u0627\u0636\u0648\u06ba \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a\u0648\u06ba \u06a9\u0627 \u062d\u0635\u06c1 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0641\u06cc\u0686\u0631 \u0628\u0646\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f \u06cc\u06c1 \u062d\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u0627\u06d4 \u0688\u06cc\u0632\u0627\u0626\u0646 \u0645\u06cc\u06ba \u0627\u062d\u0627\u0637\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-conclusion\">\u0646\u062a\u06cc\u062c\u06c1<\/h2>\n<p>\u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u0648\u06c1 \u062e\u0635\u0648\u0635\u06cc\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u062c\u0633\u06d2 \u0622\u067e \u0633\u0627\u0641\u0679 \u0648\u06cc\u0626\u0631 \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0648\u06c1 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u06c1\u06cc\u06ba \u062c\u0648 \u0634\u0631\u0648\u0639 \u0633\u06d2 \u0627\u0646\u062c\u0646\u06cc\u0626\u0631 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0622\u0631\u06a9\u06cc\u0679\u06cc\u06a9\u0686\u0631\u0644 \u0641\u06cc\u0635\u0644\u06d2 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u062a\u06be\u0631\u06cc\u0679 \u0645\u0627\u0688\u0644\u0646\u06af \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06cc\u06c1 \u0633\u0645\u062c\u06be\u0646\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0622\u067e \u06a9\u0633 \u0686\u06cc\u0632 \u06a9\u06cc \u062d\u0641\u0627\u0638\u062a \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u06a9\u0633 \u0686\u06cc\u0632 \u06a9\u06d2 \u062e\u0644\u0627\u0641 \u0622\u067e \u06cc\u06c1 \u0641\u06cc\u0635\u0644\u06c1 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0627\u0633\u06d2 \u06a9\u06cc\u0633\u06d2 \u062a\u0639\u06cc\u0646\u0627\u062a \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4<\/p>\n<p>\u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0627\u0635\u0648\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0688\u0648\u0645\u06cc\u0646 \u06a9\u06cc \u067e\u0631\u062a \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u06a9\u06cc \u0636\u0631\u0648\u0631\u06cc\u0627\u062a \u06a9\u0648 \u0627\u0633\u06cc \u0637\u0631\u062d \u0646\u0627\u0641\u0630 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u062c\u0633 \u0637\u0631\u062d \u06cc\u06c1 \u062f\u0648\u0633\u0631\u06d2 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0627\u0635\u0648\u0644\u0648\u06ba \u06a9\u0648 \u0646\u0627\u0641\u0630 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06cc\u06c1 \u06a9\u06c1 \u0627\u0646 \u0633\u06d2 \u0627\u062d\u062a\u0631\u0627\u0632 \u06cc\u0627 \u0641\u0631\u0627\u0645\u0648\u0634 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u062c\u0627\u0633\u06a9\u062a\u0627\u06d4<\/p>\n<p>\u06a9\u0633\u06cc \u062a\u0646\u0638\u06cc\u0645 \u06a9\u06cc \u0637\u0631\u0641 \u0633\u06d2 \u0637\u06d2 \u0634\u062f\u06c1 \u062e\u0641\u06cc\u06c1 \u06a9\u0627\u0631\u06cc \u06a9\u06d2 \u0645\u0639\u06cc\u0627\u0631\u0627\u062a \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0688\u0648\u06cc\u0644\u067e\u0631\u0632 \u062a\u0631\u062c\u06cc\u062d \u06cc\u0627 \u0633\u06c1\u0648\u0644\u062a \u06a9\u06cc \u0628\u0646\u06cc\u0627\u062f \u067e\u0631 \u062e\u0641\u06cc\u06c1 \u06a9\u0627\u0631\u06cc \u06a9\u06d2 \u067e\u0631\u0627\u0626\u0645\u06cc\u0679\u0648\u0632 \u06a9\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0635\u0631\u0641 \u0648\u06c1\u06cc \u06a9\u0631 \u0633\u06a9\u062a\u06cc \u06c1\u06d2 \u062c\u0648 \u0627\u0633\u06d2 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06cc\u06c1 \u06a9\u06c1 \u062d\u0645\u0644\u06c1 \u0622\u0648\u0631 \u062c\u0648 \u0627\u06cc\u06a9 \u062c\u0632\u0648 \u0633\u06d2 \u0633\u0645\u062c\u06be\u0648\u062a\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0646 \u0633\u0628 \u0633\u06d2 \u0633\u0645\u062c\u06be\u0648\u062a\u06c1 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u0627\u06d4<\/p>\n<p>CORS \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0628\u0631\u0627\u0624\u0632\u0631 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u0645\u06cc\u06a9\u0627\u0646\u0632\u0645 \u062f\u0631\u0627\u0635\u0644 \u0648\u0627\u0626\u0644\u0688 \u06a9\u0627\u0631\u0688\u0632 \u06a9\u0648 \u0646\u0638\u0631\u0627\u0646\u062f\u0627\u0632 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u062d\u062f\u0648\u062f \u06a9\u0648 \u0646\u0627\u0641\u0630 \u06a9\u0631 \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0641\u06cc\u0644\u0688 \u0644\u06cc\u0648\u0644 \u0645\u0627\u0633\u06a9\u0646\u06af \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0633\u0679\u0631\u06a9\u0686\u0631\u0688 \u0644\u0627\u06af\u0646\u06af \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0644\u0627\u06af \u0641\u0627\u0626\u0644\u0648\u06ba \u0645\u06cc\u06ba \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u062d\u0633\u0627\u0633 \u0688\u06cc\u0679\u0627 \u0628\u0627\u0642\u06cc \u0646\u06c1\u06cc\u06ba \u0631\u06c1\u062a\u0627\u060c \u0686\u0627\u06c1\u06d2 \u0688\u0648\u06cc\u0644\u067e\u0631\u0632 \u0644\u0627\u06af \u0627\u0646 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0648\u0631 CI\/CD \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u06af\u06cc\u0679\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u062e\u0648\u062f\u06a9\u0627\u0631 \u062a\u0648\u062b\u06cc\u0642 \u0627\u0633 \u0686\u06cc\u0632 \u06a9\u0648 \u067e\u06a9\u0691\u062a\u06cc \u06c1\u06d2 \u062c\u0648 \u062a\u0639\u06cc\u0646\u0627\u062a\u06cc \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u06c1\u0631 \u062f\u06be\u06a9\u06d2 \u067e\u0631 \u0627\u0646\u0633\u0627\u0646\u06cc \u062c\u0627\u0626\u0632\u06d2 \u0633\u06d2 \u0686\u06be\u0648\u0679 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0646 \u0645\u06cc\u06ba \u0633\u06d2 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u063a\u06cc\u0631 \u0645\u0644\u06a9\u06cc \u06cc\u0627 \u0645\u0634\u06a9\u0644 \u062a\u0635\u0648\u0631\u0627\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u0688\u0633\u067e\u0644\u0646 \u06c1\u06d2 \u062c\u0633 \u0645\u06cc\u06ba \u0645\u062d\u062a\u0627\u0637 \u0641\u06cc\u0635\u0644\u0648\u06ba \u0627\u0648\u0631 \u062c\u0627\u0646 \u0628\u0648\u062c\u06be \u06a9\u0631 \u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u0633 \u0641\u06cc\u0635\u0644\u06d2 \u06a9\u0648 \u0646\u06c1 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0641\u06cc\u0635\u0644\u06c1 \u062e\u0648\u062f \u0627\u06cc\u06a9 \u0641\u06cc\u0635\u0644\u06c1 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0627\u0633 \u06a9\u06d2 \u0646\u062a\u0627\u0626\u062c \u06c1\u06cc\u06ba \u062c\u0648 \u062d\u0627\u062f\u062b\u06d2 \u06a9\u06cc \u0631\u067e\u0648\u0631\u0679 \u0645\u06cc\u06ba \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u06a9\u06d2 \u062e\u0637\u0631\u06d2 \u06a9\u0648 \u062f\u0648\u0631 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0633\u0628 \u0633\u06d2 \u0645\u06c1\u0646\u06af\u0627 \u062d\u0635\u06c1 \u0627\u0633 \u06a9\u06d2 \u0627\u0633\u062a\u062d\u0635\u0627\u0644 \u06a9\u06d2 \u0628\u0639\u062f \u06c1\u06d2\u06d4 \u062f\u0648\u0633\u0631\u06cc \u0633\u0628 \u0633\u06d2 \u0645\u06c1\u0646\u06af\u06cc \u062c\u06af\u06c1 \u067e\u06cc\u062f\u0627\u0648\u0627\u0631 \u0645\u06cc\u06ba \u062c\u0627\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f \u06c1\u06d2\u06d4 \u06a9\u0648\u0688 \u06a9\u06cc \u0627\u06cc\u06a9 \u0644\u0627\u0626\u0646 \u06c1\u0648\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0633\u0628 \u0633\u06d2 \u06a9\u0645 \u0645\u06c1\u0646\u06af\u0627 \u062d\u0635\u06c1 \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u0627 \u062d\u0635\u06c1 \u06c1\u06d2\u06d4<\/p>\n<p>Secure by Design \u06a9\u0627 \u0627\u0635\u0644 \u0645\u0637\u0644\u0628 \u06cc\u06c1\u06cc \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0645\u06a9\u0645\u0644 \u0637\u0648\u0631 \u067e\u0631 \u0645\u062d\u0641\u0648\u0638 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u06cc\u0627 \u0627\u0633 \u0633\u06d2 \u06a9\u0648\u0626\u06cc \u062e\u0637\u0631\u06c1 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0627\u0633 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0633\u0648\u0686 \u0633\u0645\u062c\u06be \u06a9\u0631\u060c \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u06cc\u060c \u0627\u0648\u0631 \u0642\u0627\u0628\u0644 \u0646\u0641\u0627\u0630 \u0641\u06cc\u0635\u0644\u06d2 \u06a9\u0631\u0646\u0627 \u06a9\u06c1 \u0633\u0633\u0679\u0645 \u0628\u0646\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0645\u062e\u0627\u0644\u0641 \u062d\u0627\u0644\u0627\u062a \u06a9\u0648 \u06a9\u0633 \u0637\u0631\u062d \u0633\u0646\u0628\u06be\u0627\u0644\u06d2 \u06af\u0627 \u0627\u0633 \u0628\u0627\u062a \u06a9\u0648 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u0634\u0631\u0648\u0639 \u0633\u06d2 \u06c1\u06cc \u062f\u0631\u0633\u062a \u06c1\u06d2\u06d4<\/p>\n<p>\u062a\u06a9\u0646\u06cc\u06a9\u06cc \u0634\u0627\u0626\u0642\u06cc\u0646 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631\u060c \u0627\u0646 \u0686\u06cc\u0632\u0648\u06ba \u0645\u06cc\u06ba \u0633\u06d2 \u0627\u06cc\u06a9 \u062c\u0633 \u06a9\u0627 \u0622\u067e \u06a9\u0648 \u0627\u0646\u062a\u0638\u0627\u0631 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2 \u0648\u06c1 \u062f\u0646 \u06c1\u06d2 \u062c\u0628 \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646\u0632 \u06a9\u0648 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062a\u0631\u0642\u06cc\u0627\u062a\u06cc \u0639\u0645\u0644 \u06a9\u06d2 \u0627\u06cc\u06a9 \u0644\u0627\u0632\u0645\u06cc \u062d\u0635\u06d2 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u06cc\u0633\u06cc \u0686\u06cc\u0632 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u062c\u0633\u06d2 \u0628\u0639\u062f \u0645\u06cc\u06ba \u0633\u0648\u0686\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u0626\u06d2 \u06cc\u0627 \u062a\u0639\u06cc\u0646\u0627\u062a\u06cc \u06a9\u06d2 \u0644\u0626\u06d2 \u0645\u0646\u0638\u0648\u0631 \u06a9\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u0626\u06d2\u06d4 \u06cc\u06c1\u06cc \u0648\u062c\u06c1 \u06c1\u06d2 \u06a9\u06c1 Secure by Design \u06a9\u0648 \u0646\u06c1 \u0635\u0631\u0641 \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u06a9\u06d2 \u0634\u0639\u0628\u06d2 \u0645\u06cc\u06ba \u0628\u0644\u06a9\u06c1 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0633\u0627\u0641\u0679 \u0648\u06cc\u0626\u0631 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u0645\u06cc\u06ba \u0628\u06be\u06cc \u0627\u06cc\u06a9 \u0645\u0639\u06cc\u0627\u0631\u06cc \u0639\u0645\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0633\u0645\u062c\u06be\u0646\u0627\u060c \u0627\u067e\u0646\u0627\u0646\u0627\u060c \u0627\u0648\u0631 \u0627\u067e\u0646\u0627\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<p>\u0645\u062d\u0641\u0648\u0638 \u06a9\u0648\u0688\u0646\u06af \u06a9\u0627 \u0644\u0637\u0641 \u0627\u0679\u06be\u0627\u0626\u06cc\u06ba!<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u0679\u06cc\u0645\u0648\u06ba \u0645\u06cc\u06ba\u060c \u0628\u0627\u062a \u0686\u06cc\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0627\u06a9\u062b\u0631 \u0628\u06c1\u062a \u062f\u06cc\u0631 \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u0633 \u06a9\u0648 \u0630\u06c1\u0646 \u0645\u06cc\u06ba \u0631\u06a9\u06be\u062a\u06d2 \u06c1\u0648\u0626\u06d2\u060c \u0641\u06cc\u0686\u0631 \u0627\u0628 \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u0645\u06cc\u06ba \u06c1\u06d2\u06d4 \u0628\u0639\u062f \u0645\u06cc\u06ba\u060c \u0627\u06cc\u06a9 \u062d\u0641\u0627\u0638\u062a\u06cc \u062c\u0627\u0626\u0632\u06c1 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u0627\u06cc\u06a9 \u062f\u062e\u0648\u0644 \u0679\u06cc\u0633\u0679 \u0633\u06d2 \u06a9\u0686\u06be \u067e\u062a\u06c1 \u0686\u0644\u062a\u0627 \u06c1\u06d2\u060c \u06cc\u0627 \u0627\u0633 \u0633\u06d2 \u0628\u06be\u06cc \u0628\u062f\u062a\u0631\u060c \u0627\u06cc\u06a9 \u0648\u0627\u0642\u0639\u06c1 \u06a9\u06cc \u0631\u067e\u0648\u0631\u0679 \u0622\u067e \u06a9\u06d2 \u0627\u0646 \u0628\u0627\u06a9\u0633 [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-30895","post","type-post","status-publish","format-standard","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/30895","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/comments?post=30895"}],"version-history":[{"count":0,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/30895\/revisions"}],"wp:attachment":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/media?parent=30895"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/categories?post=30895"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/tags?post=30895"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}