Skip to content

Commit 31e0a43

Browse files
Merge branch 'main' into flowfuse-ai-expert
2 parents 3301fa4 + d340db3 commit 31e0a43

9 files changed

Lines changed: 152 additions & 73 deletions

File tree

.github/.trivyignore.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Trivy ignore file
2+
# Add patterns to ignore specific vulnerabilities

.github/trivy.yaml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Trivy Security Scanner Configuration
2+
# Documentation: https://aquasecurity.github.io/trivy/latest/docs/configuration/
3+
4+
scan:
5+
scanners:
6+
- vuln
7+
- secret
8+
9+
skip-dirs:
10+
- node_modules
11+
- .git
12+
- coverage
13+
- ci
14+
15+
severity:
16+
- CRITICAL
17+
- HIGH
18+
- MEDIUM
19+
- LOW
20+
21+
pkg:
22+
types:
23+
- os
24+
- library
25+
include-dev-deps: true
26+
27+
format: "sarif"
28+
ignorefile: ".github/.trivyignore.yaml"
29+
exit-code: 0

.github/workflows/sast-scan.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: SAST Scan
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
workflow_dispatch:
11+
12+
concurrency:
13+
group: ${{ github.workflow }}-${{ github.ref }}
14+
cancel-in-progress: true
15+
16+
jobs:
17+
scan:
18+
name: SAST Scan
19+
uses : flowfuse/github-actions-workflows/.github/workflows/sast_scan.yaml@v0.46.0

src/handbook/company/communication.md

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -160,9 +160,30 @@ Example standup messages:
160160

161161
#### Monday Team Catchup
162162

163-
We hold an optional team catchup every Monday. This meeting is a chance to share company updates, get to know each other, and talk about anything you want to share, both professionally and personally.
164-
165-
You can add simple items to the agenda, such as what you did over the weekend or anything that kept you busy. Adding items also helps set the order of conversation and makes sure everyone has space to speak.
163+
1. Purpose & Attendance
164+
Our Monday meeting serves a dual purpose: maintaining organizational alignment as we scale and fostering a connected team culture.
165+
* First 10 Minutes (Mandatory): All team members are expected to join for the Department Spotlight to stay informed on collective progress and high-level goals.
166+
* Remainder of Meeting (Optional): Following the spotlight, the meeting transitions into an open team catch-up. You are welcome to stay to share personal or professional updates, or depart if you need to focus on other priorities.
167+
168+
2. Format: Department Spotlights
169+
Each Monday, one department will lead a 5–10 minute presentation. These briefings are intended to be concise, high-level, and focused on information that impacts the broader organization.
170+
The rotation will follow a four-week cycle:
171+
* Week 1: Company Update – Focusing on organizational health and "big picture" goals by the CEO
172+
* Week 2: Technology & Product – Demonstrating what we are building and the "why" behind it by the Engineering & Product leadership
173+
* Week 3: Sales – Reporting on growth, revenue, and direct customer insights by Sales leadership
174+
* Week 4: Marketing – Highlighting how we are communicating our value to the market by marketing leadership
175+
176+
3. Presenter Guidelines
177+
To maintain a high-energy pace and respect the team's time:
178+
179+
* Content: Focus on three pillars: Recent Wins, Current Challenges, and Upcoming Milestones.
180+
* Time Limit: 10 minutes maximum (including 2 minutes for Q&A).
181+
* Visuals: Keep to 3–5 high-impact, data-informed slides.
182+
* Deadline: Share your slides in the #General channel by EOD Friday prior to your presentation.
183+
184+
4. Open Agenda (Optional Segment)
185+
For the latter portion of the meeting, team members are encouraged to add items to the agenda. This is an informal space to share weekend highlights, personal news, or professional updates that keep you busy.
186+
Effective Date: This new format begins Monday, February 2nd, 2026.
166187

167188
#### Strategy Call
168189

src/handbook/operations/index.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,19 @@ or go bankrupt a table is maintained with where to go in case of service disrupt
2929
| AWS | Hosting for FlowFuse Cloud | ? | - |
3030
| GitHub | Task management, planning and code development | - | - |
3131

32+
## Calendar Conventions
33+
34+
To help team members quickly identify meeting types in calendar apps and menubar tools, use these emoji conventions when creating calendar entries:
35+
36+
- 🎥 - Google Meet meetings (add this emoji to the event title for quick visual identification)
37+
38+
This convention is particularly helpful for:
39+
- Quick visual scanning in menubar calendar apps
40+
- Distinguishing Google Meet from Slack Huddles at a glance
41+
- Identifying external-facing meetings quickly
42+
43+
**Note:** For internal face-to-face discussions, prefer Slack Huddles in public channels over Google Meet when possible, as noted in the services table above.
44+
3245
## Email
3346

3447
While there are a number of email aliases and google groups used throughout the organization, there is some activities across operations, people operations, and finance management that requires that activities be done with external parties. As a redundancy, rather than use a person's individual email (e.g. zj@), we use a google group to avoid the risk of information getting lost. For example, for some government filings, we use ops@.

src/handbook/peopleops/coaching-plans.md

Lines changed: 23 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -4,53 +4,39 @@ navTitle: Coaching Plans
44

55
# Coaching Plans
66

7-
A Coaching Plan is tool for managers to aid in development of their team
7+
A Coaching Plan is a tool managers use to support a team member’s development.
8+
It helps them grow in their role through a structured plan, built and completed together with their manager’s mentorship.
89
members, helping them grow in their role and improve their performance through a
9-
structured plan to be completed with the managers mentorship. Unlike
10-
[Performance Improvement Plans (PIPs)][pip], coaching plans are proactive, focus
11-
on growth, and come without the formal burden of a PIP.
10+
Coaching Plans can be used proactively for career development and role growth, and they can also be used to address performance concerns with support and clear expectations.
1211

1312
## Purpose and Philosophy
1413

15-
Coaching plans are built on the principle that all team members have potential
16-
for growth. Either in their job skills, company value alignment, or the
17-
operational execution of their role. Coaching plans are a positive force that
18-
will be deployed for team members to prepare them for career advancement, job
19-
role changes, and other changes.
14+
Coaching Plans are built on the belief that all team members have potential for growth — in their job skills, alignment with company values, or execution of their role.
2015

21-
## When to Use a Coaching Plan
22-
23-
A coaching plan should be initiated by a team members manager when:
16+
Coaching Plans are a positive, intentional investment. They are used to help team members prepare for career advancement, role changes, and evolving expectations as the company grows.
2417

25-
- A team member shows potential for growth
26-
- The growth area is specific and coachable
27-
- The identified area for growth isn't a role deficiency, and a [PIP][pip] is in
28-
order
29-
- Minor performance areas need attention but don't warrant formal PIP
30-
intervention
31-
- A team member expresses interest in expanding their responsibilities or transitioning to a new role with additional responsibilities
32-
- The team member is to be prepared for future role progression
33-
- You observe behaviors or skills that could benefit from focused development
18+
## When to Use a Coaching Plan
3419

35-
## Coaching Plan vs. Performance Improvement Plan
20+
A Coaching Plan may be initiated by a team member’s manager when:
3621

37-
**Coaching Plans** are:
22+
- A team member shows potential for growth or expanded impact
23+
- The growth area is specific, observable, and coachable
24+
- Expectations need to be clarified and supported through structured development
25+
- One or more performance areas would benefit from focused improvement
26+
- A team member expresses interest in expanding responsibilities or transitioning to a role with additional scope
27+
- A team member is preparing for future role progression
28+
- A manager observes behaviors or skills that could benefit from intentional development
3829

39-
- **Proactive** - Focused on development and growth
40-
- **Supportive** - Emphasize mentorship and guidance
41-
- **Opportunity-based** - Address areas for improvement before they become
42-
problems
43-
- **Growth-oriented** - Aimed at expanding capabilities and preparing for
44-
advancement or addressing problems before they grow too big
45-
- **Collaborative** - Employee actively participates in goal-setting
30+
## Coaching Plan Characteristics
4631

47-
**Performance Improvement Plans** are:
32+
FlowFuse's Coaching Plans are designed to be:
4833

49-
- **Reactive** - Address existing performance deficiencies
50-
- **Formal** - Structured process with documented consequences
51-
- **Problem-focused** - Correct performance that falls below standards
52-
- **Corrective** - Aimed at bringing performance up to acceptable levels
53-
- **Prescriptive** - Clear expectations with defined outcomes
34+
- **Development-focused** — Centered on growth and learning, whether proactive or in response to changing expectations
35+
- **Supportive** — Emphasize mentorship, guidance, and partnership from managers
36+
- **Opportunity-based** — Frame areas for improvement as opportunities for growth and skill-building
37+
- **Growth-oriented** — Aimed at expanding capabilities and supporting team members in meeting and exceeding role expectations
38+
- **Collaborative** — Team members actively participate in goal-setting and development activities
39+
- **Clear and structured** — Shared expectations with documented goals, milestones, and review points
5440

5541
## Creating a Coaching Plan
5642

@@ -88,8 +74,6 @@ While coaching plans are less formal than PIPs, it's important to:
8874
- Record achievements and milestones
8975
- Maintain confidentiality while sharing appropriate updates with HR and
9076
management
91-
- Coaching plans are only shared with: the team member, manager, the managers'
92-
manager, and HR
77+
- Coaching Plans are only shared with the team member, their manager, the manager’s manager, and HR
9378

94-
[pip]: /handbook/peopleops/organization/#performance-improvement-plan-(pip)
9579
[smart]: https://www.atlassian.com/blog/productivity/how-to-write-smart-goals

src/handbook/peopleops/leave.md

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,20 @@ navTitle: Holiday & Leave
77
## Logging time off
88

99
When taking more than 3 days off consecutively, tell (don't ask) your manager.
10-
This ensure scheduling of work and operations continue to run smoothly without
11-
you. When taking over 2 weeks of consecutively seek approval from your manager.
10+
This ensures scheduling of work and operations can continue to run smoothly
11+
without you. When taking more than 2 consecutive weeks off, seek approval from
12+
your manager.
1213

1314
Before you can take time off you should _always_:
1415

1516
- Log your time off
1617
[in Deel](https://help.letsdeel.com/hc/en-gb/articles/4409044013201-How-do-I-request-time-off-)
17-
- Deel disallows [overages on the contracted days off](#holiday-policy), if
18+
- Deel disallows [overages on the contracted days off](#holiday-policy). If
1819
you cannot file the complete length, file up to the allowance.
19-
- Add an 'Out of office' appointment in your personal Google Calendar, and
20+
- This is a limitation in Deel and does not limit the amount of time off you may take.
21+
- Add an 'Out of Office' appointment in your personal Google Calendar, and
2022
decline all meetings automatically.
23+
- Add your Out of Office to your [team calendar](#team-calendars) as `Name OOO`.
2124
- Add a 'Vacation responder' to your Gmail account, and provide another contact
2225
person within your team.
2326
1. Open **Gmail** in your browser.
@@ -29,17 +32,28 @@ Before you can take time off you should _always_:
2932
- **Subject** (e.g., _"Out of Office"_)
3033
- **Message** (e.g., _"I am out of the office and without email access
3134
through [Day], [Date]. Please contact [team member] in my absence."_)
32-
- Add an event to the shared 'FlowFuse Team Events' calendar showing all the
33-
days you will not be working. This makes it easier for our team to understand
34-
who is going to be away each week.
35-
- Inform fellow team members of your time off, and hand over work that's
36-
distributed.
35+
- Inform fellow team members of your time off, and hand over work that’s distributed.
36+
37+
### Team Calendars
3738

38-
PTO requests in Deel will be routed to your manager.
39+
We use team-specific calendars to track team meetings, events, and team-level availability.
40+
41+
Out of Office time should be visible in two places:
42+
- Your **personal calendar** so collaborators across the company can see your availability.
43+
- Your **team calendar** so your immediate team has clear visibility into coverage and capacity.
44+
45+
This is intentional and not considered duplication. Each calendar serves a different audience.
46+
47+
- [Engineering](https://calendar.google.com/calendar/u/0?cid=Y19iMTZjMTdjYzlmNmZiMTYyZmI0NmUxMDIyNzNkNTFmMWQ4ZjI0MThkMzVmZTc5ZmExNGU0NTE3M2NkMDE5NTVlQGdyb3VwLmNhbGVuZGFyLmdvb2dsZS5jb20)
48+
- [Marketing](https://calendar.google.com/calendar/u/0?cid=Y19iY2UwZjY2NzE3ZTQ3YjAzZjgxZjliNTdjNWNhYTkyYTZlOTM1ZTg5NGU5MDdiOTZjNmY5N2I4ODA3MjllMDQ5QGdyb3VwLmNhbGVuZGFyLmdvb2dsZS5jb20)
49+
- [Sales](https://calendar.google.com/calendar/u/0?cid=Y19lNThhNThlZDlmNjMyOGQ2YzcwN2VmMWM1MWYxMGU0MzAwMWY4NzhlY2Y0MTI2NTRmY2QzNDYyY2QwMjhiYzFlQGdyb3VwLmNhbGVuZGFyLmdvb2dsZS5jb20)
50+
- [BizOps](https://calendar.google.com/calendar/u/0?cid=Y18wMGU5ZjcyZDE2ZTg0YzU1OTY2ODYxMTAxNmVlMjY2YmRlNzlmMDU3ZjAyMWJjNmU4ZTQ3ZjE0YzE2YjYyZGZiQGdyb3VwLmNhbGVuZGFyLmdvb2dsZS5jb20)
51+
52+
If you own a recurring event, place it on the most appropriate calendar for visibility. In some cases, this may still be the FlowFuse Team Events calendar.
3953

4054
## Holiday Policy
4155

42-
FlowFuse has a unlimited time off policy. Taking vacation is encouraged for all
56+
FlowFuse has an unlimited time off policy. Taking vacation is encouraged for all
4357
team members. To prevent an undefined number of vacation days to start a race to
4458
the bottom, we recommend each team member to take a minimum of 25 days a year,
4559
and at least 5 days a quarter.
@@ -62,7 +76,7 @@ If you live in a country where a statutory Parental Leave benefit is available,
6276
you will be required to claim statutory Parental Leave pay (if you are
6377
eligible).
6478

65-
Any employee can take up to 6-weeks if they wish without requiring manager
79+
Any employee can take up to 6 weeks if they wish without requiring manager
6680
approval. We recommend a minimum of 4 weeks, but recognize it's a personal
6781
choice to make. Further leave can be requested, but should be discussed with
6882
your manager. Inform your manager of the expected new family member at least 16

src/handbook/peopleops/organization.md

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -99,30 +99,27 @@ All cases of underperformance must be documented by the manager through email to
9999
the CEO and CTO with the timespan of a potential plan created by the employee's
100100
manager.
101101

102-
### Performance Improvement Plan (PIP)
102+
### Coaching Plan for Performance Support
103103

104-
After the plan formulated by the manager has not returned the employee to performance
105-
that is considered on par with the expectations of their role the CEO and manager
106-
will create a PIP for the employee.
104+
When additional structure or support is needed to help a team member meet the
105+
expectations of their role, the manager may create a [Coaching Plan](/handbook/peopleops/coaching-plans/) in partnership
106+
with the employee.
107107

108-
**A PIP is a genuine opportunity from FlowFuse to the employee to get where they need to be.** While other companies
109-
use PIPs solely to provide the legal documentation for termination, at FlowFuse a
110-
PIP is intended to set the bar for both the manager and employee and have transparency
111-
around expected performance.
108+
**A Coaching Plan is a genuine investment by FlowFuse in supporting a team member’s success.**
109+
FlowFuse believes in supporting team members through structured development and clear expectations.
110+
A Coaching Plan sets shared expectations for both the manager and team member, while providing the support, feedback, and mentorship needed to succeed.
112111

113-
The PIP will outline the specific areas of underperformance, the specific steps
114-
the employee must take to improve, and the timeline for improvement. The employee
115-
will be required to sign the PIP and agree to its terms.
112+
The Coaching Plan will outline the areas for improvement, the actions to be taken, the support and resources provided, and the expected review timeline.
116113

117-
If an employee has been on a PIP before and for the same reasons enters this stage
118-
of the underperformance policy again the CEO and manager can opt for not providing
119-
a PIP. This ensures that a PIP is a genuine change.
114+
If an employee has previously completed a Coaching Plan for the same concerns and re-enters
115+
this stage, the company may determine that a different approach is appropriate.
116+
This helps ensure Coaching Plans remain a meaningful tool for growth.
120117

121118
### Termination
122119

123-
If an employee's performance does not improve, or if they violate the terms of
124-
their PIP, they may be terminated. Termination will be based on a documented
125-
pattern of underperformance or unacceptable behavior.
120+
If performance does not improve despite sustained coaching and support, or if serious
121+
policy violations occur, termination may be considered.
122+
Termination will be based on a documented pattern of underperformance or unacceptable behavior.
126123

127124
## CEO underperformance
128125

src/handbook/peopleops/performance-review.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ employee can still grow. This text is shared with each individual employee.
1313
While this performance review is written down, each manager should be communicating
1414
feedback regularly to minimize the chance for surprises during the written review.
1515

16-
The performance review process will be skipped in the following circumstances; new employees who have been with the company for less than 6 months at the time of the review cycle, employees who have been on extended leave, employees who are currently on a [Performance Improvement Plan (PIP)](/handbook/peopleops/organization/#performance-improvement-plan-(pip)),
17-
or employees who are in the middle of role transitions or organizational changes that would make a standard review inappropriate. In cases where the formal review is skipped, managers should still provide informal feedback and check-ins to ensure ongoing communication and support.
16+
The performance review process will be skipped in the following circumstances: new employees who have been with the company for fewer than 6 months at the time of the review cycle, employees who have been on extended leave, and employees who are currently engaged in a [Coaching Plan](/handbook/peopleops/coaching-plans/) where focused development work is already underway.
17+
In cases where the formal review is skipped, managers should still provide informal feedback and check-ins to ensure ongoing communication and support.
1818

1919
## Structure
2020

0 commit comments

Comments
 (0)