Adding a New Policy
This guide explains how to add a new policy to the Justice Digital Data and Science Policy Hub using GitHub’s web interface. You don’t need any special software - just a web browser!
Prerequisites
- GitHub account with access to the repository
- Your policy content ready to add
- Understanding of the policy details (owner, sponsor, dates, etc.)
Step 1: Go to GitHub
- Open your web browser
- Go to https://github.com/ministryofjustice/JDDS-Policy-Hub
- You should see the repository home page
Step 2: Navigate to the Policies Folder
- Click on the Code tab (near the top of the page)
- Look for the folder structure - you’ll see folders like
source/,config/, etc. - Click on the
source/folder - Click on the
policies/folder inside - You’ll now see the existing policy files
Step 3: Create a New File
- In the
policies/folder, click the Add file button (top right) - Select Create new file from the dropdown menu
Step 4: Name Your Policy File
In the filename field at the top, enter your policy name using this format:
Format: policy-name.html.md.erb
Rules:
- Use lowercase letters only
- Use hyphens (-) instead of spaces
- Always end with .html.md.erb
Examples:
- data-protection-policy.html.md.erb
- information-security-policy.html.md.erb
- accessibility-policy.html.md.erb
Step 5: Use the Policy Template
Start at Choose a Policy Template to confirm the approved starter for your policy. For now, the hub’s standard option is the MoJ Policy Template. Here’s the basic frontmatter to include at the top of your file:
---
title: [Your Policy Name]
owner_slack: "#digital-compliance-team"
last_reviewed_on: 2026-06-03
review_in: 6 months
---
Then follow the structure and sections defined in the MoJ Policy Template page, replacing all placeholders [...] with your actual content.
Key Sections to Include
Your policy should contain these sections (use the template as reference):
- Policy Details – A table with identifier, owner, sponsor, dates, version
- Purpose – Why the policy exists and what it aims to achieve
- Scope – What and who the policy applies to
- Policy Statements – The mandatory principles, standards and rules
- Roles and Responsibilities – Who is responsible for what
- Monitoring and Compliance – How adherence will be measured
- Exceptions – How deviations can be approved
- Breach of Policy – Consequences of non-compliance
- Related Policies and Guidance – Links to supporting documentation
- Review and Update – When and how the policy will be reviewed
Automatic Navigation
Good news: Your new policy will automatically appear in the side navigation once you add it to the policies/ folder. You don’t need to manually configure anything—the system automatically discovers all policy files and includes them in the navigation menu.
Step 6: Preview Your File
As you type, GitHub shows a preview. Look for:
- Spelling mistakes
- Proper table formatting (make sure | characters are correct)
- All square brackets [...] have been filled in
Step 7: Save Your Draft (Commit)
- Scroll down to the bottom of the page
- You’ll see the Commit new file section
- In the commit message field, write a brief description:
Add Data Protection Policy - Make sure Create a new branch for this commit and start a pull request is selected
- Click Commit new file
Step 8: Create a Pull Request
A pull request page will appear. This is where you ask the team to review your policy before it’s published.
- The title field already has your commit message - that’s fine
- In the description, add any helpful notes for reviewers:
This is a new data protection policy following the MoJ guidelines. Policy owner approval is pending. - Click Create pull request
Step 9: Wait for Review
The admin team will now review your policy:
- They may ask questions or request changes
- You’ll receive notifications in GitHub
- You can respond to comments directly
- Once approved, they’ll merge your policy
- Your policy will automatically appear on the website!
Tips for Writing Your Policy
Keep it Clear
- Use short, simple sentences
- Avoid jargon (explain technical terms if you must use them)
- Use bullet points for lists
- Use plain language
Formatting
- Bold text: Wrap in
**text** - Italic text: Wrap in
*text* - Links: Use
[Text](URL)
Tables
Tables are easy in GitHub. Use this format:
| Column 1 | Column 2 |
|----------|----------|
| Your data | More data |
| Row 2 | Data |
Dates
Always use this format: DD/MM/YYYY
Examples: - 01/06/2026 ✓ - 1/6/2026 ✗ - 06/01/2026 ✗
Examples to Review
Before submitting your policy, look at these examples in the repository:
Common Questions
What’s the difference between owner and sponsor?
- Policy Owner: The person who manages the policy day-to-day and keeps it updated
- Policy Sponsor: A senior leader who approves and supports the policy
How often should I review the policy?
All policies should be reviewed at least once a year. Set the “Date of Next Review” to be one year from the “Date Created”.
What if I make a mistake?
No problem! You can: - Ask the admin team to fix it - Make another pull request with corrections - They’ll help you
Can I save and come back later?
Unfortunately, GitHub’s web editor doesn’t have a save draft feature. But you can: 1. Copy your text to a Word document first 2. Come back to GitHub and paste it when ready 3. This way you won’t lose your work
Checklist Before Submitting
Before clicking “Create pull request”, check:
- File name is correct (lowercase with hyphens, ends with
.html.md.erb) - All
[...]placeholders have been replaced - Policy identifier follows format (JDDS-POL##)
- Dates are in DD/MM/YYYY format
- All tables have proper formatting with
|characters - Spelling and grammar are correct
- Links are working (if applicable)
- Policy owner and sponsor have approved the content
Need Help?
Contact the Digital Standards Team:
- Email: DigitalStandards@justice.gov.uk
- Slack: #standards-team
We’re happy to help with any questions!