{"id":97826,"date":"2026-07-04T16:17:11","date_gmt":"2026-07-04T10:47:11","guid":{"rendered":"https:\/\/staging.nanoschool.in\/wp\/study\/mlops-frameworks-for-security-integration\/"},"modified":"2026-07-04T16:17:11","modified_gmt":"2026-07-04T10:47:11","slug":"mlops-frameworks-for-security-integration","status":"publish","type":"tva_lesson","link":"https:\/\/staging.nanoschool.in\/wp\/study\/mlops-frameworks-for-security-integration\/","title":{"rendered":"MLOps frameworks for security integration"},"content":{"rendered":"<h3 data-end=\"267\" data-section-id=\"1ddo5ep\" data-start=\"205\" style=\"\">1) Why security must be \u201cbuilt into\u201d MLOps (not bolted on)<\/h3>\n<p data-end=\"441\" data-start=\"269\" style=\"\">Traditional MLOps focuses on speed and reliability: automate training, testing, deployment, monitoring.<strong data-end=\"391\" data-start=\"375\">Secure MLOps<\/strong> adds guardrails so your pipeline is resilient to:<\/p>\n<p 469\"=\"\" data-section-id=\"yuuffn\" data-start=\"443\" \"=\"\" style=\"\">\n<ul>\n<li data-end=\"469\" data-start=\"445\" style=\"\">poisoned data and labels<\/li>\n<li data-end=\"526\" data-start=\"472\" style=\"\">compromised artifacts (models, features, dependencies)<\/li>\n<li data-end=\"565\" data-start=\"529\" style=\"\">model extraction and privacy leakage<\/li>\n<li data-end=\"620\" data-start=\"568\" style=\"\">unsafe deployments and silent robustness regressions<\/li>\n<\/ul>\n<p style=\"\">\n<p data-end=\"756\" data-start=\"622\" style=\"\">The goal is to make security <strong data-end=\"665\" data-start=\"651\">continuous<\/strong>: every model version is verified, traceable, and deployable with measurable risk controls.<\/p>\n<h2 data-end=\"824\" data-section-id=\"brmrow\" data-start=\"763\" style=\"\">2) What \u201csecurity integration\u201d means in an MLOps framework<\/h2>\n<p data-end=\"898\" data-start=\"826\" style=\"\">A secure MLOps framework integrates security into these pipeline layers:<\/p>\n<ol data-end=\"1306\" data-start=\"900\">\n<li data-end=\"963\" data-section-id=\"12otkrv\" data-start=\"900\" style=\"\"><strong data-end=\"920\" data-start=\"903\">Data security<\/strong> (provenance, validation, access control)<\/li>\n<li data-end=\"1044\" data-section-id=\"sjy810\" data-start=\"964\" style=\"\"><strong data-end=\"988\" data-start=\"967\">Training security<\/strong> (reproducibility, robust evaluation, secrets hygiene)<\/li>\n<li data-end=\"1107\" data-section-id=\"fedaas\" data-start=\"1045\" style=\"\"><strong data-end=\"1069\" data-start=\"1048\">Artifact security<\/strong> (signing, registry controls, SBOMs)<\/li>\n<li data-end=\"1173\" data-section-id=\"1g0rwre\" data-start=\"1108\" style=\"\"><strong data-end=\"1134\" data-start=\"1111\">Deployment security<\/strong> (API protections, runtime hardening)<\/li>\n<li data-end=\"1247\" data-section-id=\"2f7qt5\" data-start=\"1174\" style=\"\"><strong data-end=\"1200\" data-start=\"1177\">Monitoring security<\/strong> (drift\/attack detection + incident response)<\/li>\n<li data-end=\"1306\" data-section-id=\"93lg1\" data-start=\"1248\" style=\"\"><strong data-end=\"1265\" data-start=\"1251\">Governance<\/strong> (approvals, audits, compliance evidence)<\/li>\n<\/ol>\n<h2 data-end=\"1374\" data-section-id=\"lf2z7u\" data-start=\"1313\" style=\"\">3) Security integration points in a typical MLOps workflow<\/h2>\n<h3 data-end=\"1423\" data-section-id=\"16pr75c\" data-start=\"1376\" style=\"\">A) Data \u2192 Feature pipeline (Secure DataOps)<\/h3>\n<p data-end=\"1449\" data-start=\"1424\" style=\"\"><strong data-end=\"1449\" data-start=\"1424\">Controls to integrate<\/strong><\/p>\n<ul data-end=\"1626\" data-start=\"1450\">\n<li data-end=\"1500\" data-section-id=\"7uynd7\" data-start=\"1450\" style=\"\">schema\/constraint validation (gate + quarantine)<\/li>\n<li data-end=\"1538\" data-section-id=\"h2j0f5\" data-start=\"1501\" style=\"\">dataset versioning and immutability<\/li>\n<li data-end=\"1575\" data-section-id=\"izlx48\" data-start=\"1539\" style=\"\">data provenance + lineage tracking<\/li>\n<li data-end=\"1626\" data-section-id=\"1xh1n0\" data-start=\"1576\" style=\"\">feature store write protection (least privilege)<\/li>\n<\/ul>\n<p data-end=\"1648\" data-start=\"1628\" style=\"\"><strong data-end=\"1648\" data-start=\"1628\">Security outcome<\/strong><\/p>\n<ul data-end=\"1717\" data-start=\"1649\">\n<li data-end=\"1673\" data-section-id=\"mhmj18\" data-start=\"1649\" style=\"\">reduces poisoning risk<\/li>\n<li data-end=\"1717\" data-section-id=\"ojqgsn\" data-start=\"1674\" style=\"\">improves reproducibility and auditability<\/li>\n<\/ul>\n<h3 data-end=\"1766\" data-section-id=\"1fqup4l\" data-start=\"1724\" style=\"\">B) Training pipeline (Secure TrainOps)<\/h3>\n<p data-end=\"1792\" data-start=\"1767\" style=\"\"><strong data-end=\"1792\" data-start=\"1767\">Controls to integrate<\/strong><\/p>\n<ul data-end=\"2034\" data-start=\"1793\">\n<li data-end=\"1854\" data-section-id=\"u706uy\" data-start=\"1793\" style=\"\">locked dependencies (pin versions) + vulnerability scanning<\/li>\n<li data-end=\"1909\" data-section-id=\"jae4ck\" data-start=\"1855\" style=\"\">secrets management (no secrets in notebooks\/CI logs)<\/li>\n<li data-end=\"1969\" data-section-id=\"1ngqy5d\" data-start=\"1910\" style=\"\">robust evaluation (attack suites, robustness regressions)<\/li>\n<li data-end=\"2034\" data-section-id=\"tjscnr\" data-start=\"1970\" style=\"\">privacy checks (membership inference risk tests if applicable)<\/li>\n<\/ul>\n<p data-end=\"2056\" data-start=\"2036\" style=\"\"><strong data-end=\"2056\" data-start=\"2036\">Security outcome<\/strong><\/p>\n<ul data-end=\"2138\" data-start=\"2057\">\n<li data-end=\"2086\" data-section-id=\"1f2fb4a\" data-start=\"2057\" style=\"\">prevents compromised builds<\/li>\n<li data-end=\"2138\" data-section-id=\"15uwehy\" data-start=\"2087\" style=\"\">prevents \u201crobustness drift\u201d across model versions<\/li>\n<\/ul>\n<h3 data-end=\"2208\" data-section-id=\"1jx5of9\" data-start=\"2145\" style=\"\">C) Model registry and artifact management (Secure ModelOps)<\/h3>\n<p data-end=\"2234\" data-start=\"2209\" style=\"\"><strong data-end=\"2234\" data-start=\"2209\">Controls to integrate<\/strong><\/p>\n<ul data-end=\"2430\" data-start=\"2235\">\n<li data-end=\"2278\" data-section-id=\"6xlag1\" data-start=\"2235\" style=\"\">signed model artifacts + integrity checks<\/li>\n<li data-end=\"2322\" data-section-id=\"2xxjv0\" data-start=\"2279\" style=\"\">RBAC for promotion (dev \u2192 staging \u2192 prod)<\/li>\n<li data-end=\"2373\" data-section-id=\"10ekqy5\" data-start=\"2323\" style=\"\">model cards \/ risk reports attached to artifacts<\/li>\n<li data-end=\"2430\" data-section-id=\"1825j9r\" data-start=\"2374\" style=\"\">SBOM (software bill of materials) for model containers<\/li>\n<\/ul>\n<p data-end=\"2452\" data-start=\"2432\" style=\"\"><strong data-end=\"2452\" data-start=\"2432\">Security outcome<\/strong><\/p>\n<ul data-end=\"2506\" data-start=\"2453\">\n<li data-end=\"2506\" data-section-id=\"420wli\" data-start=\"2453\" style=\"\">stops artifact tampering and unauthorized promotion<\/li>\n<\/ul>\n<h3 data-end=\"2559\" data-section-id=\"13xiy3e\" data-start=\"2513\" style=\"\">D) Deployment + serving (Secure DeployOps)<\/h3>\n<p data-end=\"2585\" data-start=\"2560\" style=\"\"><strong data-end=\"2585\" data-start=\"2560\">Controls to integrate<\/strong><\/p>\n<ul data-end=\"2797\" data-start=\"2586\">\n<li data-end=\"2644\" data-section-id=\"19u27ex\" data-start=\"2586\" style=\"\">API gateway protection (auth, rate limits, payload caps)<\/li>\n<li data-end=\"2701\" data-section-id=\"4kxuif\" data-start=\"2645\" style=\"\">output shaping (limit logits\/probabilities by default)<\/li>\n<li data-end=\"2766\" data-section-id=\"1rsayu6\" data-start=\"2702\" style=\"\">runtime hardening (non-root containers, restricted networking)<\/li>\n<li data-end=\"2797\" data-section-id=\"9isaz0\" data-start=\"2767\" style=\"\">canary + rollback automation<\/li>\n<\/ul>\n<p data-end=\"2819\" data-start=\"2799\" style=\"\"><strong data-end=\"2819\" data-start=\"2799\">Security outcome<\/strong><\/p>\n<ul data-end=\"2867\" data-start=\"2820\">\n<li data-end=\"2867\" data-section-id=\"1spb832\" data-start=\"2820\" style=\"\">reduces extraction, probing, DoS, and leakage<\/li>\n<\/ul>\n<h3 data-end=\"2925\" data-section-id=\"1a7xret\" data-start=\"2874\" style=\"\">E) Monitoring + response (Secure Observability)<\/h3>\n<p data-end=\"2951\" data-start=\"2926\" style=\"\"><strong data-end=\"2951\" data-start=\"2926\">Controls to integrate<\/strong><\/p>\n<ul data-end=\"3133\" data-start=\"2952\">\n<li data-end=\"3004\" data-section-id=\"1eipm4v\" data-start=\"2952\" style=\"\">drift monitoring (data + prediction distributions)<\/li>\n<li data-end=\"3055\" data-section-id=\"1ppai1t\" data-start=\"3005\" style=\"\">attack signals (probing, near-duplicate queries)<\/li>\n<li data-end=\"3082\" data-section-id=\"njp4iq\" data-start=\"3056\" style=\"\">alert routing + runbooks<\/li>\n<li data-end=\"3133\" data-section-id=\"wkm20j\" data-start=\"3083\" style=\"\">retraining quarantine (feedback loops are gated)<\/li>\n<\/ul>\n<p data-end=\"3155\" data-start=\"3135\" style=\"\"><strong data-end=\"3155\" data-start=\"3135\">Security outcome<\/strong><\/p>\n<ul data-end=\"3202\" data-start=\"3156\">\n<li data-end=\"3202\" data-section-id=\"1m3rmdl\" data-start=\"3156\" style=\"\">reduces time-to-detect and impact of attacks<\/li>\n<\/ul>\n<h2 data-end=\"3279\" data-section-id=\"1s4yqfi\" data-start=\"3209\" style=\"\">4) MLOps frameworks and where security plugs in (practical mapping)<\/h2>\n<p data-end=\"3379\" data-start=\"3281\" style=\"\">You can implement Secure MLOps using common orchestration stacks (the security logic is portable):<\/p>\n<h3 data-end=\"3418\" data-section-id=\"vtucu1\" data-start=\"3381\" style=\"\">Common orchestration\/build layers<\/h3>\n<ul data-end=\"3845\" data-start=\"3419\">\n<li data-end=\"3496\" data-section-id=\"rim5pu\" data-start=\"3419\" style=\"\"><strong data-end=\"3448\" data-start=\"3421\">Pipeline orchestrators:<\/strong> Kubeflow Pipelines, Airflow, Prefect, Dagster<\/li>\n<li data-end=\"3546\" data-section-id=\"1gz10e1\" data-start=\"3497\" style=\"\"><strong data-end=\"3509\" data-start=\"3499\">CI\/CD:<\/strong> GitHub Actions, GitLab CI, Jenkins<\/li>\n<li data-end=\"3594\" data-section-id=\"7pocag\" data-start=\"3547\" style=\"\"><strong data-end=\"3573\" data-start=\"3549\">Container + runtime:<\/strong> Docker, Kubernetes<\/li>\n<li data-end=\"3677\" data-section-id=\"ndrggr\" data-start=\"3595\" style=\"\"><strong data-end=\"3616\" data-start=\"3597\">Model registry:<\/strong> MLflow, SageMaker Model Registry, Vertex AI Model Registry<\/li>\n<li data-end=\"3762\" data-section-id=\"nwphvw\" data-start=\"3678\" style=\"\"><strong data-end=\"3699\" data-start=\"3680\">Feature stores:<\/strong> Feast, Tecton, SageMaker Feature Store, Vertex Feature Store<\/li>\n<li data-end=\"3845\" data-section-id=\"db70vy\" data-start=\"3763\" style=\"\"><strong data-end=\"3780\" data-start=\"3765\">Monitoring:<\/strong> Prometheus\/Grafana, OpenTelemetry, ELK, plus ML monitoring tools<\/li>\n<\/ul>\n<p data-end=\"3933\" data-start=\"3847\" style=\"\"><strong data-end=\"3862\" data-start=\"3847\">Key lesson:<\/strong> \u201cFramework\u201d choice is less important than <strong data-end=\"3932\" data-start=\"3905\">where you enforce gates<\/strong>.<\/p>\n<h2 data-end=\"3988\" data-section-id=\"1p11gcm\" data-start=\"3940\" style=\"\">5) The \u201cSecurity Gates\u201d model (best practice)<\/h2>\n<p data-end=\"4077\" data-start=\"3990\" style=\"\">A secure MLOps design uses <strong data-end=\"4026\" data-start=\"4017\">gates<\/strong>: automated checks that must pass before promotion.<\/p>\n<h3 data-end=\"4119\" data-section-id=\"2zk4h7\" data-start=\"4079\" style=\"\">Gate 1 \u2014 Data Gate (before training)<\/h3>\n<ul data-end=\"4236\" data-start=\"4120\">\n<li data-end=\"4135\" data-section-id=\"5o4e28\" data-start=\"4120\" style=\"\">schema valid?<\/li>\n<li data-end=\"4177\" data-section-id=\"6vg5ki\" data-start=\"4136\" style=\"\">missingness and drift within tolerance?<\/li>\n<li data-end=\"4205\" data-section-id=\"1yz6beg\" data-start=\"4178\" style=\"\">data provenance verified?<\/li>\n<li data-end=\"4236\" data-section-id=\"1jfieoi\" data-start=\"4206\" style=\"\">label integrity checks pass?<\/li>\n<\/ul>\n<p data-end=\"4297\" data-start=\"4238\" style=\"\"><strong data-end=\"4265\" data-start=\"4238\">Pass \u2192 training allowed<\/strong><strong data-end=\"4297\" data-start=\"4268\">Fail \u2192 quarantine + alert<\/strong><\/p>\n<h3 data-end=\"4347\" data-section-id=\"xc7urp\" data-start=\"4304\" style=\"\">Gate 2 \u2014 Training Gate (after training)<\/h3>\n<ul data-end=\"4497\" data-start=\"4348\">\n<li data-end=\"4378\" data-section-id=\"1dduyiv\" data-start=\"4348\" style=\"\">clean metrics meet baseline?<\/li>\n<li data-end=\"4415\" data-section-id=\"1nvxnd4\" data-start=\"4379\" style=\"\">robustness metrics meet threshold?<\/li>\n<li data-end=\"4455\" data-section-id=\"4kyodv\" data-start=\"4416\" style=\"\">privacy risk checks pass (if needed)?<\/li>\n<li data-end=\"4497\" data-section-id=\"n0k1zf\" data-start=\"4456\" style=\"\">reproducibility: run metadata captured?<\/li>\n<\/ul>\n<p data-end=\"4553\" data-start=\"4499\" style=\"\"><strong data-end=\"4524\" data-start=\"4499\">Pass \u2192 register model<\/strong><strong data-end=\"4553\" data-start=\"4527\">Fail \u2192 block promotion<\/strong><\/p>\n<h3 data-end=\"4606\" data-section-id=\"6qqq66\" data-start=\"4560\" style=\"\">Gate 3 \u2014 Artifact Gate (before deployment)<\/h3>\n<ul data-end=\"4711\" data-start=\"4607\">\n<li data-end=\"4631\" data-section-id=\"1vh2mlw\" data-start=\"4607\" style=\"\">model artifact signed?<\/li>\n<li data-end=\"4661\" data-section-id=\"1hza9i0\" data-start=\"4632\" style=\"\">container scanned for CVEs?<\/li>\n<li data-end=\"4679\" data-section-id=\"h7t6ob\" data-start=\"4662\" style=\"\">SBOM generated?<\/li>\n<li data-end=\"4711\" data-section-id=\"1bwydd0\" data-start=\"4680\" style=\"\">registry permissions correct?<\/li>\n<\/ul>\n<p data-end=\"4777\" data-start=\"4713\" style=\"\"><strong data-end=\"4748\" data-start=\"4713\">Pass \u2192 deploy to staging\/canary<\/strong><strong data-end=\"4777\" data-start=\"4751\">Fail \u2192 stop deployment<\/strong><\/p>\n<h3 data-end=\"4834\" data-section-id=\"siw9xm\" data-start=\"4784\" style=\"\">Gate 4 \u2014 Deployment Gate (progressive rollout)<\/h3>\n<ul data-end=\"4933\" data-start=\"4835\">\n<li data-end=\"4888\" data-section-id=\"n88kji\" data-start=\"4835\" style=\"\">canary health (latency, error rates, output shifts)<\/li>\n<li data-end=\"4910\" data-section-id=\"1jt640t\" data-start=\"4889\" style=\"\">drift checks stable<\/li>\n<li data-end=\"4933\" data-section-id=\"14c41qi\" data-start=\"4911\" style=\"\">abuse signals absent<\/li>\n<\/ul>\n<p data-end=\"4994\" data-start=\"4935\" style=\"\"><strong data-end=\"4958\" data-start=\"4935\">Pass \u2192 ramp to prod<\/strong><strong data-end=\"4994\" data-start=\"4961\">Fail \u2192 rollback automatically<\/strong><\/p>\n<h2 data-end=\"5063\" data-section-id=\"1s6z2g2\" data-start=\"5001\" style=\"\">6) Security controls you should standardize in Secure MLOps<\/h2>\n<h3 data-end=\"5102\" data-section-id=\"dqcflw\" data-start=\"5065\" style=\"\">A) Identity and access management<\/h3>\n<ul data-end=\"5297\" data-start=\"5103\">\n<li data-end=\"5150\" data-section-id=\"mwc7xo\" data-start=\"5103\" style=\"\">service-to-service auth (mTLS where possible)<\/li>\n<li data-end=\"5252\" data-section-id=\"8z1z5j\" data-start=\"5151\" style=\"\">least privilege IAM roles for:\n<ul data-end=\"5252\" data-start=\"5186\">\n<li data-end=\"5201\" data-section-id=\"1137wl8\" data-start=\"5186\" style=\"\">training jobs<\/li>\n<li data-end=\"5227\" data-section-id=\"yo935r\" data-start=\"5204\" style=\"\">feature store writers<\/li>\n<li data-end=\"5252\" data-section-id=\"1x9zj8g\" data-start=\"5230\" style=\"\">deployment pipelines<\/li>\n<\/ul>\n<\/li>\n<li data-end=\"5297\" data-section-id=\"1xlkxc4\" data-start=\"5253\" style=\"\">secrets stored in vaults, never in CI logs<\/li>\n<\/ul>\n<h3 data-end=\"5324\" data-section-id=\"1r6fuyc\" data-start=\"5299\" style=\"\">B) Artifact integrity<\/h3>\n<ul data-end=\"5452\" data-start=\"5325\">\n<li data-end=\"5359\" data-section-id=\"zy33e0\" data-start=\"5325\" style=\"\">model signing (hash + signature)<\/li>\n<li data-end=\"5399\" data-section-id=\"qjav92\" data-start=\"5360\" style=\"\">locked model registry promotion rules<\/li>\n<li data-end=\"5452\" data-section-id=\"11x7b3w\" data-start=\"5400\" style=\"\">reproducible builds (same inputs \u2192 same artifacts)<\/li>\n<\/ul>\n<h3 data-end=\"5494\" data-section-id=\"1ilsltl\" data-start=\"5454\" style=\"\">C) Dependency and container security<\/h3>\n<ul data-end=\"5638\" data-start=\"5495\">\n<li data-end=\"5536\" data-section-id=\"1j6q5b\" data-start=\"5495\" style=\"\">pin Python packages + scan dependencies<\/li>\n<li data-end=\"5563\" data-section-id=\"1k6cn7t\" data-start=\"5537\" style=\"\">build minimal containers<\/li>\n<li data-end=\"5597\" data-section-id=\"1glf9wq\" data-start=\"5564\" style=\"\">scan images for vulnerabilities<\/li>\n<li data-end=\"5638\" data-section-id=\"1w4hn6o\" data-start=\"5598\" style=\"\">enforce no \u201clatest\u201d tags in production<\/li>\n<\/ul>\n<h3 data-end=\"5676\" data-section-id=\"cn3g1g\" data-start=\"5640\" style=\"\">D) Robustness regression testing<\/h3>\n<ul data-end=\"5830\" data-start=\"5677\">\n<li data-end=\"5729\" data-section-id=\"4jcqzo\" data-start=\"5677\" style=\"\">standardized attack suite (FGSM + PGD + one extra)<\/li>\n<li data-end=\"5767\" data-section-id=\"pkm5ms\" data-start=\"5730\" style=\"\">robustness thresholds by risk level<\/li>\n<li data-end=\"5830\" data-section-id=\"uid04k\" data-start=\"5768\" style=\"\">store results alongside model artifact (\u201crobustness report\u201d)<\/li>\n<\/ul>\n<h3 data-end=\"5869\" data-section-id=\"1rmq07s\" data-start=\"5832\" style=\"\">E) Monitoring + incident response<\/h3>\n<ul data-end=\"6036\" data-start=\"5870\">\n<li data-end=\"5962\" data-section-id=\"1tcovr4\" data-start=\"5870\" style=\"\">runbooks for:\n<ul data-end=\"5962\" data-start=\"5888\">\n<li data-end=\"5902\" data-section-id=\"1sqkfzm\" data-start=\"5888\" style=\"\">drift spikes<\/li>\n<li data-end=\"5934\" data-section-id=\"jli0hf\" data-start=\"5905\" style=\"\">probing\/extraction attempts<\/li>\n<li data-end=\"5962\" data-section-id=\"avnet0\" data-start=\"5937\" style=\"\">sudden performance drop<\/li>\n<\/ul>\n<\/li>\n<li data-end=\"5992\" data-section-id=\"ur6stf\" data-start=\"5963\" style=\"\">automated rollback triggers<\/li>\n<li data-end=\"6036\" data-section-id=\"169jtrp\" data-start=\"5993\" style=\"\">quarantine suspicious data for retraining<\/li>\n<\/ul>\n<h2 data-end=\"6106\" data-section-id=\"1614ydy\" data-start=\"6043\" style=\"\">7) ELMS-ready \u201cSecure MLOps Blueprint\u201d (copy\/paste template)<\/h2>\n<p data-end=\"6127\" data-start=\"6108\" style=\"\"><strong data-end=\"6127\" data-start=\"6108\">Pipeline stages<\/strong><\/p>\n<ol data-end=\"6468\" data-start=\"6128\">\n<li data-end=\"6170\" data-section-id=\"p1j647\" data-start=\"6128\" style=\"\">Ingest \u2192 validate \u2192 quarantine\/reject<\/li>\n<li data-end=\"6232\" data-section-id=\"5s4ctf\" data-start=\"6171\" style=\"\">Feature build \u2192 integrity checks \u2192 versioned feature set<\/li>\n<li data-end=\"6283\" data-section-id=\"1x76ubf\" data-start=\"6233\" style=\"\">Train \u2192 robust eval \u2192 privacy eval (optional)<\/li>\n<li data-end=\"6352\" data-section-id=\"p6hkkx\" data-start=\"6284\" style=\"\">Register model \u2192 sign artifact \u2192 store model card + risk report<\/li>\n<li data-end=\"6397\" data-section-id=\"1hhvhe7\" data-start=\"6353\" style=\"\">Deploy canary \u2192 monitor \u2192 ramp\/rollback<\/li>\n<li data-end=\"6468\" data-section-id=\"135mc5a\" data-start=\"6398\" style=\"\">Post-deploy monitoring \u2192 feedback quarantine \u2192 retrain with gates<\/li>\n<\/ol>\n<p data-end=\"6489\" data-start=\"6470\" style=\"\"><strong data-end=\"6489\" data-start=\"6470\">Mandatory gates<\/strong><\/p>\n<ul data-end=\"6548\" data-start=\"6490\">\n<li data-end=\"6548\" data-section-id=\"b2gwj7\" data-start=\"6490\" style=\"\">Data Gate, Training Gate, Artifact Gate, Deployment Gate<\/li>\n<\/ul>\n<p data-end=\"6578\" data-start=\"6550\" style=\"\"><strong data-end=\"6578\" data-start=\"6550\">Minimum security metrics<\/strong><\/p>\n<ul data-end=\"6741\" data-start=\"6579\">\n<li data-end=\"6595\" data-section-id=\"l11cgg\" data-start=\"6579\" style=\"\">clean accuracy<\/li>\n<li data-end=\"6629\" data-section-id=\"113zuam\" data-start=\"6596\" style=\"\">PGD robust accuracy (\u03b5 defined)<\/li>\n<li data-end=\"6663\" data-section-id=\"7ey9fu\" data-start=\"6630\" style=\"\">drift score thresholds (PSI\/KL)<\/li>\n<li data-end=\"6691\" data-section-id=\"1i6or6e\" data-start=\"6664\" style=\"\">API abuse rate thresholds<\/li>\n<li data-end=\"6741\" data-section-id=\"rhs6fq\" data-start=\"6692\" style=\"\">incident MTTR target (time to rollback\/contain)<\/li>\n<\/ul>\n","protected":false},"template":"","class_list":["post-97826","tva_lesson","type-tva_lesson","status-publish","hentry","tva_courses-adversarial-ml-security-threats","post-wrapper","thrv_wrapper"],"acf":[],"_links":{"self":[{"href":"https:\/\/staging.nanoschool.in\/wp\/wp-json\/wp\/v2\/tva_lesson\/97826","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/staging.nanoschool.in\/wp\/wp-json\/wp\/v2\/tva_lesson"}],"about":[{"href":"https:\/\/staging.nanoschool.in\/wp\/wp-json\/wp\/v2\/types\/tva_lesson"}],"wp:attachment":[{"href":"https:\/\/staging.nanoschool.in\/wp\/wp-json\/wp\/v2\/media?parent=97826"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}