GitHub Issue Visibility - Private Repository
Quick Answer
Q: Will GitHub issues be publicly viewable?
A: No. Your repository is private, so issues are only visible to users you explicitly add to the GitHub organization with Read access.
How GitHub Private Repository Access Works
What "Private" Means
- Only users who are members of your GitHub organization can view anything
- Issues, code, PRs, wikis - all private
- Even issue links won't work for non-members (they see "404 Not Found")
Current Setup: Private Repository
Repository: cattreedev/lantern_app (private)
Who can view issues:
- ✅ Organization owners/admins
- ✅ Users you invite with "Read" access or higher
- ❌ Public (no one outside your organization)
- ❌ Anonymous users (can't even see issue exists)
Access Levels
| Role | View Issues | Comment | Create Issues | Edit Code |
|---|---|---|---|---|
| Read | ✅ Yes | ✅ Yes | ✅ Yes* | ❌ No |
| Write | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Admin | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Public | ❌ No | ❌ No | ❌ No | ❌ No |
*GitHub account required to create issues manually, but bot/web form creates them programmatically
What Happens When Users Click GitHub Links
For Organization Members (Read Access)
When a user with Read access clicks a GitHub issue link:
- ✅ GitHub asks them to sign in (if not already)
- ✅ Verifies they're an organization member
- ✅ Shows the full issue with all details
- ✅ They can comment, react, subscribe to updates
For Non-Members (Public)
When someone without access clicks a GitHub issue link:
- ❌ GitHub shows "404 - Not Found"
- ❌ No information about the issue
- ❌ Can't see title, description, or even that it exists
- ❌ No option to request access
GitHub protects private content completely.
Your Implementation: Hybrid Approach
Submission Methods
Discord Bot (Internal Team)
- Users submit via
/featureor/bugcommands - Posts to Discord channels (#features, #bugs)
- Creates GitHub issue (private)
- Who can see Discord posts: Anyone in your Discord server
- Who can see GitHub issues: Only organization members
Web Form (Authenticated Users)
- Users submit via app at
#/feedback - Requires Firebase authentication
- Creates GitHub issue (private)
- Who can see GitHub issues: Only organization members
Result:
- Team can discuss in Discord (internal server)
- Issues tracked privately in GitHub
- Non-technical staff can view issues via GitHub (Read access)
- Public cannot see anything
Adding Users to GitHub Organization
Option 1: Add Individual Users
For each employee:
- GitHub.com → Your organization → People → Invite member
- Enter their GitHub username or email
- Select role: Read (recommended for non-technical staff)
- Send invitation
What happens:
- User receives email invitation
- They accept → gain Read access
- Can now view all issues/code in private repos
Option 2: Create Teams
Better for larger organizations:
- GitHub.com → Your organization → Teams → New team
- Create team: "Employees"
- Add repository with Read access
- Add members to team
Benefits:
- Easier to manage many users
- One-click access for all team members
- Can create multiple teams (e.g., "Developers" with Write, "Staff" with Read)
Security Implications
What Users Can Do with Read Access
✅ Safe Actions:
- View all issues (private repository)
- View all code
- Browse commits and PRs
- Comment on issues
- Create issues manually (via GitHub UI)
- Download code
- Fork repository (creates private fork)
❌ Cannot Do (GitHub Blocks These):
- Push code changes
- Merge pull requests
- Modify settings
- Delete issues
- Change labels
- Manage webhooks
- Add/remove users
Key Point: GitHub enforces permissions automatically. Even if a user tries to push code, GitHub rejects it. No manual policing needed.
For Non-Technical Staff
Q: Can non-technical staff accidentally break the code?
A: No. GitHub prevents it at the platform level.
Even if they:
- Try to edit files via GitHub UI → Blocked
- Clone repository and try to push → Blocked
- Use git commands → Blocked
They can only view and comment.
Testing Issue Visibility
Test 1: As Organization Member
- Click GitHub issue link from Discord/web form
- Expected: Issue loads, you can view all details
Test 2: As Non-Member
- Sign out of GitHub (or use incognito)
- Click same GitHub issue link
- Expected: "404 - Not Found" error
Test 3: Invite Someone with Read Access
- Invite a colleague with Read role
- They accept invitation
- They click issue link
- Expected: They can view issue but cannot edit code
Future: Public Submissions
If you later want public community feedback, the documented roadmap (in discord-bot/README.md) recommends:
Create separate public issues repository:
- New repo:
cattreedev/lantern_app-issues(public) - Main codebase stays private:
cattreedev/lantern_app(private) - Bot routes submissions:
- Internal employees → private repo
- Public users → public issues repo
- Manually promote public issues to internal tracker
Benefits:
- Code security maintained (private repo)
- Community engagement (public issues repo)
- Control over what's shared publicly
This is a future enhancement - not currently implemented.
Comparison: Public vs Private Repository
| Feature | Private Repo (Current) | Public Repo (Alternative) |
|---|---|---|
| Code Visibility | Organization only | Anyone on internet |
| Issue Visibility | Organization only | Anyone on internet |
| Who Can Submit Issues | Anyone (via bot/form) | Anyone (directly or via bot) |
| Who Can View Issues | Organization members | Anyone on internet |
| GitHub Links Work For | Organization members | Anyone |
| Security | High (code hidden) | Low (code visible) |
| Use Case | Internal company | Open source projects |
Your choice: Private repo = Correct for internal product development.
Access Control Best Practices
Do This ✅
- Add all employees to organization with Read access
- Use "Read" role for non-technical staff
- Use "Write" role only for developers
- Use "Admin" role only for tech leads
- Review organization members quarterly
Don't Do This ❌
- Don't make repository public to "make links work" - this exposes your code
- Don't give everyone Write access - limits security
- Don't share GitHub tokens - they're equivalent to passwords
- Don't skip invitations - all access must go through GitHub
Summary
| Question | Answer |
|---|---|
| Are GitHub issues public? | No, repository is private |
| Who can see issues? | Only organization members (Read access+) |
| Do I need to give everyone access? | Yes, invite employees to organization |
| Can non-technical staff edit code? | No, GitHub blocks Write access |
| What happens when non-members click links? | They see "404 - Not Found" |
| Is this secure? | Yes, GitHub enforces permissions strictly |
| Can I make it public later? | Yes, but not recommended (use separate public issues repo instead) |
Quick Setup: Adding Your Team
Step-by-step for first time:
List all employees who should see issues
- Developers
- Product managers
- Support staff
- Executives
- Anyone who needs visibility
Gather GitHub usernames
- If they don't have GitHub, they create free account
- GitHub signup: https://github.com/join
Invite to organization
GitHub.com → cattreedev organization → People → Invite member - Enter username or email - Role: Read - Send invitationThey accept invitation
- They receive email
- Click "Join organization"
- Done
Test access
- They visit: https://github.com/cattreedev/lantern_app
- Should see repository (not 404)
- Can view all issues
Time per user: ~2 minutes
Documentation for Your Team
When onboarding new employees, tell them:
"To view our issue tracker and codebase:
- Create a GitHub account (if you don't have one): https://github.com/join
- Email your GitHub username to [admin]
- You'll receive an organization invitation
- Accept it
- You can now view (but not edit) our repository: https://github.com/cattreedev/lantern_app/issues
Note: You can comment on issues but cannot modify code. This is intentional for security."
Need Help?
- GitHub Organization Settings: https://github.com/organizations/cattreedev/settings/member_privileges
- GitHub Access Docs: https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization
- Team Management: https://docs.github.com/en/organizations/organizing-members-into-teams
This ensures your code stays secure while giving your team the visibility they need.