Causality for 3d CNN

I was wondering how would causality be applied for conv3d:

    self.frontend3D = nn.Sequential(
        nn.Conv3d(1, self.frontend_nout, kernel_size=(5, 7, 7), stride=(1, 2, 2), padding=(2, 3, 3), bias=False),
        nn.BatchNorm3d(self.frontend_nout),
        frontend_relu,
        nn.MaxPool3d(kernel_size=(1, 3, 3), stride=(1, 2, 2), padding=(0, 1, 1)))


def forward(self, x, lengths):
    B, C, T, H, W = x.size()
    if type(lengths) == int:
        lengths = [lengths] * B
    x = self.frontend3D(x)