Skip to content
@Brown-University-Library

Brown University Library

Brown Library GitHub Best practices

Security

Main security message:

Never Commit Sensitive Information — even if the repository is private.

How to reliably do this?

Keep private things out of the github code directory

  • Keep out of code, and the github code directory:

    • passwords
    • API keys
    • server paths
    • database-structure info (where reasonably possible)
    • private settings
    • shell-scripts that set environmental variables
    • log-files (which can sometimes contain sensitive info)
  • Implementation: One common pattern is to have a "project_outer_directory" that contains these things (as well as the "project_code_directory"), and only commit the "project_code_directory" to github.

  • Utilize environment variables: Store sensitive information in environment variables, set outside of the git-directory and thus not able to be accidentally committed. All languages support common ways of doing this.

  • Do not depend on the .gitignore file for security: Rather, get in the habit of thinking of the .gitignore file as keeping messy-unnecessary-cruft out of github (like virtual-environments or auto-compiled *.pyc files), not as basic security. Instead, keep the sensitive info out of the github directory in the first place.

Other recommended GitHub practices...

  • Include a README, preferably with an explanation of the repo's Purpose, Usage, and Installation
  • Make it clear which team at BUL "owns" the repo
  • Add a "Description"
  • Include "dependencies" in such a way that github can auto-scan them and notify you of vulnerabilities
  • If you have a dotenv with private info — as noted above it should not be in the repo — but it's useful to have a sample_dotenv.txt file for users to get a sense of what kind of info is required.
  • the main branch is special: it should always work.
  • There should be a "release" for every version of the code actually deployed. (That makes it easier to know which commit to revert back to if there's a problem.)

See also:

This document is a draft & will be undergoing revisions.

Pinned Loading

  1. bdrxml bdrxml Public

    Reading and writing XML for the Fedora based BDR.

    Python 1 3

Repositories

Showing 10 of 238 repositories
  • Brown-University-Library/bdr_deposits_uploader_project’s past year of commit activity
    Python 0 0 3 0 Updated May 15, 2025
  • brown-hugo-starter Public Forked from ericmurphyxyz/hugo-starter-theme

    Starter theme for Hugo static sites/prototypes, with some additions for BUL/CDS.

    Brown-University-Library/brown-hugo-starter’s past year of commit activity
    HTML 0 32 0 0 Updated May 15, 2025
  • u2 Public

    make these recently declassified aerial photographs that document the Nile Delta and Nile Valley publicly available via a website that shows their location and how to download them from a digital repository

    Brown-University-Library/u2’s past year of commit activity
    HTML 0 0 0 1 Updated May 15, 2025
  • Brown-University-Library/usepweb_project’s past year of commit activity
    HTML 0 MIT 5 14 3 Updated May 13, 2025
  • bot_challenge_page Public Forked from samvera-labs/bot_challenge_page

    Show a bot challenge interstitial for Rails, usually using Cloudflare Turnstile

    Brown-University-Library/bot_challenge_page’s past year of commit activity
    Ruby 0 MIT 2 0 0 Updated May 1, 2025
  • usep-data Public

    inscriptions and related data files for 'http://library.brown.edu/projects/usep/'

    Brown-University-Library/usep-data’s past year of commit activity
    XSLT 2 22 49 1 Updated Apr 30, 2025
  • newframeworks Public

    documentation site for the New Frameworks project

    Brown-University-Library/newframeworks’s past year of commit activity
    HTML 0 0 0 0 Updated Apr 29, 2025
  • geodata_un_retail_idx Public

    Time series for UN International Civil Service Commission Retail Price Index

    Brown-University-Library/geodata_un_retail_idx’s past year of commit activity
    Python 0 0 0 0 Updated Apr 28, 2025
  • geodata_ossdb Public Forked from frankpd/nyc_geodatabase

    Ocean State Spatial Database: database, documentation, and scripts

    Brown-University-Library/geodata_ossdb’s past year of commit activity
    Jupyter Notebook 5 4 0 1 Updated Apr 28, 2025
  • Brown-University-Library/site_checker_project’s past year of commit activity
    CSS 0 MIT 0 1 0 Updated Apr 26, 2025

Top languages

Loading…

Most used topics

Loading…