Home All services
Start a project → Call Now

DevSecOps consulting services

Build security checks into your pipeline — and decide who may skip them.

Every CI/CD platform (the system that builds, tests and releases your code) documents a way to switch a security check off. We settle what blocks a release, what only warns, and who may bypass a check, with a record.

  • A written reason for every check
  • Your engineers merge every change
  • We reply within one working day.
  • NIST SP 800-218 SSDF v1.1
  • OWASP Top 10 CI/CD Security Risks
  • OWASP DevSecOps Guideline
  • SLSA v1.2
  • SEBI CSCRF
Illustration: a software pipeline drawn as a looping conveyor of blank code blocks passing build, test and release stations, where a slim glass security gate scans each block and a small shield stamps it

In brief

What it is
A fixed-scope project deciding, for each security check in your release pipeline, whether it stops a release or only warns, and who may skip it.
Why it matters
A "required" check can still be skipped. It only becomes a gate, able to stop a release, once you decide who may get past it.
What you get
The gate register (every gate and its settings, in writing) and the exact changes your engineers make, each with its reason and cited clause.

What we settle

Three decisions for every security check.

Fast releases come from checks people trust: a check blocks only when it has earned it, and an urgent fix gets a recorded way through.

Block or warn

A check blocks only if it meets Google's published bar: easy to act on, never stopping correct code, old findings cleared first so no build breaks on untouched code. Otherwise it warns; Google counts a warning nobody acts on as an "effective false positive".

Who may bypass it

We list everyone who can get past each check, from branch protection, rulesets and skip settings.

What a bypass records

Each exception carries a reason, a duration, a named approver and a periodic review, logged in your own tracking system.

The off switch is a feature

Every platform ships a documented off switch.

A team adds a static analysis job (SAST: a tool that reads source code for flaws), marks the check required and records the control as in place. Nobody writes down who may turn it off; whoever last edited the pipeline file and repository settings already decided.

So the choice is never gate or no gate, but a governed bypass or an undocumented one. CERT-In's Guidelines for Secure Application Design, Development, Implementation & Operations say it at section 6.3: "Implement and maintain secure build and deployment pipelines with robust enforcement of security checks."

The documented ways out

Seven ways around a check, and where each is set.

We look for each one at scoping.

Switches and where each is set.
SwitchEffect on the gateWhere it is set
GitLab allow_failureThe job shows "an orange warning (status_warning)", yet the pipeline passes..gitlab-ci.yml, per job.
GitHub Actions continue-on-errorTurns a blocking job or step into an advisory one.The workflow file, per job or per step.
A required check that reports skippedA job whose if: condition evaluates false reports skipped, which satisfies the rule.The job's conditions, not the branch protection.
GitHub branch protection defaultsRules don't apply to repository admins or custom roles holding the bypass permission."Do not allow bypassing the above settings" covers them.
GitHub rulesets bypass listAdmins, owners, maintain or write roles, teams, GitHub Apps and Dependabot, each "Always allow" or "For pull requests only"; only the second still requires a pull request.The ruleset's bypass list.
GitLab skip directives[ci skip], [skip ci] or the ci.skip push option (which "does not skip merge request pipelines") runs no jobs; an empty pipeline shows Skipped.The commit message or push, at a developer's keyboard.
git commit --no-verify"Bypass the pre-commit and commit-msg hooks."Git itself. A server-side check is a separate control.
GitLab's control over [skip ci]"Pipeline execution policies and scan execution policies can restrict or disable the [skip ci] directive."GitLab pipeline and scan execution policies.

How we work

We write the specification. Your team makes the change.

  1. Send the files

    Your pipeline files, not a description, plus your branch protection or ruleset export.

  2. Read what exists

    Which required checks can report "skipped", every switch in front of a security check, and a count of findings per tool and repository, so you know beforehand how much work blocking would create. The count is your tools' output, not our risk rating.

  3. Write the exception path

    If your exception rules don't exist yet, we write them before any check starts blocking.

  4. Decide each check

    Block or only warn, judged against Google's published bar, with the severity that blocks a release set in writing.

  5. Hand over

    The gate register, the change specification, and a note linking each gate to the clause you cite, saying what it does and does not show an auditor.

Stage by stage

Where each check sits, and the published task it serves.

Each task comes from NIST SP 800-218, the Secure Software Development Framework (SSDF) Version 1.1, February 2022, which "does not prescribe how to implement each practice" and is not a checklist. CERT-In section 3.2 lists the SSDF among four secure development models.

Pre-commit, commit and pull request

OWASP's pre-commit chapter covers secrets management and linting; NIST PS.1.1 covers "source code, executable code, and configuration-as-code". OWASP's vulnerability scanning chapter covers SAST, DAST (testing the running application), interactive testing, software composition analysis, and infrastructure and container scanning. NIST PW.7.2 Example 6 asks your automated tools to find and fix unsafe practices continuously as code is checked in: your toolchain, not a service SecWiz runs.

  • GitHub code scanning merge protection fires on alerts "of a severity that is defined in the ruleset": the repository owns the threshold.
  • OWASP's CICD-SEC-1: "Where possible, avoid exclusion of user accounts or branches from branch protection rules."
  • OWASP: run unreviewed code on isolated nodes without secrets; avoid running fork pipelines, or require manual approval.
Build settings are a security decision

PW.6.2 asks you to choose and approve compiler, interpreter and build tool settings, then use only those. Example 2 is a "clean build", with warnings treated as errors except named false positives; Example 3, "Perform all builds in a dedicated, highly controlled build environment"; Example 7, approved settings as configuration-as-code. CERT-In section 6.1 asks for security measures on Docker, Kubernetes and Jenkins, and no changes to audited code or configurations. CICD-SEC-4's Indirect Poisoned Pipeline Execution runs through Makefiles, build scripts, test files and linter configurations, so they are in scope.

Artifacts, provenance and the software bill of materials

PS.2.1 asks you to give software acquirers integrity verification information; PS.3.2, to keep provenance data for each release, for example in a software bill of materials (SBOM). SLSA v1.2, the current Approved specification, has a Build track (L0 to L3) and a Source track (L1 to L4). It does not show whether developers coded securely, and "provenance doesn't do anything unless somebody inspects it", so verification gets a named owner and a named behavior on failure. CICD-SEC-9 asks for third-party hashes and signatures to be checked before use.

CERT-In section 4.15 asks organizations to keep an SBOM and avoid vulnerable components. SEBI's Cybersecurity and Cyber Resilience Framework (CSCRF), GV.SC.S5, requires an SBOM for new software procurements of core and critical activities, kept updated with every upgrade or change, and lists nine contents, among them transitive dependencies, component hashes and "Known unknown (where a SBOM does not include a full dependency graph)". If one cannot be obtained for a legacy or proprietary system, the Board, Partners or Proprietor must approve that "with proper limitation, rationale, and risk management approach". A default generator meets some items, not all.

Testing, pass or fail criteria and exceptions

PW.8.2 puts dynamic vulnerability testing, and tests for previously reported vulnerabilities, into the automated suite. PO.4 is "Define and Use Criteria for Software Security Checks"; PO.4.2 adds periodic review of automated decisions and records protected from alteration. PO.3.1 asks you to specify each toolchain's tools and how they connect; PO.3.3, to make tools produce evidence. If that specification doesn't exist yet, we write it. A draft SSDF Version 1.2 (17 December 2025) is not final.

What Indian regulators say, and whom it reaches
  • CERT-In issues its application security guidelines (cert-in.org.in/PDF/Application_Security_Guidelines.pdf) "for the entities engaged in developing or outsourcing application development (especially for government sector entities)" (section 2).
  • SEBI CSCRF PR.DS.S5 guideline 3 recommends that REs (regulated entities) adopt "methodologies like DevSecOps", applicable to "MIIs and Qualified REs (Mandatory)"; mid-size REs onboarded to SEBI's Market SOC are exempt. Guideline 1 asks for separate production and non-production environments. The vulnerability lists in PR.IP.S15 (OWASP Top 10, SANS Top 25 CWE) are SEBI's words, not our test basis.
  • RBI (Digital Payment Security Controls) Directions, 2021, RBI/2020-21/74, 18 February 2021, for Scheduled Commercial Banks (excluding Regional Rural Banks), Small Finance Banks, Payments Banks and Credit card issuing NBFCs: clause 20 asks for "secure by design"; clause 21 sets security objectives per phase, including "testing including source code review"; clause 28 asks for security controls to be tested before launch or moving to production.

Scope and limits

What this engagement does not do.

We change nothing ourselves

SecWiz applies nothing to your repositories or pipeline. Your engineers make every change.

We don't run the gate

SecWiz does not operate the gate or hold a triage queue for it. If you want it run day to day, this is the wrong purchase.

Not an audit

SecWiz is not CERT-In empanelled. Where a clause requires an empanelled auditor, our note says so, and your auditor decides.

A bounded engagement. Monitoring set-up (SOC readiness), incident response and ongoing managed security retainers are separate engagements.

Related: vulnerability triage for existing findings, secure code review, threat modeling, cloud security review, GRC and compliance for the audit side, fintech and banking, and all defensive security services.

FAQ

Questions about DevSecOps consulting.

One decision per security check in your CI/CD pipeline: block or warn, who may bypass it, and what that bypass records, checkable against the OWASP DevSecOps Guideline and NIST SP 800-218. You get the exact settings and the reason for each; your engineers, not SecWiz, apply them.

No. SecWiz does not operate the gate or hold a triage queue for it; the scope names who does after handover. Monitoring set-up (SOC readiness), incident response and ongoing managed security retainers are separate engagements.

Not necessarily. GitHub states that "Required status checks must have a successful, skipped, or neutral status before collaborators can make changes to a protected branch." A job whose condition evaluates false reports skipped, so the pull request goes green with nothing having run.

On Tricorder, Google's analysis platform, a check needs less than 10% effective false positives to appear at code review. To break the build it must be actionable, "Produce no effective false positives (the analysis should never stop the build for correct code)", and flag only correctness issues, with existing instances cleaned up first. Otherwise it warns.

Only if it has no exception path. NIST PO.4.1 Example 5 asks you to record approvals, rejections and exception requests. SEBI's CSCRF (PR.IP.S3 guideline 3, for "All REs except small-size, self-certification REs") asks for justification, duration, a granting process, an approving authority and periodic review. CERT-In (section 4.7) asks for deviation conditions to be identified in advance. The urgent fix ships through that path, with a record.

No. SEBI's CSCRF (circular SEBI/HO/ITD-1/ITD_CSC_EXT/P/CIR/2024/113, 20 August 2024), PR.IP.S15 guideline 1, requires DAST, SAST and a "Software bill of material (SBOM)" for critical-system software, for "All REs (Mandatory)". Guideline 5 requires compliance for in-house developed software to be submitted by a CERT-In empanelled IS auditing organization. SecWiz is not one, so your auditor decides.

On opposite sides of the production boundary. CERT-In's guidelines (section 4.8) put a static scan of source code before deployment to production, then a dynamic scan of the live application, so a DAST job with nothing deployed checks nothing. SEBI's CSCRF, PR.IP.S15 guideline 2, adds that "Application security testing shall also include API security and API discovery".

The pipeline files, not a description: every .gitlab-ci.yml, .github/workflows file or Jenkinsfile in scope, plus the templates, Makefiles, build scripts, test files and linter configurations they call. Then your ruleset or branch protection export with its bypass list, where builds run, whether fork pull requests reach secrets, and a baseline count of findings per tool.

Let's talk

Send the pipeline file, not a description of it.

Share your pipeline files and bypass list. We'll tell you which checks can block today, which can't yet, or that the exception path must come first. We reply within one working day.